/// <summary>
 /// Used to set a numeric value in a JTextField.  This method will check the value
 /// and see if it is missing, and if so, will set the JTextField to "".  Otherwise
 /// the text field will be filled with the value of the specified int. </summary>
 /// <param name="i"> the int to check and possibly put in the text field. </param>
 /// <param name="textField"> the JTextField to put the value in. </param>
 public static void checkAndSet(int i, JTextField textField)
 {
     if (StateMod_Util.isMissing(i))
     {
         textField.setText("");
     }
     else
     {
         textField.setText("" + i);
     }
 }
 /// <summary>
 /// Used to set a numeric value in a JTextField.  This method will check the value
 /// and see if it is missing, and if so, will set the JTextField to "".  Otherwise
 /// the text field will be filled with the value of the specified double. </summary>
 /// <param name="d"> the double to check and possibly put in the text field. </param>
 /// <param name="textField"> the JTextField to put the value in. </param>
 public static void checkAndSet(double d, JTextField textField)
 {
     if (StateMod_Util.isMissing(d))
     {
         textField.setText("");
     }
     else
     {
         textField.setText("" + d);
     }
 }
        /// <summary>
        /// Processes a table selection (either via a mouse press or programmatically
        /// from selectTableIndex() by writing the old data back to the data set component
        /// and getting the next selection's data out of the data and displaying it on the form. </summary>
        /// <param name="index"> the index of the reservoir to display on the form. </param>
        private void processTableSelection(int index)
        {
            /*
             * Message.printStatus(1, "", "Current: " + __currentStationIndex);
             * Message.printStatus(1, "", "Last: " + __lastStationIndex);
             * Message.printStatus(1, "", "Orig: " + __worksheet.getOriginalRowNumber(index));
             * Message.printStatus(1, "", "Index: " + index);
             */
            __lastStationIndex    = __currentStationIndex;
            __currentStationIndex = __worksheet.getOriginalRowNumber(index);

            saveLastRecord();

            if (__worksheet.getSelectedRow() == -1)
            {
                JGUIUtil.disableComponents(__disables, true);
                return;
            }

            JGUIUtil.enableComponents(__disables, __textUneditables, __editable);

            StateMod_RiverNetworkNode rnn = (StateMod_RiverNetworkNode)__riverNetworkNodesVector[__currentStationIndex];

            __idJTextField.setText(rnn.getID());
            __nameJTextField.setText(rnn.getName());
            __nodeJTextField.setText(rnn.getCstadn());
            __commentJTextField.setText(rnn.getComment());
            checkViewButtonState();
        }
        /// <summary>
        /// Displays the annotation values from the annotation proplist in the components in the GUI.
        /// </summary>
        private void displayPropListValues()
        {
            PropList p = (PropList)__node.getAssociatedObject();

            string temp = null;
            string val  = null;

            val = p.getValue("Text").Trim();
            __textTextField.setText(val);

            val  = p.getValue("Point").Trim();
            temp = StringUtil.getToken(val, ",", 0, 0);
            __xTextField.setText(StringUtil.formatString(temp, "%20.6f").Trim());
            temp = StringUtil.getToken(val, ",", 0, 1);
            __yTextField.setText(StringUtil.formatString(temp, "%20.6f").Trim());

            val = p.getValue("TextPosition").Trim();
            __textPositionComboBox.select(val);

            val = p.getValue("FontName").Trim();
            __fontNameComboBox.select(val);

            val = p.getValue("OriginalFontSize").Trim();
            __fontSizeTextField.setText(val);

            val = p.getValue("FontStyle").Trim();
            __fontStyleComboBox.select(val);
        }
        public void actionPerformed(ActionEvent actionevent)
        {
            string s = textField.getText().Trim();

            if (s.Length > 0)
            {
                ServerGUI.getMinecraftServer(mcServerGui).addCommand(s, mcServerGui);
            }
            textField.setText("");
        }
 /// <summary>
 /// Set the messages that are visible in the bottom of the window. </summary>
 /// <param name="message"> General message string. </param>
 /// <param name="status"> Status string(e.g., "Ready", "Wait". </param>
 private void setMessages(string message, string status)
 {
     if (!string.ReferenceEquals(message, null))
     {
         __messageJTextField.setText(message);
     }
     if (!string.ReferenceEquals(status, null))
     {
         __statusJTextField.setText(status);
     }
 }
        /// <summary>
        /// Sets up the GUI.
        /// </summary>
        private void setupGUI()
        {
            string routine = "StateMod_QueryTool_JFrame.setupGUI";

            addWindowListener(this);

            GridBagLayout gb = new GridBagLayout();

            JPanel main_JPanel = new JPanel();

            main_JPanel.setLayout(gb);
            JGUIUtil.addComponent(main_JPanel, new JLabel("Component:"), 0, 0, 1, 1, 0, 0, GridBagConstraints.NONE, GridBagConstraints.EAST);
            __component_JComboBox = new SimpleJComboBox(false);
            __component_JComboBox.add("Diversion Stations");
            JGUIUtil.addComponent(main_JPanel, __component_JComboBox, 1, 0, 2, 1, 0, 0, GridBagConstraints.NONE, GridBagConstraints.WEST);

            try
            {
                __input_filter_diversion_JPanel = new StateMod_Diversion_InputFilter_JPanel(__dataset);
                JGUIUtil.addComponent(main_JPanel, __input_filter_diversion_JPanel, 0, 1, 4, 4, 0, 0, GridBagConstraints.NONE, GridBagConstraints.WEST);
            }
            catch (Exception)
            {
                Message.printWarning(1, routine, "Unable to initialize input filter for diversion stations.");
            }
            getContentPane().add(main_JPanel);

            // add bottom buttons
            FlowLayout fl = new FlowLayout(FlowLayout.CENTER);

            JPanel buttonPanel = new JPanel();

            buttonPanel.setLayout(fl);
            __query_JButton = new SimpleJButton(__Query_String, this);
            __query_JButton.setToolTipText("Query the data set using specified criteria.");
            __display_JButton = new SimpleJButton(__Display_String, this);
            __display_JButton.setToolTipText("Display the results of the query.");
            __display_JButton.setEnabled(false);     // Enable after query.
            __cancel_JButton = new SimpleJButton(__Cancel_String, this);
            __cancel_JButton.setToolTipText("Cancel query and close window.");

            buttonPanel.add(__query_JButton);
            buttonPanel.add(__display_JButton);
            buttonPanel.add(__cancel_JButton);

            JPanel bottomJPanel = new JPanel();

            bottomJPanel.setLayout(gb);
            JGUIUtil.addComponent(bottomJPanel, buttonPanel, 0, 0, 8, 1, 1, 0, GridBagConstraints.HORIZONTAL, GridBagConstraints.CENTER);
            __message_JTextField = new JTextField();
            __message_JTextField.setText("Select filter criteria and then press Query");
            __message_JTextField.setEditable(false);
            JGUIUtil.addComponent(bottomJPanel, __message_JTextField, 0, 1, 7, 1, 1.0, 0.0, GridBagConstraints.HORIZONTAL, GridBagConstraints.WEST);
            __status_JTextField = new JTextField(5);
            __status_JTextField.setEditable(false);
            JGUIUtil.addComponent(bottomJPanel, __status_JTextField, 7, 1, 1, 1, 0.0, 0.0, GridBagConstraints.NONE, GridBagConstraints.WEST);
            getContentPane().add("South", bottomJPanel);

            if (__dataset_wm != null)
            {
                __dataset_wm.setWindowOpen(StateMod_DataSet_WindowManager.WINDOW_CONTROL, this);
            }

            pack();
            setSize(550, 190);     // Allows replacement res option to display
            JGUIUtil.center(this);
            setResizable(true);
            setVisible(true);
        }
        /// <summary>
        /// Perform the query.  Currently only diversion stations are supported.
        /// </summary>
        private void doQuery()
        {
            string             routine = "StateMod_QueryTool_JFrame.doQuery", message;
            InputFilter_JPanel ifp    = __input_filter_diversion_JPanel;
            InputFilter        filter = null;
            int size;  // Size of data Vector
            int i;     // Loop for data items.
            DataSetComponent comp = null;

            string where, @operator, input;
            int    where_length = 0; // Length of "where", to optimize code.
            bool   do_int, do_double, do_string;
            string input_string;     // Data parameters to check, as
            int    input_int;        // transferred from the data objects.
            double input_double;
            bool   do_ID, do_Name, do_RiverNodeID, do_OnOff, do_Capacity, do_ReplaceResOption, do_DailyID, do_UserName, do_DemandType, do_EffAnnual, do_Area, do_UseType, do_DemandSource;

            bool[] matches = null; // Indicates if a data item matches all
            // the filter criteria.
            bool item_matches;     // Indicates whether the itme matches a

            // single filter criteria.
            bool[] @checked = null;     // Indicates whether a data item has
            // already been checked for a criteria.
            // If checked and false, then a "true"
            // should not reset the false.
            int nfg = 0;       // Number of filter groups.

            do_int    = false; // Whether the data item is an integer.
            do_double = false; // Whether the data item is a double.
            do_string = false; // Whether the data item is a string.
            StateMod_Diversion dds = null;

            __status_JTextField.setText(__Wait);
            JGUIUtil.setWaitCursor(this, true);
            if (ifp is StateMod_Diversion_InputFilter_JPanel)
            {
                input_int    = StateMod_Util.MISSING_INT;
                input_double = StateMod_Util.MISSING_DOUBLE;
                input_string = StateMod_Util.MISSING_STRING;
                comp         = __dataset.getComponentForComponentType(StateMod_DataSet.COMP_DIVERSION_STATIONS);
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @SuppressWarnings("unchecked") java.util.List<StateMod_Diversion> dds_Vector = (java.util.List<StateMod_Diversion>)comp.getData();
                IList <StateMod_Diversion> dds_Vector = (IList <StateMod_Diversion>)comp.getData();
                size = 0;
                if (dds_Vector != null)
                {
                    size = dds_Vector.Count;
                }
                // REVISIT SAM 2004-10-27 Remove when debugging is complete
                //Message.printStatus ( 2, routine,
                //"Searching " + size + " diversion stations." );
                // Initialize the arrays indicating if data objects have been
                // checked and whether they matched the filter(s)...
                if (size > 0)
                {
                    matches  = new bool[size];
                    @checked = new bool[size];
                }
                for (i = 0; i < size; i++)
                {
                    matches[i]  = false;
                    @checked[i] = false;
                }
                // Loop through the where clauses...
                nfg = ifp.getNumFilterGroups();
                for (int ifg = 0; ifg < nfg; ifg++)
                {
                    // Get the filter information...
                    filter       = ifp.getInputFilter(ifg);
                    where        = filter.getWhereInternal();
                    where_length = where.Length;
                    @operator    = ifp.getOperator(ifg);
                    input        = filter.getInput(false);
                    // REVISIT SAM 2004-10-27 Remove when debugging is
                    // complete
                    //Message.printStatus ( 2, routine,
                    //"where=" + where + " operator=" + operator +
                    //" input=" + input );
                    // Initialize flags to indicate what data will be
                    // checked...
                    do_int              = false;
                    do_double           = false;
                    do_string           = false;
                    do_ID               = false;
                    do_Name             = false;
                    do_RiverNodeID      = false;
                    do_OnOff            = false;
                    do_Capacity         = false;
                    do_ReplaceResOption = false;
                    do_DailyID          = false;
                    do_UserName         = false;
                    do_DemandType       = false;
                    do_EffAnnual        = false;
                    do_Area             = false;
                    do_UseType          = false;
                    do_DemandSource     = false;
                    // The following checks on "where" need to match the
                    // input filter internal where labels assigned in
                    // StateMod_Diversion_InputFilter_JPanel.
                    // List in the order of the StateMod documentation...
                    if (where.Equals("ID", StringComparison.OrdinalIgnoreCase))
                    {
                        do_string = true;
                        do_ID     = true;
                    }
                    else if (where.Equals("Name", StringComparison.OrdinalIgnoreCase))
                    {
                        do_string = true;
                        do_Name   = true;
                    }
                    else if (where.Equals("RiverNodeID", StringComparison.OrdinalIgnoreCase))
                    {
                        do_string      = true;
                        do_RiverNodeID = true;
                    }
                    else if (where.Equals("OnOff", StringComparison.OrdinalIgnoreCase) && StringUtil.isInteger(input))
                    {
                        do_int   = true;
                        do_OnOff = true;
                    }
                    else if (where.Equals("Capacity", StringComparison.OrdinalIgnoreCase) && StringUtil.isDouble(input))
                    {
                        do_double   = true;
                        do_Capacity = true;
                    }
                    else if (where.Equals("ReplaceResOption", StringComparison.OrdinalIgnoreCase) && StringUtil.isInteger(input))
                    {
                        do_int = true;
                        do_ReplaceResOption = true;
                    }
                    else if (where.Equals("DailyID", StringComparison.OrdinalIgnoreCase))
                    {
                        do_string  = true;
                        do_DailyID = true;
                    }
                    else if (where.Equals("UserName", StringComparison.OrdinalIgnoreCase))
                    {
                        do_string   = true;
                        do_UserName = true;
                    }
                    else if (where.Equals("DemandType", StringComparison.OrdinalIgnoreCase))
                    {
                        do_int        = true;
                        do_DemandType = true;
                    }
                    else if (where.Equals("EffAnnual", StringComparison.OrdinalIgnoreCase) && StringUtil.isDouble(input))
                    {
                        do_double    = true;
                        do_EffAnnual = true;
                    }
                    else if (where.Equals("Area", StringComparison.OrdinalIgnoreCase) && StringUtil.isDouble(input))
                    {
                        do_double = true;
                        do_Area   = true;
                    }
                    else if (where.Equals("UseType", StringComparison.OrdinalIgnoreCase) && StringUtil.isInteger(input))
                    {
                        do_int     = true;
                        do_UseType = true;
                    }
                    else if (where.Equals("DemandSource", StringComparison.OrdinalIgnoreCase) && StringUtil.isInteger(input))
                    {
                        do_int          = true;
                        do_DemandSource = true;
                    }
                    else if (where_length == 0)
                    {
                        // WIll match anything.
                    }
                    else
                    {             // Unrecognized where...
                        continue;
                    }
                    // REVISIT SAM 2004-10-27 Remove when debugging is
                    // complete

                    /*
                     * Message.printStatus ( 2, routine,
                     * "do_string=" + do_string + " do_int=" + do_int +
                     * "do_double=" + do_double +
                     * " " + do_ID +
                     * " " + do_Name +
                     * " " + do_RiverNodeID +
                     * " " + do_OnOff +
                     * " " + do_Capacity +
                     * " " + do_ReplaceResOption +
                     * " " + do_DailyID +
                     * " " + do_UserName +
                     * " " + do_DemandType +
                     * " " + do_EffAnnual +
                     * " " + do_Area +
                     * " " + do_UseType +
                     * " " + do_DemandSource );
                     */
                    for (i = 0; i < size; i++)
                    {
                        dds = (StateMod_Diversion)dds_Vector[i];
                        // Get the specific data to compare...
                        if (do_ID)
                        {
                            input_string = dds.getID();
                        }
                        else if (do_Name)
                        {
                            input_string = dds.getName();
                        }
                        else if (do_RiverNodeID)
                        {
                            input_string = dds.getCgoto();
                        }
                        else if (do_OnOff)
                        {
                            input_int = dds.getSwitch();
                        }
                        else if (do_Capacity)
                        {
                            input_double = dds.getDivcap();
                        }
                        else if (do_ReplaceResOption)
                        {
                            input_int = dds.getIreptype();
                        }
                        else if (do_DailyID)
                        {
                            input_string = dds.getCdividy();
                        }
                        else if (do_UserName)
                        {
                            input_string = dds.getUsername();
                        }
                        else if (do_DemandType)
                        {
                            input_int = dds.getIdvcom();
                        }
                        else if (do_EffAnnual)
                        {
                            input_double = dds.getDivefc();
                        }
                        else if (do_Area)
                        {
                            input_double = dds.getArea();
                        }
                        else if (do_UseType)
                        {
                            input_int = dds.getIrturn();
                        }
                        else if (do_DemandSource)
                        {
                            input_int = dds.getDemsrc();
                        }
                        else
                        {                 // Unrecognized...
                            continue;
                        }
                        // Compare the data with the input filter...
                        item_matches = false;
                        if (do_string)
                        {
                            item_matches = filter.matches(input_string, @operator, true);
                        }
                        else if (do_int)
                        {
                            item_matches = filter.matches(input_int, @operator);
                        }
                        else if (do_double)
                        {
                            item_matches = filter.matches(input_double, @operator);
                        }
                        if (where_length == 0)
                        {
                            // Always consider a match...
                            item_matches = true;
                        }
                        if (item_matches && (!@checked[i] || (@checked[i] && matches[i])))
                        {
                            // So far the item matches all
                            // filters...
                            matches[i] = true;
                        }
                        else if (@checked[i] && !item_matches)
                        {
                            // Does not match this filter to reset
                            // result to false...
                            matches[i] = false;
                        }
                        // Indicate that we have checked the item
                        // against at least one filter...
                        @checked[i] = true;
                    }
                }
                // Get a count so the Vector can be sized appropriately (this
                // should be fast)...
                int match_count = 0;
                for (i = 0; i < size; i++)
                {
                    if (matches[i])
                    {
                        ++match_count;
                    }
                }
                // Loop through and set up the matches_Vector...
                __matches_Vector = null;
                if (match_count > 0)
                {
                    __matches_Vector = new List <StateMod_Diversion> (match_count);
                    for (i = 0; i < size; i++)
                    {
                        if (matches[i])
                        {
                            // The diversion station matches so add
                            // to the list...
                            __matches_Vector.Add(dds_Vector[i]);
                        }
                    }
                }
                message = "Matched " + match_count +
                          " diversion stations (from original " + size + ").";
                Message.printStatus(2, routine, message);
                __message_JTextField.setText(message);
                __status_JTextField.setText(__Ready);
                JGUIUtil.setWaitCursor(this, false);
            }
            if (__matches_Vector == null)
            {
                __display_JButton.setEnabled(false);
            }
            else
            {
                __display_JButton.setEnabled(true);
            }
        }
