mirror of
https://github.com/Wisser/Jailer.git
synced 2026-02-21 10:18:32 -06:00
preparing release 3.7.9
git-svn-id: https://svn.code.sf.net/p/jailer/code/trunk@878 3dd849cd-670e-4645-a7cd-dd197c8d0e81
This commit is contained in:
@@ -10,6 +10,7 @@ cd ..
|
||||
mv $1.co/trunk/* dbeauty
|
||||
cd dbeauty
|
||||
sed "s/new javax.swing.JComboBox()/new net.sf.jailer.ui.JComboBox()/g" src/main/net/sf/jailer/ui/*.java --in-place
|
||||
sed "s/new javax.swing.JComboBox()/new net.sf.jailer.ui.JComboBox()/g" src/main/net/sf/jailer/ui/databrowser/*.java --in-place
|
||||
cp doc/web/home.htm doc/web/index.html
|
||||
rm -rf doc/htdocs
|
||||
find -iname ".svn" -exec rm -rf '{}' \;
|
||||
|
||||
@@ -10,6 +10,7 @@ cd ..
|
||||
mv $1.co/trunk/* jailer
|
||||
cd jailer
|
||||
sed "s/new javax.swing.JComboBox()/new net.sf.jailer.ui.JComboBox()/g" src/main/net/sf/jailer/ui/*.java --in-place
|
||||
sed "s/new javax.swing.JComboBox()/new net.sf.jailer.ui.JComboBox()/g" src/main/net/sf/jailer/ui/databrowser/*.java --in-place
|
||||
cp doc/web/home.htm doc/web/index.html
|
||||
rm -rf doc/htdocs
|
||||
find -iname ".svn" -exec rm -rf '{}' \;
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
1.6
|
||||
1.5.3
|
||||
- Added ability to hide table-browser windows from views.
|
||||
- Added context menu for thumbnailed browser windows.
|
||||
- Filter-condition historization.
|
||||
|
||||
1.5.2
|
||||
- Fixed a performance issue.
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
3.7.9
|
||||
- Added ability to hide table-browser windows from views.
|
||||
- Added context menu for thumbnailed browser windows.
|
||||
- Filter-condition historization.
|
||||
|
||||
3.7.8
|
||||
- Fixed a performance issue within the Data Browser.
|
||||
|
||||
@@ -195,7 +195,7 @@ public class AnalyseOptionsDialog extends javax.swing.JDialog {
|
||||
okButton = new javax.swing.JButton();
|
||||
cancelButton = new javax.swing.JButton();
|
||||
schemaLabel = new javax.swing.JLabel();
|
||||
schemaComboBox = new javax.swing.JComboBox();
|
||||
schemaComboBox = new net.sf.jailer.ui.JComboBox();
|
||||
|
||||
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
|
||||
setTitle("Analyze Database");
|
||||
|
||||
@@ -784,7 +784,7 @@ public abstract class AssociationListUI extends javax.swing.JPanel {
|
||||
listPanel = new javax.swing.JPanel();
|
||||
jPanel2 = new javax.swing.JPanel();
|
||||
jLabel1 = new javax.swing.JLabel();
|
||||
groupByComboBox = new javax.swing.JComboBox();
|
||||
groupByComboBox = new net.sf.jailer.ui.JComboBox();
|
||||
infoLabel = new javax.swing.JLabel();
|
||||
jPanel4 = new javax.swing.JPanel();
|
||||
hideButton = new javax.swing.JButton();
|
||||
|
||||
@@ -115,7 +115,7 @@ public class ColumnMapperDialog extends javax.swing.JDialog {
|
||||
|
||||
jPanel1 = new javax.swing.JPanel();
|
||||
jLabel1 = new javax.swing.JLabel();
|
||||
tableCombobox = new javax.swing.JComboBox();
|
||||
tableCombobox = new net.sf.jailer.ui.JComboBox();
|
||||
jLabel2 = new javax.swing.JLabel();
|
||||
jPanel2 = new javax.swing.JPanel();
|
||||
formatButton = new javax.swing.JButton();
|
||||
|
||||
@@ -652,9 +652,9 @@ public class ExtractionModelEditor extends javax.swing.JPanel {
|
||||
jPanel8 = new javax.swing.JPanel();
|
||||
jLabel7 = new javax.swing.JLabel();
|
||||
openSubjectConditionEditor = new javax.swing.JLabel();
|
||||
subjectTable = new javax.swing.JComboBox();
|
||||
subjectTable = new net.sf.jailer.ui.JComboBox();
|
||||
jPanel10 = new javax.swing.JPanel();
|
||||
exportFormat = new javax.swing.JComboBox();
|
||||
exportFormat = new net.sf.jailer.ui.JComboBox();
|
||||
exportButton = new javax.swing.JButton();
|
||||
openXmlSettings = new javax.swing.JButton();
|
||||
jPanel4 = new javax.swing.JPanel();
|
||||
@@ -662,7 +662,7 @@ public class ExtractionModelEditor extends javax.swing.JPanel {
|
||||
tree = new javax.swing.JTree();
|
||||
jPanel6 = new javax.swing.JPanel();
|
||||
jLabel9 = new javax.swing.JLabel();
|
||||
rootTable = new javax.swing.JComboBox();
|
||||
rootTable = new net.sf.jailer.ui.JComboBox();
|
||||
jPanel9 = new javax.swing.JPanel();
|
||||
openDataBrowser = new javax.swing.JButton();
|
||||
openClosureView = new javax.swing.JButton();
|
||||
@@ -671,7 +671,7 @@ public class ExtractionModelEditor extends javax.swing.JPanel {
|
||||
jLabel1 = new javax.swing.JLabel();
|
||||
jLabel2 = new javax.swing.JLabel();
|
||||
jLabel3 = new javax.swing.JLabel();
|
||||
aggregationCombobox = new javax.swing.JComboBox();
|
||||
aggregationCombobox = new net.sf.jailer.ui.JComboBox();
|
||||
tagField = new javax.swing.JTextField();
|
||||
jPanel5 = new javax.swing.JPanel();
|
||||
xmlTagApply = new javax.swing.JButton();
|
||||
|
||||
@@ -54,16 +54,6 @@
|
||||
|
||||
<Layout class="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout"/>
|
||||
<SubComponents>
|
||||
<Component class="javax.swing.JTextField" name="andCondition">
|
||||
<AuxValues>
|
||||
<AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="1"/>
|
||||
</AuxValues>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
|
||||
<GridBagConstraints gridX="1" gridY="1" gridWidth="1" gridHeight="1" fill="2" ipadX="0" ipadY="0" insetsTop="0" insetsLeft="0" insetsBottom="0" insetsRight="0" anchor="10" weightX="1.0" weightY="0.0"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
<Component class="javax.swing.JButton" name="loadButton">
|
||||
<Properties>
|
||||
<Property name="text" type="java.lang.String" value=" Reload "/>
|
||||
@@ -77,6 +67,27 @@
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
<Component class="javax.swing.JComboBox" name="andCondition">
|
||||
<Properties>
|
||||
<Property name="editable" type="boolean" value="true"/>
|
||||
<Property name="model" type="javax.swing.ComboBoxModel" editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
|
||||
<StringArray count="4">
|
||||
<StringItem index="0" value="Item 1"/>
|
||||
<StringItem index="1" value="Item 2"/>
|
||||
<StringItem index="2" value="Item 3"/>
|
||||
<StringItem index="3" value="Item 4"/>
|
||||
</StringArray>
|
||||
</Property>
|
||||
</Properties>
|
||||
<AuxValues>
|
||||
<AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="0"/>
|
||||
</AuxValues>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
|
||||
<GridBagConstraints gridX="1" gridY="1" gridWidth="1" gridHeight="1" fill="2" ipadX="0" ipadY="0" insetsTop="0" insetsLeft="0" insetsBottom="0" insetsRight="0" anchor="10" weightX="1.0" weightY="0.0"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
</SubComponents>
|
||||
</Container>
|
||||
<Container class="javax.swing.JPanel" name="onPanel">
|
||||
@@ -193,7 +204,7 @@
|
||||
</Component>
|
||||
</SubComponents>
|
||||
</Container>
|
||||
<Container class="javax.swing.JPanel" name="cardPanel">
|
||||
<Container class="javax.swing.JPanel" name="pendingNonpendingPanel">
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
|
||||
<GridBagConstraints gridX="2" gridY="12" gridWidth="7" gridHeight="1" fill="1" ipadX="0" ipadY="0" insetsTop="0" insetsLeft="0" insetsBottom="0" insetsRight="0" anchor="10" weightX="1.0" weightY="1.0"/>
|
||||
@@ -202,123 +213,188 @@
|
||||
|
||||
<Layout class="org.netbeans.modules.form.compat2.layouts.DesignCardLayout"/>
|
||||
<SubComponents>
|
||||
<Container class="javax.swing.JPanel" name="jPanel2">
|
||||
<Container class="javax.swing.JPanel" name="cardPanel">
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignCardLayout" value="org.netbeans.modules.form.compat2.layouts.DesignCardLayout$CardConstraintsDescription">
|
||||
<CardConstraints cardName="loading"/>
|
||||
<CardConstraints cardName="nonpending"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
|
||||
<Layout class="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout"/>
|
||||
<Layout class="org.netbeans.modules.form.compat2.layouts.DesignCardLayout"/>
|
||||
<SubComponents>
|
||||
<Component class="javax.swing.JLabel" name="jLabel2">
|
||||
<Properties>
|
||||
<Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
|
||||
<Font name="DejaVu Sans" size="14" style="1"/>
|
||||
</Property>
|
||||
<Property name="foreground" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
|
||||
<Color blue="10" green="10" red="8d" type="rgb"/>
|
||||
</Property>
|
||||
<Property name="text" type="java.lang.String" value="loading..."/>
|
||||
</Properties>
|
||||
<Container class="javax.swing.JPanel" name="jPanel2">
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
|
||||
<GridBagConstraints gridX="1" gridY="1" gridWidth="1" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="8" insetsLeft="8" insetsBottom="8" insetsRight="0" anchor="18" weightX="1.0" weightY="0.0"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
<Component class="javax.swing.JButton" name="cancelLoadButton">
|
||||
<Properties>
|
||||
<Property name="text" type="java.lang.String" value="Cancel"/>
|
||||
</Properties>
|
||||
<Events>
|
||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="cancelLoadButtonActionPerformed"/>
|
||||
</Events>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
|
||||
<GridBagConstraints gridX="1" gridY="2" gridWidth="1" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="0" insetsLeft="0" insetsBottom="0" insetsRight="0" anchor="11" weightX="1.0" weightY="1.0"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
</SubComponents>
|
||||
</Container>
|
||||
<Container class="javax.swing.JPanel" name="jPanel1">
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignCardLayout" value="org.netbeans.modules.form.compat2.layouts.DesignCardLayout$CardConstraintsDescription">
|
||||
<CardConstraints cardName="table"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
|
||||
<Layout class="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout"/>
|
||||
<SubComponents>
|
||||
<Container class="javax.swing.JScrollPane" name="rowsTableScrollPane">
|
||||
<Properties>
|
||||
<Property name="wheelScrollingEnabled" type="boolean" value="false"/>
|
||||
</Properties>
|
||||
<AuxValues>
|
||||
<AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="0"/>
|
||||
<AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/>
|
||||
</AuxValues>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
|
||||
<GridBagConstraints gridX="1" gridY="1" gridWidth="1" gridHeight="1" fill="1" ipadX="0" ipadY="0" insetsTop="0" insetsLeft="0" insetsBottom="0" insetsRight="0" anchor="10" weightX="1.0" weightY="1.0"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
|
||||
<Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
|
||||
<SubComponents>
|
||||
<Component class="javax.swing.JTable" name="rowsTable">
|
||||
<Properties>
|
||||
<Property name="autoCreateRowSorter" type="boolean" value="true"/>
|
||||
<Property name="model" type="javax.swing.table.TableModel" editor="org.netbeans.modules.form.editors2.TableModelEditor">
|
||||
<Table columnCount="4" rowCount="4">
|
||||
<Column editable="true" title="Title 1" type="java.lang.Object"/>
|
||||
<Column editable="true" title="Title 2" type="java.lang.Object"/>
|
||||
<Column editable="true" title="Title 3" type="java.lang.Object"/>
|
||||
<Column editable="true" title="Title 4" type="java.lang.Object"/>
|
||||
</Table>
|
||||
</Property>
|
||||
<Property name="autoResizeMode" type="int" value="0"/>
|
||||
</Properties>
|
||||
<AuxValues>
|
||||
<AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="1"/>
|
||||
</AuxValues>
|
||||
</Component>
|
||||
</SubComponents>
|
||||
</Container>
|
||||
<Container class="javax.swing.JPanel" name="jPanel6">
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
|
||||
<GridBagConstraints gridX="1" gridY="2" gridWidth="1" gridHeight="1" fill="2" ipadX="0" ipadY="0" insetsTop="0" insetsLeft="0" insetsBottom="0" insetsRight="0" anchor="15" weightX="0.0" weightY="0.0"/>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignCardLayout" value="org.netbeans.modules.form.compat2.layouts.DesignCardLayout$CardConstraintsDescription">
|
||||
<CardConstraints cardName="loading"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
|
||||
<Layout class="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout"/>
|
||||
<SubComponents>
|
||||
<Component class="javax.swing.JLabel" name="rowsCount">
|
||||
<Component class="javax.swing.JLabel" name="jLabel2">
|
||||
<Properties>
|
||||
<Property name="text" type="java.lang.String" value="jLabel3"/>
|
||||
<Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
|
||||
<Font name="DejaVu Sans" size="14" style="1"/>
|
||||
</Property>
|
||||
<Property name="foreground" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
|
||||
<Color blue="10" green="10" red="8d" type="rgb"/>
|
||||
</Property>
|
||||
<Property name="text" type="java.lang.String" value="loading..."/>
|
||||
</Properties>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
|
||||
<GridBagConstraints gridX="-1" gridY="-1" gridWidth="1" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="0" insetsLeft="0" insetsBottom="0" insetsRight="0" anchor="17" weightX="1.0" weightY="0.0"/>
|
||||
<GridBagConstraints gridX="1" gridY="1" gridWidth="1" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="8" insetsLeft="8" insetsBottom="8" insetsRight="0" anchor="18" weightX="1.0" weightY="0.0"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
<Component class="javax.swing.JCheckBox" name="selectDistinctCheckBox">
|
||||
<Component class="javax.swing.JButton" name="cancelLoadButton">
|
||||
<Properties>
|
||||
<Property name="selected" type="boolean" value="true"/>
|
||||
<Property name="text" type="java.lang.String" value="select distinct (-100 rows)"/>
|
||||
<Property name="text" type="java.lang.String" value="Cancel"/>
|
||||
</Properties>
|
||||
<Events>
|
||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="selectDistinctCheckBoxActionPerformed"/>
|
||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="cancelLoadButtonActionPerformed"/>
|
||||
</Events>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
|
||||
<GridBagConstraints gridX="1" gridY="2" gridWidth="1" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="0" insetsLeft="0" insetsBottom="0" insetsRight="0" anchor="11" weightX="1.0" weightY="1.0"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
</SubComponents>
|
||||
</Container>
|
||||
<Container class="javax.swing.JPanel" name="jPanel1">
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignCardLayout" value="org.netbeans.modules.form.compat2.layouts.DesignCardLayout$CardConstraintsDescription">
|
||||
<CardConstraints cardName="table"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
|
||||
<Layout class="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout"/>
|
||||
<SubComponents>
|
||||
<Container class="javax.swing.JScrollPane" name="rowsTableScrollPane">
|
||||
<Properties>
|
||||
<Property name="wheelScrollingEnabled" type="boolean" value="false"/>
|
||||
</Properties>
|
||||
<AuxValues>
|
||||
<AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="0"/>
|
||||
<AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/>
|
||||
</AuxValues>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
|
||||
<GridBagConstraints gridX="-1" gridY="-1" gridWidth="1" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="0" insetsLeft="0" insetsBottom="0" insetsRight="0" anchor="10" weightX="0.0" weightY="0.0"/>
|
||||
<GridBagConstraints gridX="1" gridY="1" gridWidth="1" gridHeight="1" fill="1" ipadX="0" ipadY="0" insetsTop="0" insetsLeft="0" insetsBottom="0" insetsRight="0" anchor="10" weightX="1.0" weightY="1.0"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
|
||||
<Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
|
||||
<SubComponents>
|
||||
<Component class="javax.swing.JTable" name="rowsTable">
|
||||
<Properties>
|
||||
<Property name="autoCreateRowSorter" type="boolean" value="true"/>
|
||||
<Property name="model" type="javax.swing.table.TableModel" editor="org.netbeans.modules.form.editors2.TableModelEditor">
|
||||
<Table columnCount="4" rowCount="4">
|
||||
<Column editable="true" title="Title 1" type="java.lang.Object"/>
|
||||
<Column editable="true" title="Title 2" type="java.lang.Object"/>
|
||||
<Column editable="true" title="Title 3" type="java.lang.Object"/>
|
||||
<Column editable="true" title="Title 4" type="java.lang.Object"/>
|
||||
</Table>
|
||||
</Property>
|
||||
<Property name="autoResizeMode" type="int" value="0"/>
|
||||
</Properties>
|
||||
<AuxValues>
|
||||
<AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="1"/>
|
||||
</AuxValues>
|
||||
</Component>
|
||||
</SubComponents>
|
||||
</Container>
|
||||
<Container class="javax.swing.JPanel" name="jPanel6">
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
|
||||
<GridBagConstraints gridX="1" gridY="2" gridWidth="1" gridHeight="1" fill="2" ipadX="0" ipadY="0" insetsTop="0" insetsLeft="0" insetsBottom="0" insetsRight="0" anchor="15" weightX="0.0" weightY="0.0"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
|
||||
<Layout class="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout"/>
|
||||
<SubComponents>
|
||||
<Component class="javax.swing.JLabel" name="rowsCount">
|
||||
<Properties>
|
||||
<Property name="text" type="java.lang.String" value="jLabel3"/>
|
||||
</Properties>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
|
||||
<GridBagConstraints gridX="-1" gridY="-1" gridWidth="1" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="0" insetsLeft="0" insetsBottom="0" insetsRight="0" anchor="17" weightX="1.0" weightY="0.0"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
<Component class="javax.swing.JCheckBox" name="selectDistinctCheckBox">
|
||||
<Properties>
|
||||
<Property name="selected" type="boolean" value="true"/>
|
||||
<Property name="text" type="java.lang.String" value="select distinct (-100 rows)"/>
|
||||
</Properties>
|
||||
<Events>
|
||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="selectDistinctCheckBoxActionPerformed"/>
|
||||
</Events>
|
||||
<AuxValues>
|
||||
<AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="0"/>
|
||||
</AuxValues>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
|
||||
<GridBagConstraints gridX="-1" gridY="-1" gridWidth="1" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="0" insetsLeft="0" insetsBottom="0" insetsRight="0" anchor="10" weightX="0.0" weightY="0.0"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
</SubComponents>
|
||||
</Container>
|
||||
</SubComponents>
|
||||
</Container>
|
||||
<Container class="javax.swing.JPanel" name="jPanel5">
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignCardLayout" value="org.netbeans.modules.form.compat2.layouts.DesignCardLayout$CardConstraintsDescription">
|
||||
<CardConstraints cardName="error"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
|
||||
<Layout class="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout"/>
|
||||
<SubComponents>
|
||||
<Component class="javax.swing.JLabel" name="jLabel10">
|
||||
<Properties>
|
||||
<Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
|
||||
<Font name="DejaVu Sans" size="14" style="1"/>
|
||||
</Property>
|
||||
<Property name="foreground" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
|
||||
<Color blue="10" green="10" red="8d" type="rgb"/>
|
||||
</Property>
|
||||
<Property name="text" type="java.lang.String" value="Error"/>
|
||||
</Properties>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
|
||||
<GridBagConstraints gridX="1" gridY="1" gridWidth="1" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="8" insetsLeft="8" insetsBottom="8" insetsRight="0" anchor="18" weightX="1.0" weightY="1.0"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
</SubComponents>
|
||||
</Container>
|
||||
<Container class="javax.swing.JPanel" name="jPanel4">
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignCardLayout" value="org.netbeans.modules.form.compat2.layouts.DesignCardLayout$CardConstraintsDescription">
|
||||
<CardConstraints cardName="cancelled"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
|
||||
<Layout class="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout"/>
|
||||
<SubComponents>
|
||||
<Component class="javax.swing.JLabel" name="jLabel8">
|
||||
<Properties>
|
||||
<Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
|
||||
<Font name="DejaVu Sans" size="14" style="1"/>
|
||||
</Property>
|
||||
<Property name="foreground" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
|
||||
<Color blue="10" green="10" red="8d" type="rgb"/>
|
||||
</Property>
|
||||
<Property name="text" type="java.lang.String" value="Cancelled"/>
|
||||
</Properties>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
|
||||
<GridBagConstraints gridX="1" gridY="1" gridWidth="1" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="8" insetsLeft="8" insetsBottom="8" insetsRight="0" anchor="18" weightX="1.0" weightY="1.0"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
@@ -326,16 +402,16 @@
|
||||
</Container>
|
||||
</SubComponents>
|
||||
</Container>
|
||||
<Container class="javax.swing.JPanel" name="jPanel5">
|
||||
<Container class="javax.swing.JPanel" name="jPanel8">
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignCardLayout" value="org.netbeans.modules.form.compat2.layouts.DesignCardLayout$CardConstraintsDescription">
|
||||
<CardConstraints cardName="error"/>
|
||||
<CardConstraints cardName="pending"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
|
||||
<Layout class="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout"/>
|
||||
<SubComponents>
|
||||
<Component class="javax.swing.JLabel" name="jLabel10">
|
||||
<Component class="javax.swing.JLabel" name="jLabel11">
|
||||
<Properties>
|
||||
<Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
|
||||
<Font name="DejaVu Sans" size="14" style="1"/>
|
||||
@@ -343,34 +419,7 @@
|
||||
<Property name="foreground" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
|
||||
<Color blue="10" green="10" red="8d" type="rgb"/>
|
||||
</Property>
|
||||
<Property name="text" type="java.lang.String" value="Error"/>
|
||||
</Properties>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
|
||||
<GridBagConstraints gridX="1" gridY="1" gridWidth="1" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="8" insetsLeft="8" insetsBottom="8" insetsRight="0" anchor="18" weightX="1.0" weightY="1.0"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
</SubComponents>
|
||||
</Container>
|
||||
<Container class="javax.swing.JPanel" name="jPanel4">
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignCardLayout" value="org.netbeans.modules.form.compat2.layouts.DesignCardLayout$CardConstraintsDescription">
|
||||
<CardConstraints cardName="cancelled"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
|
||||
<Layout class="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout"/>
|
||||
<SubComponents>
|
||||
<Component class="javax.swing.JLabel" name="jLabel8">
|
||||
<Properties>
|
||||
<Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
|
||||
<Font name="DejaVu Sans" size="14" style="1"/>
|
||||
</Property>
|
||||
<Property name="foreground" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
|
||||
<Color blue="10" green="10" red="8d" type="rgb"/>
|
||||
</Property>
|
||||
<Property name="text" type="java.lang.String" value="Cancelled"/>
|
||||
<Property name="text" type="java.lang.String" value="pending..."/>
|
||||
</Properties>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
|
||||
|
||||
@@ -31,8 +31,8 @@ import java.awt.Rectangle;
|
||||
import java.awt.RenderingHints;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.awt.event.KeyAdapter;
|
||||
import java.awt.event.KeyEvent;
|
||||
import java.awt.event.ItemEvent;
|
||||
import java.awt.event.ItemListener;
|
||||
import java.awt.event.MouseEvent;
|
||||
import java.awt.event.MouseListener;
|
||||
import java.beans.PropertyChangeEvent;
|
||||
@@ -73,6 +73,7 @@ import javax.swing.JOptionPane;
|
||||
import javax.swing.JPopupMenu;
|
||||
import javax.swing.JSeparator;
|
||||
import javax.swing.JTable;
|
||||
import javax.swing.JTextField;
|
||||
import javax.swing.JTree;
|
||||
import javax.swing.RowSorter;
|
||||
import javax.swing.SwingUtilities;
|
||||
@@ -173,7 +174,7 @@ public abstract class BrowserContentPane extends javax.swing.JPanel {
|
||||
synchronized (rows) {
|
||||
e = exception;
|
||||
l = limit;
|
||||
if (rows.size() > limit) {
|
||||
while (rows.size() > limit) {
|
||||
limitExceeded = true;
|
||||
rows.remove(rows.size() - 1);
|
||||
}
|
||||
@@ -181,6 +182,7 @@ public abstract class BrowserContentPane extends javax.swing.JPanel {
|
||||
}
|
||||
if (e != null) {
|
||||
updateMode("error");
|
||||
unhide();
|
||||
if (!asking) {
|
||||
try {
|
||||
if (table.getName() != null && !table.exists(session, JDBCMetaDataBasedModelElementFinder.getDefaultSchema(session, session.getSchemaName()))) {
|
||||
@@ -238,6 +240,7 @@ public abstract class BrowserContentPane extends javax.swing.JPanel {
|
||||
}
|
||||
}
|
||||
}
|
||||
setPendingState(false, true);
|
||||
onContentChange(rows, rows.isEmpty() || currentHash != prevHash || rows.size() != prevSize || !prevIDs.equals(currentIDs) || rows.size() != currentIDs.size());
|
||||
updateMode("table");
|
||||
updateWhereField();
|
||||
@@ -341,7 +344,12 @@ public abstract class BrowserContentPane extends javax.swing.JPanel {
|
||||
* Maximum number of concurrent DB connections.
|
||||
*/
|
||||
private static int MAX_CONCURRENT_CONNECTIONS = 5;
|
||||
|
||||
|
||||
/**
|
||||
* And-condition-combobox model.
|
||||
*/
|
||||
private final DefaultComboBoxModel andCondModel = new DefaultComboBoxModel();
|
||||
|
||||
static {
|
||||
// initialize listeners for #runnableQueue
|
||||
for (int i = 0; i < MAX_CONCURRENT_CONNECTIONS; ++i) {
|
||||
@@ -410,6 +418,8 @@ public abstract class BrowserContentPane extends javax.swing.JPanel {
|
||||
|
||||
initComponents();
|
||||
|
||||
setPendingState(false, false);
|
||||
|
||||
dropA.setText(null);
|
||||
dropA.setIcon(dropDownIcon);
|
||||
dropA.addMouseListener(new java.awt.event.MouseAdapter() {
|
||||
@@ -442,11 +452,17 @@ public abstract class BrowserContentPane extends javax.swing.JPanel {
|
||||
});
|
||||
}
|
||||
|
||||
andCondition.addKeyListener(new KeyAdapter() {
|
||||
public void keyPressed(KeyEvent e) {
|
||||
int key = e.getKeyCode();
|
||||
if (key == KeyEvent.VK_ENTER) {
|
||||
reloadRows();
|
||||
andCondModel.addElement("");
|
||||
andCondition.setModel(andCondModel);
|
||||
|
||||
andCondition.addItemListener(new ItemListener() {
|
||||
@Override
|
||||
public void itemStateChanged(ItemEvent e) {
|
||||
if (!suppessReloadOnAndConditionAction) {
|
||||
if (e.getStateChange() == ItemEvent.SELECTED) {
|
||||
historizeAndCondition(e.getItem());
|
||||
reloadRows();
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -493,7 +509,7 @@ public abstract class BrowserContentPane extends javax.swing.JPanel {
|
||||
rowsTable.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_OFF);
|
||||
rowsTableScrollPane.setViewportView(rowsTable);
|
||||
|
||||
andCondition.setText(ConditionEditor.toSingleLine(condition));
|
||||
setAndCondition(condition, true);
|
||||
from.setText(table == null? "" : this.dataModel.getDisplayName(table));
|
||||
adjustGui();
|
||||
rowsTable.setShowGrid(false);
|
||||
@@ -624,10 +640,10 @@ public abstract class BrowserContentPane extends javax.swing.JPanel {
|
||||
openEditorLabel.addMouseListener(new java.awt.event.MouseAdapter() {
|
||||
@Override
|
||||
public void mouseClicked(MouseEvent e) {
|
||||
String cond = andConditionEditor.edit(andCondition.getText(), "Table", "A", table, null, null, null, false);
|
||||
String cond = andConditionEditor.edit(getAndConditionText(), "Table", "A", table, null, null, null, false);
|
||||
if (cond != null) {
|
||||
if (!andCondition.getText().equals(ConditionEditor.toSingleLine(cond))) {
|
||||
andCondition.setText(ConditionEditor.toSingleLine(cond));
|
||||
if (!getAndConditionText().equals(ConditionEditor.toSingleLine(cond))) {
|
||||
setAndCondition(cond, true);
|
||||
loadButton.grabFocus();
|
||||
reloadRows();
|
||||
}
|
||||
@@ -772,7 +788,50 @@ public abstract class BrowserContentPane extends javax.swing.JPanel {
|
||||
reloadRows();
|
||||
}
|
||||
}
|
||||
|
||||
void setPendingState(boolean pending, boolean propagate) {
|
||||
((CardLayout) pendingNonpendingPanel.getLayout()).show(pendingNonpendingPanel, pending? "pending" : "nonpending");
|
||||
if (propagate) {
|
||||
for (RowBrowser child: getChildBrowsers()) {
|
||||
child.browserContentPane.setPendingState(pending, propagate);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected void historizeAndCondition(Object item) {
|
||||
if (item == null) {
|
||||
return;
|
||||
}
|
||||
for (int i = 0; i < andCondModel.getSize(); ++i) {
|
||||
if (item.equals(andCondModel.getElementAt(i))) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
andCondModel.insertElementAt(item, 1);
|
||||
}
|
||||
|
||||
private boolean suppessReloadOnAndConditionAction = false;
|
||||
|
||||
void setAndCondition(String cond, boolean historize) {
|
||||
try {
|
||||
suppessReloadOnAndConditionAction = true;
|
||||
andCondition.setSelectedItem(ConditionEditor.toSingleLine(cond));
|
||||
if (historize) {
|
||||
historizeAndCondition(ConditionEditor.toSingleLine(cond));
|
||||
}
|
||||
} finally {
|
||||
suppessReloadOnAndConditionAction = false;
|
||||
}
|
||||
}
|
||||
|
||||
String getAndConditionText() {
|
||||
Object sel = andCondition.getSelectedItem();
|
||||
if (sel == null) {
|
||||
return "";
|
||||
}
|
||||
return sel.toString();
|
||||
}
|
||||
|
||||
private void adjustGui() {
|
||||
if (this.association == null) {
|
||||
joinPanel.setVisible(false);
|
||||
@@ -884,11 +943,11 @@ public abstract class BrowserContentPane extends javax.swing.JPanel {
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
String cond = SqlUtil.replaceAliases(row.rowId, "A", "A");
|
||||
String currentCond = andCondition.getText().trim();
|
||||
String currentCond = getAndConditionText().trim();
|
||||
if (currentCond.length() > 0) {
|
||||
cond = "(" + cond + ") and (" + currentCond + ")";
|
||||
}
|
||||
andCondition.setText(cond);
|
||||
andCondition.setSelectedItem(cond);
|
||||
reloadRows();
|
||||
}
|
||||
});
|
||||
@@ -1401,60 +1460,7 @@ public abstract class BrowserContentPane extends javax.swing.JPanel {
|
||||
// toAdjust.add(getParentBrowser());
|
||||
// }
|
||||
|
||||
List<RowBrowser> toAdjust = getTableBrowser();
|
||||
|
||||
for (RowBrowser rb: toAdjust) {
|
||||
if (rb.browserContentPane == this) {
|
||||
continue;
|
||||
}
|
||||
List<Row> rowsOfRB = new ArrayList<Row>();
|
||||
for (Pair<BrowserContentPane, Row> r: currentClosure) {
|
||||
if (r.a == rb.browserContentPane) {
|
||||
rowsOfRB.add(r.b);
|
||||
}
|
||||
}
|
||||
if (!rowsOfRB.isEmpty()) {
|
||||
Rectangle firstRowPos = null;
|
||||
Rectangle lastRowPos = null;
|
||||
Rectangle visibleRect = rb.browserContentPane.rowsTable.getVisibleRect();
|
||||
for (Row r: rowsOfRB) {
|
||||
int index = rb.browserContentPane.rows.indexOf(r);
|
||||
if (index < 0) {
|
||||
for (int n = 0; n < rb.browserContentPane.rows.size(); ++n) {
|
||||
if (r.rowId.equals(rb.browserContentPane.rows.get(n).rowId)) {
|
||||
index = n;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (index < 0) {
|
||||
// not visible due to distinct selection
|
||||
continue;
|
||||
}
|
||||
index = rb.browserContentPane.rowsTable.getRowSorter().convertRowIndexToView(index);
|
||||
Rectangle pos = rb.browserContentPane.rowsTable.getCellRect(index, 0, false);
|
||||
if (pos.y >= visibleRect.y && pos.y + pos.height < visibleRect.y + visibleRect.height) {
|
||||
// already a visible row
|
||||
firstRowPos = null;
|
||||
break;
|
||||
}
|
||||
if (firstRowPos == null || firstRowPos.y > pos.y) {
|
||||
firstRowPos = pos;
|
||||
}
|
||||
if (lastRowPos == null || lastRowPos.y < pos.y) {
|
||||
lastRowPos = pos;
|
||||
}
|
||||
}
|
||||
if (lastRowPos != null) {
|
||||
rb.browserContentPane.rowsTable.scrollRectToVisible(new Rectangle(visibleRect.x, lastRowPos.y, 1, lastRowPos.height));
|
||||
}
|
||||
if (firstRowPos != null) {
|
||||
rb.browserContentPane.rowsTable.scrollRectToVisible(new Rectangle(visibleRect.x, firstRowPos.y, 1, firstRowPos.height));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
onRedraw();
|
||||
adjustClosure(this);
|
||||
}
|
||||
|
||||
private JPopupMenu createNavigationMenu(JPopupMenu popup, final Row row, final int rowIndex, List<String> assList, Map<String, Association> assMap,
|
||||
@@ -1523,18 +1529,23 @@ public abstract class BrowserContentPane extends javax.swing.JPanel {
|
||||
return popup;
|
||||
}
|
||||
|
||||
private long lastReloadTS = 0;
|
||||
|
||||
/**
|
||||
* Reloads rows.
|
||||
*/
|
||||
public void reloadRows() {
|
||||
if (!suppressReload) {
|
||||
lastReloadTS = System.currentTimeMillis();
|
||||
cancelLoadJob();
|
||||
setPendingState(true, true);
|
||||
updateMode("loading");
|
||||
setPendingState(false, false);
|
||||
int limit = 100;
|
||||
if (limitBox.getSelectedItem() instanceof Integer) {
|
||||
limit = (Integer) limitBox.getSelectedItem();
|
||||
}
|
||||
LoadJob reloadJob = new LoadJob(limit, (table instanceof SqlStatementTable)? sqlBrowserContentPane.sqlEditorPane.getText() : andCondition.getText(), selectDistinctCheckBox.isSelected());
|
||||
LoadJob reloadJob = new LoadJob(limit, (table instanceof SqlStatementTable)? sqlBrowserContentPane.sqlEditorPane.getText() : getAndConditionText(), selectDistinctCheckBox.isSelected());
|
||||
synchronized (this) {
|
||||
currentLoadJob = reloadJob;
|
||||
}
|
||||
@@ -1956,19 +1967,19 @@ public abstract class BrowserContentPane extends javax.swing.JPanel {
|
||||
private boolean isLimitExceeded = false;
|
||||
|
||||
/**
|
||||
* True a parent row-limit is exceeded.
|
||||
* Parent having row-limit exceeded.
|
||||
*/
|
||||
private boolean isParentLimitExceeded() {
|
||||
private RowBrowser parentWithExceededLimit() {
|
||||
RowBrowser parent = getParentBrowser();
|
||||
|
||||
while (parent != null) {
|
||||
if (parent.browserContentPane.isLimitExceeded) {
|
||||
return true;
|
||||
return parent;
|
||||
}
|
||||
parent = parent.browserContentPane.getParentBrowser();
|
||||
}
|
||||
|
||||
return false;
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -2075,7 +2086,15 @@ public abstract class BrowserContentPane extends javax.swing.JPanel {
|
||||
size = limit;
|
||||
}
|
||||
rowsCount.setText((limitExceeded ? " more than " : " ") + size + " row" + (size != 1 ? "s" : ""));
|
||||
rowsCount.setForeground(limitExceeded || isParentLimitExceeded()? Color.RED : new JLabel().getForeground());
|
||||
RowBrowser theParentWithExceededLimit = parentWithExceededLimit();
|
||||
rowsCount.setForeground(limitExceeded || theParentWithExceededLimit != null? Color.RED : new JLabel().getForeground());
|
||||
|
||||
if (theParentWithExceededLimit == null) {
|
||||
rowsCount.setToolTipText(null);
|
||||
} else {
|
||||
rowsCount.setToolTipText("potentially incomplete because " + theParentWithExceededLimit.internalFrame.getTitle() + " exceeded row limit");
|
||||
}
|
||||
|
||||
int nndr = noNonDistinctRows;
|
||||
if (noDistinctRows + noNonDistinctRows >= limit) {
|
||||
--nndr;
|
||||
@@ -2125,8 +2144,8 @@ public abstract class BrowserContentPane extends javax.swing.JPanel {
|
||||
wherePanel = new javax.swing.JPanel();
|
||||
where = new javax.swing.JLabel();
|
||||
jPanel7 = new javax.swing.JPanel();
|
||||
andCondition = new javax.swing.JTextField();
|
||||
loadButton = new javax.swing.JButton();
|
||||
andCondition = new javax.swing.JComboBox();
|
||||
onPanel = new javax.swing.JPanel();
|
||||
on = new javax.swing.JLabel();
|
||||
joinPanel = new javax.swing.JPanel();
|
||||
@@ -2135,6 +2154,7 @@ public abstract class BrowserContentPane extends javax.swing.JPanel {
|
||||
jPanel10 = new javax.swing.JPanel();
|
||||
from = new javax.swing.JLabel();
|
||||
jLabel5 = new javax.swing.JLabel();
|
||||
pendingNonpendingPanel = new javax.swing.JPanel();
|
||||
cardPanel = new javax.swing.JPanel();
|
||||
jPanel2 = new javax.swing.JPanel();
|
||||
jLabel2 = new javax.swing.JLabel();
|
||||
@@ -2149,6 +2169,8 @@ public abstract class BrowserContentPane extends javax.swing.JPanel {
|
||||
jLabel10 = new javax.swing.JLabel();
|
||||
jPanel4 = new javax.swing.JPanel();
|
||||
jLabel8 = new javax.swing.JLabel();
|
||||
jPanel8 = new javax.swing.JPanel();
|
||||
jLabel11 = new javax.swing.JLabel();
|
||||
jLabel1 = new javax.swing.JLabel();
|
||||
jLabel4 = new javax.swing.JLabel();
|
||||
jLabel9 = new javax.swing.JLabel();
|
||||
@@ -2187,12 +2209,6 @@ public abstract class BrowserContentPane extends javax.swing.JPanel {
|
||||
add(wherePanel, gridBagConstraints);
|
||||
|
||||
jPanel7.setLayout(new java.awt.GridBagLayout());
|
||||
gridBagConstraints = new java.awt.GridBagConstraints();
|
||||
gridBagConstraints.gridx = 1;
|
||||
gridBagConstraints.gridy = 1;
|
||||
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
|
||||
gridBagConstraints.weightx = 1.0;
|
||||
jPanel7.add(andCondition, gridBagConstraints);
|
||||
|
||||
loadButton.setText(" Reload ");
|
||||
loadButton.addActionListener(new java.awt.event.ActionListener() {
|
||||
@@ -2205,6 +2221,15 @@ public abstract class BrowserContentPane extends javax.swing.JPanel {
|
||||
gridBagConstraints.gridy = 1;
|
||||
jPanel7.add(loadButton, gridBagConstraints);
|
||||
|
||||
andCondition.setEditable(true);
|
||||
andCondition.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
|
||||
gridBagConstraints = new java.awt.GridBagConstraints();
|
||||
gridBagConstraints.gridx = 1;
|
||||
gridBagConstraints.gridy = 1;
|
||||
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
|
||||
gridBagConstraints.weightx = 1.0;
|
||||
jPanel7.add(andCondition, gridBagConstraints);
|
||||
|
||||
gridBagConstraints = new java.awt.GridBagConstraints();
|
||||
gridBagConstraints.gridx = 4;
|
||||
gridBagConstraints.gridy = 8;
|
||||
@@ -2282,6 +2307,8 @@ public abstract class BrowserContentPane extends javax.swing.JPanel {
|
||||
gridBagConstraints.weightx = 1.0;
|
||||
add(jPanel10, gridBagConstraints);
|
||||
|
||||
pendingNonpendingPanel.setLayout(new java.awt.CardLayout());
|
||||
|
||||
cardPanel.setLayout(new java.awt.CardLayout());
|
||||
|
||||
jPanel2.setLayout(new java.awt.GridBagLayout());
|
||||
@@ -2398,6 +2425,24 @@ public abstract class BrowserContentPane extends javax.swing.JPanel {
|
||||
|
||||
cardPanel.add(jPanel4, "cancelled");
|
||||
|
||||
pendingNonpendingPanel.add(cardPanel, "nonpending");
|
||||
|
||||
jPanel8.setLayout(new java.awt.GridBagLayout());
|
||||
|
||||
jLabel11.setFont(new java.awt.Font("DejaVu Sans", 1, 14)); // NOI18N
|
||||
jLabel11.setForeground(new java.awt.Color(141, 16, 16));
|
||||
jLabel11.setText("pending...");
|
||||
gridBagConstraints = new java.awt.GridBagConstraints();
|
||||
gridBagConstraints.gridx = 1;
|
||||
gridBagConstraints.gridy = 1;
|
||||
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
|
||||
gridBagConstraints.weightx = 1.0;
|
||||
gridBagConstraints.weighty = 1.0;
|
||||
gridBagConstraints.insets = new java.awt.Insets(8, 8, 8, 0);
|
||||
jPanel8.add(jLabel11, gridBagConstraints);
|
||||
|
||||
pendingNonpendingPanel.add(jPanel8, "pending");
|
||||
|
||||
gridBagConstraints = new java.awt.GridBagConstraints();
|
||||
gridBagConstraints.gridx = 2;
|
||||
gridBagConstraints.gridy = 12;
|
||||
@@ -2405,7 +2450,7 @@ public abstract class BrowserContentPane extends javax.swing.JPanel {
|
||||
gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
|
||||
gridBagConstraints.weightx = 1.0;
|
||||
gridBagConstraints.weighty = 1.0;
|
||||
add(cardPanel, gridBagConstraints);
|
||||
add(pendingNonpendingPanel, gridBagConstraints);
|
||||
|
||||
jLabel1.setFont(new java.awt.Font("DejaVu Sans", 1, 13));
|
||||
jLabel1.setText(" Join ");
|
||||
@@ -2569,7 +2614,9 @@ public abstract class BrowserContentPane extends javax.swing.JPanel {
|
||||
}//GEN-LAST:event_hideButtonActionPerformed
|
||||
|
||||
private void loadButtonActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_loadButtonActionPerformed
|
||||
reloadRows();
|
||||
if (System.currentTimeMillis() - lastReloadTS > 200) {
|
||||
reloadRows();
|
||||
}
|
||||
}// GEN-LAST:event_loadButtonActionPerformed
|
||||
|
||||
private void limitBoxItemStateChanged(java.awt.event.ItemEvent evt) {// GEN-FIRST:event_limitBoxItemStateChanged
|
||||
@@ -2584,7 +2631,7 @@ public abstract class BrowserContentPane extends javax.swing.JPanel {
|
||||
}
|
||||
|
||||
// Variables declaration - do not modify//GEN-BEGIN:variables
|
||||
public javax.swing.JTextField andCondition;
|
||||
javax.swing.JComboBox andCondition;
|
||||
private javax.swing.JLabel andLabel;
|
||||
private javax.swing.JButton cancelLoadButton;
|
||||
private javax.swing.JPanel cardPanel;
|
||||
@@ -2595,6 +2642,7 @@ public abstract class BrowserContentPane extends javax.swing.JPanel {
|
||||
private javax.swing.JButton hideButton;
|
||||
private javax.swing.JLabel jLabel1;
|
||||
private javax.swing.JLabel jLabel10;
|
||||
private javax.swing.JLabel jLabel11;
|
||||
private javax.swing.JLabel jLabel2;
|
||||
private javax.swing.JLabel jLabel3;
|
||||
private javax.swing.JLabel jLabel4;
|
||||
@@ -2611,6 +2659,7 @@ public abstract class BrowserContentPane extends javax.swing.JPanel {
|
||||
private javax.swing.JPanel jPanel5;
|
||||
private javax.swing.JPanel jPanel6;
|
||||
private javax.swing.JPanel jPanel7;
|
||||
private javax.swing.JPanel jPanel8;
|
||||
private javax.swing.JPanel jPanel9;
|
||||
private javax.swing.JLabel join;
|
||||
private javax.swing.JPanel joinPanel;
|
||||
@@ -2619,6 +2668,7 @@ public abstract class BrowserContentPane extends javax.swing.JPanel {
|
||||
private javax.swing.JLabel on;
|
||||
private javax.swing.JPanel onPanel;
|
||||
private javax.swing.JLabel openEditorLabel;
|
||||
private javax.swing.JPanel pendingNonpendingPanel;
|
||||
private javax.swing.JLabel relatedRowsLabel;
|
||||
private javax.swing.JPanel relatedRowsPanel;
|
||||
private javax.swing.JLabel rowsCount;
|
||||
@@ -2689,7 +2739,17 @@ public abstract class BrowserContentPane extends javax.swing.JPanel {
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
if (andCondition.isEnabled()) {
|
||||
if (andCondition.isEditable()) {
|
||||
andCondition.replaceSelection(c);
|
||||
if (andCondition.getEditor() != null && (andCondition.getEditor().getEditorComponent() instanceof JTextField)) {
|
||||
JTextField f = ((JTextField) andCondition.getEditor().getEditorComponent());
|
||||
int pos = f.getCaretPosition();
|
||||
String current = f.getText();
|
||||
if (pos < 0 || pos >= current.length()) {
|
||||
setAndCondition(current + c, false);
|
||||
} else {
|
||||
setAndCondition(current.substring(0, pos) + c + current.substring(pos), false);
|
||||
f.setCaretPosition(pos + c.length());
|
||||
}
|
||||
}
|
||||
andCondition.grabFocus();
|
||||
}
|
||||
}
|
||||
@@ -2763,6 +2823,8 @@ public abstract class BrowserContentPane extends javax.swing.JPanel {
|
||||
protected abstract List<RowBrowser> getChildBrowsers();
|
||||
protected abstract RowBrowser getParentBrowser();
|
||||
protected abstract List<RowBrowser> getTableBrowser();
|
||||
protected abstract void unhide();
|
||||
protected abstract void adjustClosure(BrowserContentPane tabu);
|
||||
|
||||
private void openDetails(final int x, final int y) {
|
||||
JDialog d = new JDialog(getOwner(), (table instanceof SqlStatementTable)? "" : dataModel.getDisplayName(table), true);
|
||||
|
||||
@@ -28,7 +28,7 @@ import net.sf.jailer.Jailer;
|
||||
public class DataBrowserContext {
|
||||
|
||||
private static String STANDALONE_APP_NAME = "DBeauty";
|
||||
private static String STANDALONE_APP_VERSION = "1.6";
|
||||
private static String STANDALONE_APP_VERSION = "1.5.3";
|
||||
|
||||
private static boolean supportsDataModelUpdates = true;
|
||||
private static Boolean standAlone = null;
|
||||
|
||||
@@ -36,6 +36,8 @@ import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.awt.event.ComponentEvent;
|
||||
import java.awt.event.ComponentListener;
|
||||
import java.awt.event.MouseAdapter;
|
||||
import java.awt.event.MouseEvent;
|
||||
import java.awt.geom.AffineTransform;
|
||||
import java.awt.geom.Point2D;
|
||||
import java.beans.PropertyChangeEvent;
|
||||
@@ -66,6 +68,7 @@ import javax.swing.JInternalFrame;
|
||||
import javax.swing.JLabel;
|
||||
import javax.swing.JOptionPane;
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.JPopupMenu;
|
||||
import javax.swing.JScrollPane;
|
||||
import javax.swing.JViewport;
|
||||
import javax.swing.SwingUtilities;
|
||||
@@ -299,6 +302,9 @@ public abstract class Desktop extends JDesktopPane {
|
||||
* Hides/unhides RowBrowser.
|
||||
*/
|
||||
public void setHidden(boolean hidden) {
|
||||
if (hidden == this.hidden) {
|
||||
return;
|
||||
}
|
||||
rbSourceToLinks = null;
|
||||
if (hidden) {
|
||||
internalFrame.setVisible(false);
|
||||
@@ -349,12 +355,8 @@ public abstract class Desktop extends JDesktopPane {
|
||||
Set<String> titles = new HashSet<String>();
|
||||
for (RowBrowser rb: tableBrowsers) {
|
||||
titles.add(rb.internalFrame.getTitle());
|
||||
try {
|
||||
rb.internalFrame.setMaximum(false);
|
||||
} catch (PropertyVetoException e) {
|
||||
// ignore
|
||||
}
|
||||
}
|
||||
demaximize();
|
||||
|
||||
String title = null;
|
||||
if (table != null) {
|
||||
@@ -553,7 +555,7 @@ public abstract class Desktop extends JDesktopPane {
|
||||
@Override
|
||||
protected QueryBuilderDialog.Relationship createQBRelations(boolean withParents) {
|
||||
QueryBuilderDialog.Relationship root = new QueryBuilderDialog.Relationship();
|
||||
root.whereClause = ConditionEditor.toMultiLine(andCondition.getText().trim()).replaceAll("(\r|\n)+", " ");
|
||||
root.whereClause = ConditionEditor.toMultiLine(getAndConditionText().trim()).replaceAll("(\r|\n)+", " ");
|
||||
if (root.whereClause.length() == 0) {
|
||||
root.whereClause = null;
|
||||
}
|
||||
@@ -576,7 +578,7 @@ public abstract class Desktop extends JDesktopPane {
|
||||
child.children.addAll(rb.browserContentPane.createQBChildrenRelations(childRB, false));
|
||||
child.parent = r;
|
||||
r.children.add(0, child);
|
||||
child.whereClause = ConditionEditor.toMultiLine(rb.browserContentPane.andCondition.getText().trim()).replaceAll("(\r|\n)+", " ");
|
||||
child.whereClause = ConditionEditor.toMultiLine(rb.browserContentPane.getAndConditionText().trim()).replaceAll("(\r|\n)+", " ");
|
||||
if (child.whereClause.length() == 0) {
|
||||
child.whereClause = null;
|
||||
}
|
||||
@@ -610,7 +612,7 @@ public abstract class Desktop extends JDesktopPane {
|
||||
boolean singleRowParent = rb.rowIndex >= 0 && !(rb.rowIndex == 0 && rb.parent != null && rb.parent.browserContentPane != null && rb.parent.browserContentPane.rows != null && rb.parent.browserContentPane.rows.size() == 1);
|
||||
if (true) { // all || !singleRowParent) {
|
||||
QueryBuilderDialog.Relationship child = new QueryBuilderDialog.Relationship();
|
||||
child.whereClause = ConditionEditor.toMultiLine(rb.browserContentPane.andCondition.getText().trim()).replaceAll("(\r|\n)+", " ");
|
||||
child.whereClause = ConditionEditor.toMultiLine(rb.browserContentPane.getAndConditionText().trim()).replaceAll("(\r|\n)+", " ");
|
||||
child.joinOperator = QueryBuilderDialog.JoinOperator.LeftJoin;
|
||||
if (child.whereClause.length() == 0) {
|
||||
child.whereClause = null;
|
||||
@@ -671,8 +673,19 @@ public abstract class Desktop extends JDesktopPane {
|
||||
|
||||
@Override
|
||||
protected void onHide() {
|
||||
demaximize();
|
||||
tableBrowser.setHidden(true);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void unhide() {
|
||||
tableBrowser.setHidden(false);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void adjustClosure(BrowserContentPane tabu) {
|
||||
Desktop.this.adjustClosure(tabu);
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
@@ -739,6 +752,19 @@ public abstract class Desktop extends JDesktopPane {
|
||||
return tableBrowser;
|
||||
}
|
||||
|
||||
/**
|
||||
* Demaximizes all internal frames.
|
||||
*/
|
||||
private void demaximize() {
|
||||
for (RowBrowser rb: tableBrowsers) {
|
||||
try {
|
||||
rb.internalFrame.setMaximum(false);
|
||||
} catch (PropertyVetoException e) {
|
||||
// ignore
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void initIFrame(final JInternalFrame jInternalFrame,
|
||||
final BrowserContentPane browserContentPane) {
|
||||
final JPanel thumbnail = new JPanel();
|
||||
@@ -763,6 +789,15 @@ public abstract class Desktop extends JDesktopPane {
|
||||
|
||||
jInternalFrame.getContentPane().add(browserContentPane, "C");
|
||||
jInternalFrame.getContentPane().add(thumbnail, "T");
|
||||
|
||||
thumbnail.addMouseListener(new MouseAdapter() {
|
||||
@Override
|
||||
public void mouseClicked(MouseEvent e) {
|
||||
JPopupMenu popup = browserContentPane.createPopupMenu(null, -1, 0, 0, false);
|
||||
popup.show(e.getComponent(), e.getX(), e.getY());
|
||||
}
|
||||
});
|
||||
|
||||
initIFrameContent(jInternalFrame, browserContentPane, thumbnail);
|
||||
jInternalFrame.addComponentListener(new ComponentListener() {
|
||||
@Override
|
||||
@@ -951,7 +986,7 @@ public abstract class Desktop extends JDesktopPane {
|
||||
*
|
||||
* @return <code>true</code> iff something has changed
|
||||
*/
|
||||
private boolean calculateLinks() {
|
||||
private synchronized boolean calculateLinks() {
|
||||
boolean changed = false;
|
||||
for (RowBrowser tableBrowser : tableBrowsers) {
|
||||
JInternalFrame internalFrame = tableBrowser.internalFrame;
|
||||
@@ -1244,7 +1279,19 @@ public abstract class Desktop extends JDesktopPane {
|
||||
for (Map.Entry<String, List<Link>> e: links.entrySet()) {
|
||||
for (Link link: e.getValue()) {
|
||||
link.visible = false;
|
||||
List<Link> ll = rbSourceToLinks.get(link.to).get(link.destRowID);
|
||||
|
||||
List<Link> ll;
|
||||
if (link.destRowID == ALL) {
|
||||
ll = new ArrayList<Desktop.Link>();
|
||||
for (List<Link> values: rbSourceToLinks.get(link.to).values()) {
|
||||
for (Link l: values) {
|
||||
ll.add(l);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
ll = rbSourceToLinks.get(link.to).get(link.destRowID);
|
||||
}
|
||||
|
||||
toJoinList.clear();
|
||||
if (ll != null) {
|
||||
toJoinList.addAll(ll);
|
||||
@@ -1774,6 +1821,7 @@ public abstract class Desktop extends JDesktopPane {
|
||||
getVisibleRect().height);
|
||||
scrollRectToVisible(vr);
|
||||
updateMenu(layoutMode);
|
||||
adjustClosure(null);
|
||||
}
|
||||
|
||||
void onMouseWheelMoved(java.awt.event.MouseWheelEvent evt) {
|
||||
@@ -2005,7 +2053,7 @@ public abstract class Desktop extends JDesktopPane {
|
||||
if (rb.browserContentPane.table != null) {
|
||||
String csv = browserNumber.get(rb) + "; " + (rb.parent == null? "" : browserNumber.get(rb.parent)) + "; ";
|
||||
|
||||
String where = rb.browserContentPane.andCondition.getText().trim();
|
||||
String where = rb.browserContentPane.getAndConditionText().trim();
|
||||
|
||||
if (rb.browserContentPane.parentRow != null) {
|
||||
if (where.length() > 0) {
|
||||
@@ -2204,10 +2252,72 @@ public abstract class Desktop extends JDesktopPane {
|
||||
return roots;
|
||||
}
|
||||
|
||||
/**
|
||||
* Adjusts scroll-position of each table browser s.t. rows in closure are visible.
|
||||
*
|
||||
* @param tabu don't adjust this one
|
||||
*/
|
||||
protected synchronized void adjustClosure(BrowserContentPane tabu) {
|
||||
for (RowBrowser rb: tableBrowsers) {
|
||||
if (rb.browserContentPane == tabu) {
|
||||
continue;
|
||||
}
|
||||
List<Row> rowsOfRB = new ArrayList<Row>();
|
||||
for (Pair<BrowserContentPane, Row> r: currentClosure) {
|
||||
if (r.a == rb.browserContentPane) {
|
||||
rowsOfRB.add(r.b);
|
||||
}
|
||||
}
|
||||
if (!rowsOfRB.isEmpty()) {
|
||||
Rectangle firstRowPos = null;
|
||||
Rectangle lastRowPos = null;
|
||||
Rectangle visibleRect = rb.browserContentPane.rowsTable.getVisibleRect();
|
||||
for (Row r: rowsOfRB) {
|
||||
int index = rb.browserContentPane.rows.indexOf(r);
|
||||
if (index < 0) {
|
||||
for (int n = 0; n < rb.browserContentPane.rows.size(); ++n) {
|
||||
if (r.rowId.equals(rb.browserContentPane.rows.get(n).rowId)) {
|
||||
index = n;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (index < 0) {
|
||||
// not visible due to distinct selection
|
||||
continue;
|
||||
}
|
||||
index = rb.browserContentPane.rowsTable.getRowSorter().convertRowIndexToView(index);
|
||||
Rectangle pos = rb.browserContentPane.rowsTable.getCellRect(index, 0, false);
|
||||
if (pos.y >= visibleRect.y && pos.y + pos.height < visibleRect.y + visibleRect.height) {
|
||||
// already a visible row
|
||||
firstRowPos = null;
|
||||
lastRowPos = null;
|
||||
break;
|
||||
}
|
||||
if (firstRowPos == null || firstRowPos.y > pos.y) {
|
||||
firstRowPos = pos;
|
||||
}
|
||||
if (lastRowPos == null || lastRowPos.y < pos.y) {
|
||||
lastRowPos = pos;
|
||||
}
|
||||
}
|
||||
if (lastRowPos != null) {
|
||||
rb.browserContentPane.rowsTable.scrollRectToVisible(new Rectangle(visibleRect.x, lastRowPos.y - lastRowPos.height, 1, 3 * lastRowPos.height));
|
||||
}
|
||||
if (firstRowPos != null) {
|
||||
rb.browserContentPane.rowsTable.scrollRectToVisible(new Rectangle(visibleRect.x, firstRowPos.y - firstRowPos.height, 1, 3 * firstRowPos.height));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
repaintDesktop();
|
||||
}
|
||||
|
||||
/**
|
||||
* Scrolls an iFrame to the center of the desktop.
|
||||
*/
|
||||
public void scrollToCenter(JInternalFrame iFrame) {
|
||||
demaximize();
|
||||
int w = getVisibleRect().width;
|
||||
int h = getVisibleRect().height;
|
||||
int x = iFrame.getBounds().x + iFrame.getBounds().width / 2 - getVisibleRect().width / 2;
|
||||
|
||||
@@ -61,7 +61,7 @@ public class QueryBuilderPathSelector extends javax.swing.JDialog {
|
||||
|
||||
jLabel1 = new javax.swing.JLabel();
|
||||
jLabel2 = new javax.swing.JLabel();
|
||||
toComboBox = new javax.swing.JComboBox();
|
||||
toComboBox = new net.sf.jailer.ui.JComboBox();
|
||||
fromLabel = new javax.swing.JLabel();
|
||||
okButton = new javax.swing.JButton();
|
||||
jLabel3 = new javax.swing.JLabel();
|
||||
|
||||
Reference in New Issue
Block a user