summaryrefslogtreecommitdiff
path: root/client/inputforms/AdvancedSearching.java
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2009-02-18 17:33:22 +0000
committerPaul Buetow <paul@buetow.org>2009-02-18 17:33:22 +0000
commit4722100cba287b164957c658c2e035783e20c963 (patch)
tree35733fd3e50aeeb493e38ceaea83521a4710f0ac /client/inputforms/AdvancedSearching.java
parent61f7175cc3e51c0afaf63e380d03824a77464ba8 (diff)
moved sources
Diffstat (limited to 'client/inputforms/AdvancedSearching.java')
-rw-r--r--client/inputforms/AdvancedSearching.java141
1 files changed, 0 insertions, 141 deletions
diff --git a/client/inputforms/AdvancedSearching.java b/client/inputforms/AdvancedSearching.java
deleted file mode 100644
index 1b39320..0000000
--- a/client/inputforms/AdvancedSearching.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * A 1.4 application that uses SpringLayout to create a forms-type layout.
- * Other files required: SpringUtilities.java.
- */
-
-package client.inputforms;
-
-import java.awt.event.*;
-import java.util.*;
-import javax.swing.*;
-
-import client.NetCalendarClient;
-import client.helper.DateSpinner;
-import client.helper.GUIHelper;
-
-
-import shared.remotecall.*;
-
-/**
- * This class contains all the GUI components of the advanced searching dialog.
- * Its used for using the andvanced searching options of the client such as using
- * Java regular expressions on specific elements of the calendar database instead and
- * date ranges.
- * @author buetow
- *
- */
-public class AdvancedSearching extends InputForm {
- private final static long serialVersionUID = 1L;
-
- // Static elements which are the same on all AdvancedSearching objects!
- private final static String BUTTON_GET_ALL = "Get all";
- private final static String[] labels = {"Date string: ", "Description: ", "Category: ", "Place: ",
- "Use date ranging: ", "Date range from: ", "Date range to: "
- };
- private final static int iNumPairs = labels.length;
- private final static int iTextFields = labels.length - 3;
- private final static int iCheckBoxes = labels.length - 2;
-
- /**
- * Create the input form window and show it.
- * @param netCalendarClient Specifies the current calendar client session window.
- */
- public AdvancedSearching(NetCalendarClient netCalendarClient) {
- super("Advanced searching", netCalendarClient);
- initComponents();
- pack();
- setVisible(true);
- }
-
- /**
- * Initializes all the GUI components.
- */
- protected void initComponents() {
- super.initComponents();
- //Create and populate the panel.
- JPanel jPanel = new JPanel(new SpringLayout());
-
- ActionListener actionListenerFields = new ActionListener() {
- public void actionPerformed(ActionEvent event) {
- submit();
- }
- };
-
- vecFields = new Vector();
- for (int i = 0; i < iNumPairs; ++i) {
- JLabel jLable = new JLabel(labels[i], JLabel.TRAILING);
- jPanel.add(jLable);
- JComponent jComponent = null;
-
- if (i < iTextFields) {
- JTextField jTextField = new JTextField(InputForm.TEXTFIELD_LENGTH);
- jTextField.addActionListener(actionListenerFields);
- jComponent = jTextField;
-
- } else if (i < iCheckBoxes) {
- jComponent = new JCheckBox();
-
- } else {
- jComponent = new DateSpinner();
- }
-
- jLable.setLabelFor(jComponent);
- jPanel.add(jComponent);
-
- vecFields.add(jComponent);
- }
-
- //Lay out the panel.
- GUIHelper.makeCompactGrid(jPanel,
- iNumPairs, 2, // iRows, iCols
- 6, 6, // iInitX, iInitY
- 6, 6); // iXPad, iYPad
-
- JButton jButtonGetAll = new JButton(BUTTON_GET_ALL);
-
- ActionListener actionListenerButtons = new ActionListener() {
- public void actionPerformed(ActionEvent event) {
- if (event.getActionCommand().equals(BUTTON_CLEAR))
- for (int i = 0; i < iTextFields; ++i)
- ((JTextField) vecFields.get(i)).setText("");
-
- else if (event.getActionCommand().equals(BUTTON_GET_ALL))
- netCalendarClient.update(new ClientRequest(ClientRequest.REQUEST_ALL_EVENTS));
-
- }
- };
-
- jButtonClear.addActionListener(actionListenerButtons);
- jButtonGetAll.addActionListener(actionListenerButtons);
- jPanelButtons.add(jButtonGetAll);
-
- JSplitPane jSplitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT);
- jSplitPane.setTopComponent(jPanel);
- jSplitPane.setBottomComponent(jPanelButtons);
- jSplitPane.setDividerSize(0);
-
- setContentPane(jSplitPane);
- }
-
- /**
- * This method is invoked if the enter key is pressed or if the submit button
- * has been pressed. It starts a client request relating to the user's input of
- * the text fields.
- */
- protected void submit() {
- ClientRequest clientRequest = new ClientRequest();
- clientRequest.setRegexpDate(((JTextField) vecFields.get(0)).getText());
- clientRequest.setRegexpDescription(((JTextField) vecFields.get(1)).getText());
- clientRequest.setRegexpCategory(((JTextField) vecFields.get(2)).getText());
- clientRequest.setRegexpPlace(((JTextField) vecFields.get(3)).getText());
-
- JCheckBox jCheckBox = (JCheckBox) vecFields.get(4);
- if (jCheckBox.isSelected()) {
- Date dateRangeFrom = ((DateSpinner) vecFields.get(5)).getDate();
- Date dateRangeTo = ((DateSpinner) vecFields.get(6)).getDate();
- clientRequest.setDateRange(dateRangeFrom, dateRangeTo);
- }
-
- netCalendarClient.update(clientRequest);
- }
-}