Beispiel #9
0
 private void initGUI()
 {
     try
     {
         setPreferredSize(new Dimension(400, 300));
         {
             generalPanel = new JPanel();
             FlowLayout generalPanelLayout = new FlowLayout();
             generalPanelLayout.setAlignment(FlowLayout.LEFT);
             generalPanel.setLayout(generalPanelLayout);
             this.addTab("General", null, generalPanel, null);
             {
                 resolutionPanel = new JPanel();
                 generalPanel.add(resolutionPanel);
                 FlowLayout resolutionPanelLayout = new FlowLayout();
                 resolutionPanel.setLayout(resolutionPanelLayout);
                 resolutionPanel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(BevelBorder.LOWERED), "Resolution", TitledBorder.LEADING, TitledBorder.TOP));
                 {
                     resolutionCheckBox = new JCheckBox();
                     resolutionPanel.add(resolutionCheckBox);
                     resolutionCheckBox.setText("Override");
                 }
                 {
                     jLabel1 = new JLabel();
                     resolutionPanel.add(jLabel1);
                     jLabel1.setText("Image Width:");
                 }
                 {
                     resolutionXTextField = new JTextField();
                     resolutionPanel.add(resolutionXTextField);
                     resolutionXTextField.setText("640");
                     resolutionXTextField.setPreferredSize(new java.awt.Dimension(50, 20));
                 }
                 {
                     jLabel2 = new JLabel();
                     resolutionPanel.add(jLabel2);
                     jLabel2.setText("Image Height:");
                 }
                 {
                     resolutionYTextField = new JTextField();
                     resolutionPanel.add(resolutionYTextField);
                     resolutionYTextField.setText("480");
                     resolutionYTextField.setPreferredSize(new java.awt.Dimension(50, 20));
                 }
             }
             {
                 threadsPanel = new JPanel();
                 generalPanel.add(threadsPanel);
                 threadsPanel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(BevelBorder.LOWERED), "Threads", TitledBorder.LEADING, TitledBorder.TOP));
                 {
                     threadCheckBox = new JCheckBox();
                     threadsPanel.add(threadCheckBox);
                     threadCheckBox.setText("Use All Processors");
                 }
                 {
                     jLabel3 = new JLabel();
                     threadsPanel.add(jLabel3);
                     jLabel3.setText("Threads:");
                 }
                 {
                     threadTextField = new JTextField();
                     threadsPanel.add(threadTextField);
                     threadTextField.setText("1");
                     threadTextField.setPreferredSize(new java.awt.Dimension(50, 20));
                 }
             }
         }
         {
             rendererPanel = new JPanel();
             FlowLayout rendererPanelLayout = new FlowLayout();
             rendererPanelLayout.setAlignment(FlowLayout.LEFT);
             rendererPanel.setLayout(rendererPanelLayout);
             this.addTab("Renderer", null, rendererPanel, null);
             {
                 defaultRendererRadioButton = new JRadioButton();
                 rendererPanel.add(defaultRendererRadioButton);
                 defaultRendererRadioButton.setText("Default Renderer");
             }
             {
                 bucketRendererPanel = new JPanel();
                 BoxLayout bucketRendererPanelLayout = new BoxLayout(bucketRendererPanel, javax.swing.BoxLayout.Y_AXIS);
                 bucketRendererPanel.setLayout(bucketRendererPanelLayout);
                 rendererPanel.add(bucketRendererPanel);
                 bucketRendererPanel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(BevelBorder.LOWERED), "Bucket Renderer", TitledBorder.LEADING, TitledBorder.TOP));
                 {
                     bucketRendererRadioButton = new JRadioButton();
                     bucketRendererPanel.add(bucketRendererRadioButton);
                     bucketRendererRadioButton.setText("Enable");
                 }
                 {
                     samplingPanel = new JPanel();
                     GridLayout samplingPanelLayout = new GridLayout(2, 2);
                     samplingPanelLayout.setColumns(2);
                     samplingPanelLayout.setHgap(5);
                     samplingPanelLayout.setVgap(5);
                     samplingPanelLayout.setRows(2);
                     samplingPanel.setLayout(samplingPanelLayout);
                     bucketRendererPanel.add(samplingPanel);
                     {
                         jLabel5 = new JLabel();
                         samplingPanel.add(jLabel5);
                         jLabel5.setText("Min:");
                     }
                     {
                         ComboBoxModel minSamplingComboBoxModel = new DefaultComboBoxModel(new string[] {
                             "Item One", "Item Two" });
                         minSamplingComboBox = new JComboBox();
                         samplingPanel.add(minSamplingComboBox);
                         minSamplingComboBox.setModel(minSamplingComboBoxModel);
                     }
                     {
                         jLabel6 = new JLabel();
                         samplingPanel.add(jLabel6);
                         jLabel6.setText("Max:");
                     }
                     {
                         ComboBoxModel maxSamplingComboxBoxModel = new DefaultComboBoxModel(new string[] {
                             "Item One", "Item Two" });
                         maxSamplingComboxBox = new JComboBox();
                         samplingPanel.add(maxSamplingComboxBox);
                         maxSamplingComboxBox.setModel(maxSamplingComboxBoxModel);
                     }
                 }
             }
         }
     }
     catch (Exception e)
     {
         e.printStackTrace();
     }
 }
        /// <summary>
        /// Sets up the GUI.
        /// </summary>
        private void setupGUI()
        {
            addWindowListener(this);

            __descriptionTextField = new JTextField(25);
            __origDesc             = __nodes[__nodeNum].getDescription();
            __descriptionTextField.setText(__origDesc);
            __idTextField = new JTextField(10);
            __origID      = __nodes[__nodeNum].getCommonID();
            __idTextField.setText(__origID);
            __idTextField.addKeyListener(this);
            __xTextField = new JTextField(10);
            __origX      = StringUtil.formatString(__nodes[__nodeNum].getX(), "%13.6f").Trim();
            __xTextField.setText(__origX);
            __xTextField.addKeyListener(this);
            __yTextField = new JTextField(10);
            __origY      = StringUtil.formatString(__nodes[__nodeNum].getY(), "%13.6f").Trim();
            __yTextField.setText(__origY);
            __yTextField.addKeyListener(this);
            __areaTextField = new JTextField(10);
            __origArea      = StringUtil.formatString(__nodes[__nodeNum].getArea(), "%13.6f").Trim();
            __areaTextField.setText(__origArea);
            __areaTextField.addKeyListener(this);
            __precipitationTextField = new JTextField(10);
            __origPrecipitation      = StringUtil.formatString(__nodes[__nodeNum].getPrecip(), "%13.6f").Trim();
            __precipitationTextField.setText(__origPrecipitation);
            __precipitationTextField.addKeyListener(this);

            __typeComboBox = new SimpleJComboBox(false);
            __typeComboBox.add(__NODE_DIVERSION);
            __typeComboBox.add(__NODE_DIVERSION_AND_WELL);
            __typeComboBox.add(__NODE_INSTREAM_FLOW);
            __typeComboBox.add(__NODE_OTHER);
            __typeComboBox.add(__NODE_PLAN);
            __typeComboBox.add(__NODE_RESERVOIR);
            __typeComboBox.add(__NODE_STREAMFLOW);
            __typeComboBox.add(__NODE_WELL);

            int type = __nodes[__nodeNum].getType();

            if (type == HydrologyNode.NODE_TYPE_CONFLUENCE)
            {
                __typeComboBox.select(__NODE_CONFLUENCE);
            }
            else if (type == HydrologyNode.NODE_TYPE_DIV)
            {
                __typeComboBox.select(__NODE_DIVERSION);
            }
            else if (type == HydrologyNode.NODE_TYPE_DIV_AND_WELL)
            {
                __typeComboBox.select(__NODE_DIVERSION_AND_WELL);
            }
            else if (type == HydrologyNode.NODE_TYPE_END)
            {
                __typeComboBox.removeAll();
                __typeComboBox.add(__NODE_END);
            }
            else if (type == HydrologyNode.NODE_TYPE_ISF)
            {
                __typeComboBox.select(__NODE_INSTREAM_FLOW);
            }
            else if (type == HydrologyNode.NODE_TYPE_OTHER)
            {
                __typeComboBox.select(__NODE_OTHER);
            }
            else if (type == HydrologyNode.NODE_TYPE_PLAN)
            {
                __typeComboBox.select(__NODE_PLAN);
            }
            else if (type == HydrologyNode.NODE_TYPE_RES)
            {
                __typeComboBox.select(__NODE_RESERVOIR);
            }
            else if (type == HydrologyNode.NODE_TYPE_FLOW)
            {
                __typeComboBox.select(__NODE_STREAMFLOW);
            }
            else if (type == HydrologyNode.NODE_TYPE_WELL)
            {
                __typeComboBox.select(__NODE_WELL);
            }
            else if (type == HydrologyNode.NODE_TYPE_XCONFLUENCE)
            {
                __typeComboBox.select(__NODE_XCONFLUENCE);
            }
            else
            {
                __typeComboBox.removeAll();
                __typeComboBox.add("Unknown Type: " + type);
            }

            __typeComboBox.setMaximumRowCount(__typeComboBox.getItemCount());

            __origIType = type;
            __origType  = __typeComboBox.getSelected();

            __labelPositionComboBox = new SimpleJComboBox(false);
            __labelPositionComboBox.add(__ABOVE_CENTER);
            __labelPositionComboBox.add(__UPPER_RIGHT);
            __labelPositionComboBox.add(__RIGHT);
            __labelPositionComboBox.add(__LOWER_RIGHT);
            __labelPositionComboBox.add(__BELOW_CENTER);
            __labelPositionComboBox.add(__LOWER_LEFT);
            __labelPositionComboBox.add(__LEFT);
            __labelPositionComboBox.add(__UPPER_LEFT);
            __labelPositionComboBox.add(__CENTER);
            __labelPositionComboBox.setMaximumRowCount(__labelPositionComboBox.getItemCount());

            int dir = __nodes[__nodeNum].getLabelDirection() % 10;

            if (dir == 2)
            {
                __labelPositionComboBox.select(__BELOW_CENTER);
            }
            else if (dir == 1)
            {
                __labelPositionComboBox.select(__ABOVE_CENTER);
            }
            else if (dir == 4)
            {
                __labelPositionComboBox.select(__RIGHT);
            }
            else if (dir == 3)
            {
                __labelPositionComboBox.select(__LEFT);
            }
            else if (dir == 7)
            {
                __labelPositionComboBox.select(__UPPER_RIGHT);
            }
            else if (dir == 8)
            {
                __labelPositionComboBox.select(__LOWER_RIGHT);
            }
            else if (dir == 5)
            {
                __labelPositionComboBox.select(__LOWER_LEFT);
            }
            else if (dir == 6)
            {
                __labelPositionComboBox.select(__UPPER_LEFT);
            }
            else if (dir == 9)
            {
                __labelPositionComboBox.select(__CENTER);
            }
            else
            {
                __labelPositionComboBox.removeAll();
                __labelPositionComboBox.add("Unknown Position: " + dir);
            }

            __origIDir = dir;
            __origDir  = __labelPositionComboBox.getSelected();

            __isNaturalFlowCheckBox = new JCheckBox();
            __isImportCheckBox      = new JCheckBox();

            __origDirty = __nodes[__nodeNum].isDirty();

            __reservoirDirectionLabel    = new JLabel("Reservoir Direction: ");
            __reservoirDirectionComboBox = new SimpleJComboBox(false);
            __reservoirDirectionComboBox.setToolTipText("Reservoir body is to the indicated direction " + "(downstream follows the arrow).");
            __reservoirDirectionComboBox.add(__TOP);
            __reservoirDirectionComboBox.add(__BOTTOM);
            __reservoirDirectionComboBox.add(__LEFT);
            __reservoirDirectionComboBox.add(__RIGHT);

            int resDir = __nodes[__nodeNum].getLabelDirection() / 10;

            if (resDir == 1)
            {
                __reservoirDirectionComboBox.select(__BOTTOM);
            }
            else if (resDir == 2)
            {
                __reservoirDirectionComboBox.select(__TOP);
            }
            else if (resDir == 3)
            {
                __reservoirDirectionComboBox.select(__RIGHT);
            }
            else if (resDir == 4)
            {
                __reservoirDirectionComboBox.select(__LEFT);
            }
            else if (resDir == 0)
            {
            }
            else
            {
                __reservoirDirectionComboBox.removeAll();
                __reservoirDirectionComboBox.add("Unknown direction: " + resDir);
            }

            __origResIDir = resDir;
            __origResDir  = __reservoirDirectionComboBox.getSelected();

            JPanel panel = new JPanel();

            panel.setLayout(new GridBagLayout());

            int y = 0;

            JGUIUtil.addComponent(panel, new JLabel("ID: "), 0, y, 1, 1, 0, 0, GridBagConstraints.NONE, GridBagConstraints.EAST);
            JGUIUtil.addComponent(panel, __idTextField, 1, y, 1, 1, 0, 0, GridBagConstraints.NONE, GridBagConstraints.WEST);

            y++;
            JGUIUtil.addComponent(panel, new JLabel("Type: "), 0, y, 1, 1, 0, 0, GridBagConstraints.NONE, GridBagConstraints.EAST);
            JGUIUtil.addComponent(panel, __typeComboBox, 1, y, 1, 1, 0, 0, GridBagConstraints.NONE, GridBagConstraints.WEST);

            y++;
            JGUIUtil.addComponent(panel, new JLabel("Description: "), 0, y, 1, 1, 0, 0, GridBagConstraints.NONE, GridBagConstraints.EAST);
            JGUIUtil.addComponent(panel, __descriptionTextField, 1, y, 1, 1, 0, 0, GridBagConstraints.NONE, GridBagConstraints.WEST);

            y++;
            JGUIUtil.addComponent(panel, new JLabel("X: "), 0, y, 1, 1, 0, 0, GridBagConstraints.NONE, GridBagConstraints.EAST);
            JGUIUtil.addComponent(panel, __xTextField, 1, y, 1, 1, 0, 0, GridBagConstraints.NONE, GridBagConstraints.WEST);

            y++;
            JGUIUtil.addComponent(panel, new JLabel("Y: "), 0, y, 1, 1, 0, 0, GridBagConstraints.NONE, GridBagConstraints.EAST);
            JGUIUtil.addComponent(panel, __yTextField, 1, y, 1, 1, 0, 0, GridBagConstraints.NONE, GridBagConstraints.WEST);

            y++;
            JGUIUtil.addComponent(panel, new JLabel("Is natural flow?: "), 0, y, 1, 1, 0, 0, GridBagConstraints.NONE, GridBagConstraints.EAST);
            JGUIUtil.addComponent(panel, __isNaturalFlowCheckBox, 1, y, 1, 1, 0, 0, GridBagConstraints.NONE, GridBagConstraints.WEST);

            y++;
            JGUIUtil.addComponent(panel, new JLabel("Is import?: "), 0, y, 1, 1, 0, 0, GridBagConstraints.NONE, GridBagConstraints.EAST);
            JGUIUtil.addComponent(panel, __isImportCheckBox, 1, y, 1, 1, 0, 0, GridBagConstraints.NONE, GridBagConstraints.WEST);

            y++;
            JGUIUtil.addComponent(panel, new JLabel("Area: "), 0, y, 1, 1, 0, 0, GridBagConstraints.NONE, GridBagConstraints.EAST);
            JGUIUtil.addComponent(panel, __areaTextField, 1, y, 1, 1, 0, 0, GridBagConstraints.NONE, GridBagConstraints.WEST);
            y++;
            JGUIUtil.addComponent(panel, new JLabel("Precipitation: "), 0, y, 1, 1, 0, 0, GridBagConstraints.NONE, GridBagConstraints.EAST);
            JGUIUtil.addComponent(panel, __precipitationTextField, 1, y, 1, 1, 0, 0, GridBagConstraints.NONE, GridBagConstraints.WEST);
            if (__nodes[__nodeNum].getIsNaturalFlow())
            {
                __isNaturalFlowCheckBox.setSelected(true);
            }
            else
            {
                __isNaturalFlowCheckBox.setSelected(false);
                __areaTextField.setEnabled(false);
                __precipitationTextField.setEnabled(false);
            }
            __isNaturalFlowCheckBox.addActionListener(this);

            if (__nodes[__nodeNum].getIsImport())
            {
                __isImportCheckBox.setSelected(true);
            }
            else
            {
                __isImportCheckBox.setSelected(false);
            }
            __isImportCheckBox.addActionListener(this);

            __origNaturalFlow = __isNaturalFlowCheckBox.isSelected();
            __origImport      = __isImportCheckBox.isSelected();

            y++;
            JGUIUtil.addComponent(panel, new JLabel("Label Position: "), 0, y, 1, 1, 0, 0, GridBagConstraints.NONE, GridBagConstraints.EAST);
            JGUIUtil.addComponent(panel, __labelPositionComboBox, 1, y, 1, 1, 0, 0, GridBagConstraints.NONE, GridBagConstraints.WEST);

            y++;
            JGUIUtil.addComponent(panel, __reservoirDirectionLabel, 0, y, 1, 1, 0, 0, GridBagConstraints.NONE, GridBagConstraints.EAST);
            JGUIUtil.addComponent(panel, __reservoirDirectionComboBox, 1, y, 1, 1, 0, 0, GridBagConstraints.NONE, GridBagConstraints.WEST);

            y++;

            y = addUpstreamNodesToPanel(panel, y);
            addDownstreamNodeToPanel(panel, y);

            getContentPane().add(panel);

            JPanel southPanel = new JPanel();

            southPanel.setLayout(new GridBagLayout());

            __applyButton = new JButton(__BUTTON_APPLY);
            __applyButton.addActionListener(this);
            __okButton = new JButton(__BUTTON_OK);
            __okButton.addActionListener(this);
            JButton cancelButton = new JButton(__BUTTON_CANCEL);

            cancelButton.addActionListener(this);

            JGUIUtil.addComponent(southPanel, __applyButton, 0, 0, 1, 1, 1, 1, GridBagConstraints.NONE, GridBagConstraints.EAST);
            JGUIUtil.addComponent(southPanel, __okButton, 2, 0, 1, 1, 0, 0, GridBagConstraints.NONE, GridBagConstraints.EAST);
            JGUIUtil.addComponent(southPanel, cancelButton, 3, 0, 1, 1, 0, 0, GridBagConstraints.NONE, GridBagConstraints.EAST);

            getContentPane().add(southPanel, "South");

            pack();

            if (__origIType != HydrologyNode.NODE_TYPE_RES)
            {
                __reservoirDirectionLabel.setVisible(false);
                __reservoirDirectionComboBox.setVisible(false);
            }

            __typeComboBox.addActionListener(this);

            if (__parent.inStateModGUI())
            {
                __typeComboBox.setEnabled(false);
                __precipitationTextField.setEditable(false);
                __precipitationTextField.removeKeyListener(this);
                __descriptionTextField.setEditable(false);
                __descriptionTextField.removeKeyListener(this);
                __areaTextField.removeKeyListener(this);
                __areaTextField.setEditable(false);
                __idTextField.removeKeyListener(this);
                __idTextField.setEditable(false);
                __isNaturalFlowCheckBox.setEnabled(false);
                __isImportCheckBox.setEnabled(false);
            }

            JGUIUtil.center(this);
            setVisible(true);
        }
