Author: tchemit Date: 2008-03-31 23:24:12 +0000 (Mon, 31 Mar 2008) New Revision: 267 Added: trunk/lutinvcs/lutinvcs-ui/src/main/uimodel/org/codelutin/vcs/ui/VCSSynchUI.jaxx Removed: trunk/lutinvcs/lutinvcs-ui/src/main/uimodel/org/codelutin/vcs/ui/VCSUpdateDialog.jaxx Modified: trunk/lutinvcs/lutinvcs-ui/src/main/uimodel/org/codelutin/vcs/ui/common.css trunk/lutinvcs/lutinvcs-ui/src/test/java/org/codelutin/vcs/ui/UITest.java Log: generate test datas + synch ui more Copied: trunk/lutinvcs/lutinvcs-ui/src/main/uimodel/org/codelutin/vcs/ui/VCSSynchUI.jaxx (from rev 258, trunk/lutinvcs/lutinvcs-ui/src/main/uimodel/org/codelutin/vcs/ui/VCSUpdateDialog.jaxx) =================================================================== --- trunk/lutinvcs/lutinvcs-ui/src/main/uimodel/org/codelutin/vcs/ui/VCSSynchUI.jaxx (rev 0) +++ trunk/lutinvcs/lutinvcs-ui/src/main/uimodel/org/codelutin/vcs/ui/VCSSynchUI.jaxx 2008-03-31 23:24:12 UTC (rev 267) @@ -0,0 +1,105 @@ +<JDialog title='lutinvcs.synch.title' + defaultCloseOperation='DISPOSE_ON_CLOSE'> + <style source="common.css"/> + <script> + + protected void selectTab(String tabname) { + cardLayout.show(preview, tabname); + } + Action quitAction; + + JRootPane rootPane = getRootPane(); + rootPane.setDefaultButton(quit); + quitAction = new AbstractAction(quit.getText()) { + private static final long serialVersionUID = -869095664995763057L; + public void actionPerformed(ActionEvent e) { + dispose(); + } + }; + rootPane.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke("ESCAPE"),"quit"); + rootPane.getActionMap().put("quit", quitAction); + allTable.setModel(model.getModel("model.synch.all")); + localTable.setModel(model.getModel("model.synch.local")); + remoteTable.setModel(model.getModel("model.synch.remote")); + refresh.setText(""); + diffAll.setText(""); + updateAll.setText(""); + commitAll.setText(""); + revertAll.setText(""); + </script> + <DefaultListModel id='listModel'/> + <org.codelutin.vcs.ui.model.SynchUIModel id="model"/> + <java.awt.CardLayout id='cardLayout'/> + + <JPopupMenu id="tablePopupMenu" invoker='{allTable}' enabled='false'> + <JMenuItem id='diff' text="lutinvcs.action.diff" toolTipText="lutinvcs.action.tooltip.diff"/> + <JMenuItem id='update' text="lutinvcs.action.update" toolTipText="lutinvcs.action.tooltip.update"/> + <JMenuItem id='commit' text="lutinvcs.action.commit" toolTipText="lutinvcs.action.tooltip.commit"/> + <JMenuItem id='revert' text="lutinvcs.action.revert" toolTipText="lutinvcs.action.tooltip.revert"/> + </JPopupMenu> + <Table> + <row fill='both'> + <cell fill='both' weightx='1'> + <JToolBar> + <JToggleButton id='allTab' selected='true' buttonGroup='tabs' text='lutinvcs.tabs.all' mnemonic="A" + toolTipText="lutinvcs.tabs.tooltip.all" onActionPerformed='selectTab("all")'/> + <JToggleButton id='localTab' selected='false' buttonGroup='tabs' text='lutinvcs.tabs.local' + mnemonic="L" + toolTipText="lutinvcs.tabs.tooltip.local" onActionPerformed='selectTab("local")'/> + <JToggleButton id='remoteTab' selected='false' buttonGroup='tabs' text='lutinvcs.tabs.remote' + mnemonic="R" + toolTipText="lutinvcs.tabs.tooltip.remote" onActionPerformed='selectTab("remote")'/> + + <JButton id='refresh' text="lutinvcs.action.refresh" toolTipText="lutinvcs.action.tooltip.refresh" + icon='{createImageIcon("autoRefresh.png")}'/> + <JButton id='diffAll' text="lutinvcs.action.diffAll" toolTipText="lutinvcs.action.tooltip.diffAll" + icon='{createImageIcon("diff.png")}'/> + <JButton id='updateAll' text="lutinvcs.action.updateAll" + toolTipText="lutinvcs.action.tooltip.updateAll" icon='{createImageIcon("update.png")}'/> + <JButton id='commitAll' text="lutinvcs.action.commitAll" + toolTipText="lutinvcs.action.tooltip.commitAll" icon='{createImageIcon("commit.png")}'/> + <JButton id='revertAll' text="lutinvcs.action.revertAll" + toolTipText="lutinvcs.action.tooltip.revertAll" icon='{createImageIcon("rollback.png")}'/> + </JToolBar> + </cell> + </row> + <row fill='both'> + <cell fill='both' weighty='1' weightx='2'> + <JPanel id='preview' layout='{cardLayout}'> + <JScrollPane id='allContent' styleClass='updateScroll' constraints='"all"'> + <JTable id="allTable" styleClass='updateTable'/> + </JScrollPane> + <JScrollPane id='localContent' styleClass='updateScroll' visible='false' constraints='"local"'> + <JTable id="localTable" styleClass='updateTable'/> + </JScrollPane> + <JScrollPane id='remoteContent' styleClass='updateScroll' visible='false' constraints='"remote"'> + <JTable id="remoteTable" styleClass='updateTable'/> + </JScrollPane> + </JPanel> + </cell> + </row> + <row> + <cell fill='both'> + <JButton id='quit' text='lutinvcs.quit' action='{quitAction}'/> + </cell> + </row> + <!--row> + <cell fill='both'> + <JToolBar> + <Table insets='0,0,0,0'> + <row fill='both' anchor='west'> + <cell fill='both' weightx='2'> + <JLabel id="label"/> + </cell> + </row> + <row fill='both' anchor='east'> + <cell fill='both'> + <JProgressBar id="progress"/> + </cell> + </row> + </Table> + </JToolBar> + </cell> + </row--> + </Table> +</JDialog> Deleted: trunk/lutinvcs/lutinvcs-ui/src/main/uimodel/org/codelutin/vcs/ui/VCSUpdateDialog.jaxx =================================================================== --- trunk/lutinvcs/lutinvcs-ui/src/main/uimodel/org/codelutin/vcs/ui/VCSUpdateDialog.jaxx 2008-03-31 23:23:32 UTC (rev 266) +++ trunk/lutinvcs/lutinvcs-ui/src/main/uimodel/org/codelutin/vcs/ui/VCSUpdateDialog.jaxx 2008-03-31 23:24:12 UTC (rev 267) @@ -1,85 +0,0 @@ -<JDialog title='lutinvcs.synch.title' - defaultCloseOperation='DISPOSE_ON_CLOSE'> - <style source="common.css"/> - <script> - - protected void selectTab(String tabname) { - cardLayout.show(preview, tabname); - } - Action quitAction ; - - JRootPane rootPane = getRootPane(); - rootPane.setDefaultButton(quit); - quitAction = new AbstractAction(quit.getText()) { - private static final long serialVersionUID = -869095664995763057L; - public void actionPerformed(ActionEvent e) { - dispose(); - } - }; - rootPane.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke("ESCAPE"),"quit"); - rootPane.getActionMap().put("quit", quitAction); - allTable.setModel(model.getModel("model.synch.all")); - localTable.setModel(model.getModel("model.synch.local")); - remoteTable.setModel(model.getModel("model.synch.remote")); - refresh.setText(""); - diffAll.setText(""); - updateAll.setText(""); - commitAll.setText(""); - revertAll.setText(""); - </script> - <DefaultListModel id='listModel'/> - <org.codelutin.vcs.ui.model.SynchUIModel id="model"/> - <java.awt.CardLayout id='cardLayout'/> - - <JPopupMenu id="tablePopupMenu" invoker='{allTable}' enabled='false'> - <JMenuItem id='diff' text="lutinvcs.action.diff" toolTipText="lutinvcs.action.tooltip.diff"/> - <JMenuItem id='update' text="lutinvcs.action.update" toolTipText="lutinvcs.action.tooltip.update"/> - <JMenuItem id='commit' text="lutinvcs.action.commit" toolTipText="lutinvcs.action.tooltip.commit"/> - <JMenuItem id='revert' text="lutinvcs.action.revert" toolTipText="lutinvcs.action.tooltip.revert"/> - </JPopupMenu> - <Table> - <row fill='both'> - <cell fill='both' weightx='1'> - <JToolBar> - <JToggleButton id='allTab' selected='true' buttonGroup='tabs' text='lutinvcs.tabs.all' - toolTipText="lutinvcs.tabs.tooltip.all" onActionPerformed='selectTab("all")'/> - <JToggleButton id='localTab' selected='false' buttonGroup='tabs' text='lutinvcs.tabs.local' - toolTipText="lutinvcs.tabs.tooltip.local" onActionPerformed='selectTab("local")'/> - <JToggleButton id='remoteTab' selected='false' buttonGroup='tabs' text='lutinvcs.tabs.remote' - toolTipText="lutinvcs.tabs.tooltip.remote" onActionPerformed='selectTab("remote")'/> - - <JButton id='refresh' text="lutinvcs.action.refresh" toolTipText="lutinvcs.action.tooltip.refresh" - icon='{createImageIcon("autoRefresh.png")}'/> - <JButton id='diffAll' text="lutinvcs.action.diffAll" toolTipText="lutinvcs.action.tooltip.diffAll" - icon='{createImageIcon("diff.png")}'/> - <JButton id='updateAll' text="lutinvcs.action.updateAll" - toolTipText="lutinvcs.action.tooltip.updateAll" icon='{createImageIcon("update.png")}'/> - <JButton id='commitAll' text="lutinvcs.action.commitAll" - toolTipText="lutinvcs.action.tooltip.commitAll" icon='{createImageIcon("commit.png")}'/> - <JButton id='revertAll' text="lutinvcs.action.revertAll" - toolTipText="lutinvcs.action.tooltip.revertAll" icon='{createImageIcon("rollback.png")}'/> - </JToolBar> - </cell> - </row> - <row fill='both'> - <cell fill='both' weighty='1' weightx='2'> - <JPanel id='preview' layout='{cardLayout}'> - <JScrollPane id='allContent' styleClass='updateScroll' constraints='"all"'> - <JTable id="allTable" styleClass='updateTable'/> - </JScrollPane> - <JScrollPane id='localContent' styleClass='updateScroll' visible='false' constraints='"local"'> - <JTable id="localTable" styleClass='updateTable'/> - </JScrollPane> - <JScrollPane id='remoteContent' styleClass='updateScroll' visible='false' constraints='"remote"'> - <JTable id="remoteTable" styleClass='updateTable'/> - </JScrollPane> - </JPanel> - </cell> - </row> - <row> - <cell columns='2' fill='both'> - <JButton id='quit' text='lutinvcs.quit' action='{quitAction}'/> - </cell> - </row> - </Table> -</JDialog> Modified: trunk/lutinvcs/lutinvcs-ui/src/main/uimodel/org/codelutin/vcs/ui/common.css =================================================================== --- trunk/lutinvcs/lutinvcs-ui/src/main/uimodel/org/codelutin/vcs/ui/common.css 2008-03-31 23:23:32 UTC (rev 266) +++ trunk/lutinvcs/lutinvcs-ui/src/main/uimodel/org/codelutin/vcs/ui/common.css 2008-03-31 23:24:12 UTC (rev 267) @@ -33,7 +33,8 @@ .updateTable { rowSelectionAllowed: true; - autoResizeMode: auto_resize_last_column; + /*autoResizeMode: auto_resize_all_columns; + autoResizeMode: auto_resize_last_column;*/ showVerticalLines: false; cellSelectionEnabled: false; rowMargin: 0; Modified: trunk/lutinvcs/lutinvcs-ui/src/test/java/org/codelutin/vcs/ui/UITest.java =================================================================== --- trunk/lutinvcs/lutinvcs-ui/src/test/java/org/codelutin/vcs/ui/UITest.java 2008-03-31 23:23:32 UTC (rev 266) +++ trunk/lutinvcs/lutinvcs-ui/src/test/java/org/codelutin/vcs/ui/UITest.java 2008-03-31 23:24:12 UTC (rev 267) @@ -19,7 +19,7 @@ import org.codelutin.vcs.VCSHandler; import org.codelutin.vcs.VCSHandlerFactory; import org.codelutin.vcs.VCSState; -import org.codelutin.vcs.mock.MockVCSConfig; +import org.codelutin.vcs.impl.mock.MockVCSConfig; import org.codelutin.vcs.ui.model.SynchUIModel; import java.io.File; @@ -29,55 +29,46 @@ /** @author chemit */ public class UITest { + /** The r. */ + static java.util.Random r = new java.util.Random(); + public static void main(String[] args) { org.codelutin.i18n.I18n.init(); - VCSUpdateDialog dialog = new VCSUpdateDialog(); - SynchUIModel model = dialog.getModel(); MockVCSConfig config = new MockVCSConfig(); - File root = new File(new File("").getAbsolutePath()); - config.setLocalRoot(root); + config.setLocalRoot(new File(new File("").getAbsolutePath())); config.setInit(true); VCSHandlerFactory.setConfig(config); VCSHandler handler = VCSHandlerFactory.getHandler(); - List<VCSFileState> datas = generateLocalFileStates(handler, new File(root, "trunk")); - datas.addAll(generateRemoteFileStates(handler, new File(root, "trunk"))); + VCSSynchUI dialog = new VCSSynchUI(); + fillSynchModel(handler, dialog.getModel(), 20, "trunk", "local/", "remote/"); - model.setData(datas); dialog.setVisible(true); } - protected static List<VCSFileState> generateLocalFileStates(VCSHandler handler, File root) { - List<VCSFileState> datas = new ArrayList<VCSFileState>(); - VCSFileStateImpl state; - state = new VCSFileStateImpl(handler, new File(root, "local/file0")); - state.setState(VCSState.MODIFIED); - datas.add(state); + protected static void fillSynchModel(VCSHandler handler, SynchUIModel model, int max, String prefix, String localPRefix, String remotePrefix) { + List<VCSFileState> datas = generateLocalFileStates(handler, max, new File(handler.getConfig().getLocalDatabasePath(), prefix), localPRefix); + datas.addAll(generateRemoteFileStates(handler, max, new File(handler.getConfig().getLocalDatabasePath(), prefix), remotePrefix)); + model.setData(datas); + } - state = new VCSFileStateImpl(handler, new File(root, "local/file1")); - state.setState(VCSState.UNVERSIONNED); - datas.add(state); - state = new VCSFileStateImpl(handler, new File(root, "local/file2")); - state.setState(VCSState.MODIFIED); - datas.add(state); - return datas; + protected static List<VCSFileState> generateLocalFileStates(VCSHandler handler, int max, File root, String localPRefix) { + return generateFileStates(handler, root, max, localPRefix, VCSState.MODIFIED, VCSState.UNVERSIONNED, VCSState.OUT_OF_DATE_AND_MODIFIED); } - protected static List<VCSFileState> generateRemoteFileStates(VCSHandler handler, File root) { - List<VCSFileState> datas = new ArrayList<VCSFileState>(); - VCSFileStateImpl state; - state = new VCSFileStateImpl(handler, new File(root, "remote/file0")); - state.setState(VCSState.MISSING); - datas.add(state); + protected static List<VCSFileState> generateRemoteFileStates(VCSHandler handler, int max, File root, String remotePRefix) { + return generateFileStates(handler, root, max, remotePRefix, VCSState.MISSING, VCSState.OUT_OF_DATE, VCSState.OUT_OF_DATE_AND_MODIFIED); + } - state = new VCSFileStateImpl(handler, new File(root, "remote/file1")); - state.setState(VCSState.OUT_OF_DATE); - datas.add(state); - state = new VCSFileStateImpl(handler, new File(root, "remote/file2")); - state.setState(VCSState.MISSING); - datas.add(state); + protected static List<VCSFileState> generateFileStates(VCSHandler handler, File root, int max, String prefix, VCSState... states) { + List<VCSFileState> datas = new ArrayList<VCSFileState>(); + for (int i = 0, nbFiles = 1 + r.nextInt(max), size = states.length; i < nbFiles; i++) { + VCSFileStateImpl state = new VCSFileStateImpl(handler, new File(root, prefix + "file" + i)); + state.setState(states[r.nextInt(size)]); + datas.add(state); + } return datas; } }