Beispiel #11
0
 private void initGUI()
 {
     try
     {
         setPreferredSize(new Dimension(400, 300));
         {
             generalPanel = new JPanel();
             FlowLayout generalPanelLayout = new FlowLayout();
             generalPanelLayout.setAlignment(FlowLayout.LEFT);
             generalPanel.setLayout(generalPanelLayout);
             this.addTab("General", null, generalPanel, null);
             {
                 resolutionPanel = new JPanel();
                 generalPanel.add(resolutionPanel);
                 FlowLayout resolutionPanelLayout = new FlowLayout();
                 resolutionPanel.setLayout(resolutionPanelLayout);
                 resolutionPanel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(BevelBorder.LOWERED), "Resolution", TitledBorder.LEADING, TitledBorder.TOP));
                 {
                     resolutionCheckBox = new JCheckBox();
                     resolutionPanel.add(resolutionCheckBox);
                     resolutionCheckBox.setText("Override");
                 }
                 {
                     jLabel1 = new JLabel();
                     resolutionPanel.add(jLabel1);
                     jLabel1.setText("Image Width:");
                 }
                 {
                     resolutionXTextField = new JTextField();
                     resolutionPanel.add(resolutionXTextField);
                     resolutionXTextField.setText("640");
                     resolutionXTextField.setPreferredSize(new java.awt.Dimension(50, 20));
                 }
                 {
                     jLabel2 = new JLabel();
                     resolutionPanel.add(jLabel2);
                     jLabel2.setText("Image Height:");
                 }
                 {
                     resolutionYTextField = new JTextField();
                     resolutionPanel.add(resolutionYTextField);
                     resolutionYTextField.setText("480");
                     resolutionYTextField.setPreferredSize(new java.awt.Dimension(50, 20));
                 }
             }
             {
                 threadsPanel = new JPanel();
                 generalPanel.add(threadsPanel);
                 threadsPanel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(BevelBorder.LOWERED), "Threads", TitledBorder.LEADING, TitledBorder.TOP));
                 {
                     threadCheckBox = new JCheckBox();
                     threadsPanel.add(threadCheckBox);
                     threadCheckBox.setText("Use All Processors");
                 }
                 {
                     jLabel3 = new JLabel();
                     threadsPanel.add(jLabel3);
                     jLabel3.setText("Threads:");
                 }
                 {
                     threadTextField = new JTextField();
                     threadsPanel.add(threadTextField);
                     threadTextField.setText("1");
                     threadTextField.setPreferredSize(new java.awt.Dimension(50, 20));
                 }
             }
         }
         {
             rendererPanel = new JPanel();
             FlowLayout rendererPanelLayout = new FlowLayout();
             rendererPanelLayout.setAlignment(FlowLayout.LEFT);
             rendererPanel.setLayout(rendererPanelLayout);
             this.addTab("Renderer", null, rendererPanel, null);
             {
                 defaultRendererRadioButton = new JRadioButton();
                 rendererPanel.add(defaultRendererRadioButton);
                 defaultRendererRadioButton.setText("Default Renderer");
             }
             {
                 bucketRendererPanel = new JPanel();
                 BoxLayout bucketRendererPanelLayout = new BoxLayout(bucketRendererPanel, javax.swing.BoxLayout.Y_AXIS);
                 bucketRendererPanel.setLayout(bucketRendererPanelLayout);
                 rendererPanel.add(bucketRendererPanel);
                 bucketRendererPanel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(BevelBorder.LOWERED), "Bucket Renderer", TitledBorder.LEADING, TitledBorder.TOP));
                 {
                     bucketRendererRadioButton = new JRadioButton();
                     bucketRendererPanel.add(bucketRendererRadioButton);
                     bucketRendererRadioButton.setText("Enable");
                 }
                 {
                     samplingPanel = new JPanel();
                     GridLayout samplingPanelLayout = new GridLayout(2, 2);
                     samplingPanelLayout.setColumns(2);
                     samplingPanelLayout.setHgap(5);
                     samplingPanelLayout.setVgap(5);
                     samplingPanelLayout.setRows(2);
                     samplingPanel.setLayout(samplingPanelLayout);
                     bucketRendererPanel.add(samplingPanel);
                     {
                         jLabel5 = new JLabel();
                         samplingPanel.add(jLabel5);
                         jLabel5.setText("Min:");
                     }
                     {
                         ComboBoxModel minSamplingComboBoxModel = new DefaultComboBoxModel(new string[] {
                             "Item One", "Item Two"
                         });
                         minSamplingComboBox = new JComboBox();
                         samplingPanel.add(minSamplingComboBox);
                         minSamplingComboBox.setModel(minSamplingComboBoxModel);
                     }
                     {
                         jLabel6 = new JLabel();
                         samplingPanel.add(jLabel6);
                         jLabel6.setText("Max:");
                     }
                     {
                         ComboBoxModel maxSamplingComboxBoxModel = new DefaultComboBoxModel(new string[] {
                             "Item One", "Item Two"
                         });
                         maxSamplingComboxBox = new JComboBox();
                         samplingPanel.add(maxSamplingComboxBox);
                         maxSamplingComboxBox.setModel(maxSamplingComboxBoxModel);
                     }
                 }
             }
         }
     }
     catch (Exception e)
     {
         e.printStackTrace();
     }
 }
        /// <summary>
        /// Sets up the GUI.
        /// </summary>
        private void setupGUI()
        {
            addWindowListener(__parent);

            JPanel panel = new JPanel();

            panel.setLayout(new GridBagLayout());

            int y = 0;

            __downstreamIDJTextField = new JTextField(10);
            __downstreamIDJTextField.setEditable(false);
            __downstreamIDJTextField.setText(__ds.getCommonID());
            __upstreamIDComboBox = new SimpleJComboBox(false);
            __upstreamIDComboBox.setPrototypeDisplayValue("[none] - Start a new TributaryXX");
            __nodeNameJTextField = new JTextField(10);
            __nodeNameJTextField.addKeyListener(this);

            string[] usid = __ds.getUpstreamNodesIDs();
            for (int i = 0; i < usid.Length; i++)
            {
                __upstreamIDComboBox.add(usid[i]);
            }
            __upstreamIDComboBox.add("[none] - Start a new Tributary");

            __nodeTypeComboBox = new SimpleJComboBox();

            __nodeTypeComboBox.add(__NODE_CONFLUENCE);
            __nodeTypeComboBox.add(__NODE_DIVERSION);
            __nodeTypeComboBox.add(__NODE_DIVERSION_AND_WELL);
            __nodeTypeComboBox.add(__NODE_INSTREAM_FLOW);
            __nodeTypeComboBox.add(__NODE_OTHER);
            __nodeTypeComboBox.add(__NODE_PLAN);
            __nodeTypeComboBox.add(__NODE_RESERVOIR);
            __nodeTypeComboBox.add(__NODE_STREAMFLOW);
            __nodeTypeComboBox.add(__NODE_WELL);
            __nodeTypeComboBox.add(__NODE_XCONFLUENCE);
            __nodeTypeComboBox.select(__NODE_STREAMFLOW);
            __nodeTypeComboBox.setMaximumRowCount(__nodeTypeComboBox.getItemCount());
            __nodeTypeComboBox.addActionListener(this);

            __naturalFlowJCheckBox = new JCheckBox();
            __naturalFlowJCheckBox.addActionListener(this);

            __importJCheckBox = new JCheckBox();
            __importJCheckBox.addActionListener(this);

            JPanel top = new JPanel();

            top.setLayout(new GridBagLayout());
            top.setBorder(BorderFactory.createTitledBorder("Existing nodes"));

            JPanel bottom = new JPanel();

            bottom.setLayout(new GridBagLayout());
            bottom.setBorder(BorderFactory.createTitledBorder("New Node Data"));

            JGUIUtil.addComponent(panel, top, 0, 0, 1, 1, 1, 1, GridBagConstraints.BOTH, GridBagConstraints.WEST);
            JGUIUtil.addComponent(panel, bottom, 0, 1, 1, 1, 1, 1, GridBagConstraints.BOTH, GridBagConstraints.WEST);

            y = 0;
            JGUIUtil.addComponent(top, new JLabel("Downstream node: "), 0, y, 1, 1, 1, 1, GridBagConstraints.NONE, GridBagConstraints.EAST);
            JGUIUtil.addComponent(top, __downstreamIDJTextField, 1, y, 1, 1, 1, 1, GridBagConstraints.NONE, GridBagConstraints.WEST);
            y++;

            JGUIUtil.addComponent(top, new JLabel("Upstream node: "), 0, y, 1, 1, 1, 1, GridBagConstraints.NONE, GridBagConstraints.EAST);
            JGUIUtil.addComponent(top, __upstreamIDComboBox, 1, y, 1, 1, 1, 1, GridBagConstraints.NONE, GridBagConstraints.WEST);
            y++;

            y = 0;
            JGUIUtil.addComponent(bottom, new JLabel("Node ID: "), 0, y, 1, 1, 1, 1, GridBagConstraints.NONE, GridBagConstraints.EAST);
            JGUIUtil.addComponent(bottom, __nodeNameJTextField, 1, y, 1, 1, 1, 1, GridBagConstraints.NONE, GridBagConstraints.WEST);
            y++;

            JGUIUtil.addComponent(bottom, new JLabel("Node type: "), 0, y, 1, 1, 1, 1, GridBagConstraints.NONE, GridBagConstraints.EAST);
            JGUIUtil.addComponent(bottom, __nodeTypeComboBox, 1, y, 1, 1, 1, 1, GridBagConstraints.NONE, GridBagConstraints.WEST);
            y++;

            JGUIUtil.addComponent(bottom, new JLabel("Is natural flow?: "), 0, y, 1, 1, 1, 1, GridBagConstraints.NONE, GridBagConstraints.EAST);
            JGUIUtil.addComponent(bottom, __naturalFlowJCheckBox, 1, y, 1, 1, 1, 1, GridBagConstraints.NONE, GridBagConstraints.WEST);
            y++;

            JGUIUtil.addComponent(bottom, new JLabel("Is import?: "), 0, y, 1, 1, 1, 1, GridBagConstraints.NONE, GridBagConstraints.EAST);
            JGUIUtil.addComponent(bottom, __importJCheckBox, 1, y, 1, 1, 1, 1, GridBagConstraints.NONE, GridBagConstraints.WEST);

            JPanel southPanel = new JPanel();

            southPanel.setLayout(new GridBagLayout());

            __okJButton = new JButton(__BUTTON_OK);
            __okJButton.addActionListener(this);
            __okJButton.setEnabled(false);
            JButton cancelButton = new JButton(__BUTTON_CANCEL);

            cancelButton.addActionListener(this);

            JGUIUtil.addComponent(southPanel, __okJButton, 0, 0, 1, 1, 1, 1, GridBagConstraints.NONE, GridBagConstraints.EAST);
            JGUIUtil.addComponent(southPanel, cancelButton, 1, 0, 1, 1, 0, 0, GridBagConstraints.NONE, GridBagConstraints.EAST);

            getContentPane().add(panel);
            getContentPane().add(southPanel, "South");

            pack();
            JGUIUtil.center(this);
            setVisible(true);
        }