private void generateMapFile( Diagram diagram, TextHandler textHandler, String mapName, File target) throws IOException { String encoding = ConfigurationManager.getGlobalConfiguration().getFileEncoding(); FileOutputStream fos = new FileOutputStream(target); OutputStreamWriter osw = new OutputStreamWriter(fos, encoding); PrintWriter pw = new PrintWriter(osw); pw.println("<!-- Generated by Quick Sequence Diagram Editor -->"); pw.println("<!-- encoding: " + encoding + " -->"); pw.println( "<!-- You may append '#!href=\"<url>\"' to an object declaration\nin order to set" + " the 'href' attribute of an AREA tag -->"); pw.println("<map id=\"" + mapName + "\" name=\"" + mapName + "\">"); for (Lifeline lifeline : diagram.getAllLifelines()) { String annotation = textHandler.getAnnotation(lifeline); String file = lifeline.getName(); if (annotation != null) { String href[] = Grep.parse("^.*?href=\"(.*?)\".*$", annotation); if (href != null) { file = href[0]; } } Drawable drawable = lifeline.getHead(); int x1 = drawable.getLeft(); int y1 = drawable.getTop(); int x2 = drawable.getRight(); int y2 = drawable.getBottom(); String coords = x1 + "," + y1 + "," + x2 + "," + y2; pw.println(" <area shape=\"rect\" coords=\"" + coords + "\"" + " href=\"" + file + "\"/>"); } pw.println("</map>"); pw.flush(); pw.close(); }
static { String laf = ConfigurationManager.getGlobalConfiguration().getLookAndFeel(); LookAndFeelManager.instance().changeTo(laf); if (OS.TYPE != OS.Type.WINDOWS) { GrabbableViewport.setHandCursorIcon(Icons.getIcon("grabbing")); } }
public void setCode(String text) { Tab tab = currentTab(); if (tab != null) { tab.setCode(text); tab.home(); } enableComponents(); if (!ConfigurationManager.getGlobalConfiguration().isAutoUpdate()) { fireCodeChanged(false); } }
public String addTab(String tabTitle, Bean<Configuration> configuration) { Tab tab = new Tab( this, redrawThread, ConfigurationManager.getGlobalConfiguration().getEditorFont(), configuration); for (UserInterfaceListener listener : listeners) { if (listener.getPanelPaintDeviceListener() != null) { tab.addPanelPaintDeviceListener(listener.getPanelPaintDeviceListener()); } } String uniqueTitle = tabbedPane.addTab(tab, tabTitle); currentTab().layout(configuration.getDataObject().isVerticallySplit() ? 1 : 0); enableComponents(); return uniqueTitle; }
@SuppressWarnings("serial") public void showUI() { setIconImage(Icons.getIcon("icon").getImage()); fileChooser = new JFileChooser(); fileChooser.setCurrentDirectory(new File(System.getProperty("user.home"))); Container pane = getContentPane(); pane.setLayout(new BorderLayout()); tabbedPane = new ATabbedPane(); tabbedPane.addChangeListener(this); tabbedPane.addListener(this); pane.add(tabbedPane, BorderLayout.CENTER); pane.add(toolbar, BorderLayout.NORTH); bottomPanel = new JPanel(); bottomPanel.setLayout(new BorderLayout()); scalePanel = new ScalePanel(false); Dimension spSize = new Dimension(140, 24); scalePanel.setMaximumSize(spSize); scalePanel.setMinimumSize(spSize); scalePanel.setPreferredSize(spSize); scalePanel.setOpaque(false); addToolbarSeparator(); toolbar.add(scalePanel); registerComponent(scalePanel, nonEmptyDiagramActivator); addToolbarSeparator(); addToToolbar(scalePanel.normalSizeAction, nonEmptyDiagramActivator); addToToolbar(scalePanel.fitHeightAction, nonEmptyDiagramActivator); addToToolbar(scalePanel.fitWidthAction, nonEmptyDiagramActivator); addToToolbar(scalePanel.fitWindowAction, nonEmptyDiagramActivator); pane.add(bottomPanel, BorderLayout.SOUTH); int screenWidth = Toolkit.getDefaultToolkit().getScreenSize().width; int screenHeight = Toolkit.getDefaultToolkit().getScreenSize().height; int width = (int) (0.8 * screenWidth); int height = (int) (0.8 * screenHeight); int left = (int) (0.1 * screenWidth); int top = (int) (0.1 * screenHeight); setSize(width, height); setLocation(left, top); fullScreen = new FullScreen(); fullScreen.addListener(this); LookAndFeelManager.instance().register(fullScreen); setJMenuBar(menuBar); LookAndFeelManager.instance().register(this); // printDialog.loadProfiles(); ConfigurationManager.getGlobalConfigurationBean() .addPropertyChangeListener( new PropertyChangeListener() { public void propertyChange(PropertyChangeEvent evt) { enableComponents(); } }); enableComponents(); setVisible(true); }
public UserInterfaceImpl() { super(); LookAndFeelManager.instance() .setFont(ConfigurationManager.getGlobalConfiguration().getGuiFont()); setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); enableComponents = new EnableComponents(); preferencesDialog = new ConfigurationDialog(this); preferencesDialog.setTitle("Preferences"); preferencesDialog.getContentPane().setLayout(new BorderLayout()); preferencesDialog.setModal(true); preferencesDialog.setSize(new Dimension(675, 475)); LookAndFeelManager.instance().register(preferencesDialog); configurationPane = new JTabbedPane(); preferencesDialog.getContentPane().add(configurationPane, BorderLayout.CENTER); globalConfigurationUI = new ConfigurationUI<GlobalConfiguration>( preferencesDialog, ConfigurationManager.getGlobalConfigurationBean(), ConfigurationManager.GLOBAL_DEFAULT, null, "Restore defaults|Changes the current global preferences so that they are equal to the default preferences", "<html>In this tab you can change global preferences. On exit, they are stored in the" + " file <tt>" + Constants.GLOBAL_CONF_FILE.getAbsolutePath() + "</tt>."); globalConfigurationUI.setBorder(BorderFactory.createEmptyBorder(15, 15, 0, 15)); preferencesDialog.addConfigurationUI(globalConfigurationUI); ConfigurationUI<Configuration> defaultCUI = new ConfigurationUI<Configuration>( preferencesDialog, ConfigurationManager.getDefaultConfigurationBean(), ConfigurationManager.LOCAL_DEFAULT, null, "Restore defaults|Changes the initial preferences (to be used for newly created diagrams) such that they are equal to the default settings", "<html>This tab is for adjusting the (initial) preferences that are used for" + " newly created diagrams. They are stored along with the global preferences."); defaultCUI.setBorder(BorderFactory.createEmptyBorder(15, 15, 0, 15)); preferencesDialog.addConfigurationUI(defaultCUI); localConfigurationUI = new ConfigurationUI<Configuration>( preferencesDialog, ConfigurationManager.createNewDefaultConfiguration(), ConfigurationManager.getDefaultConfigurationBean(), "Save as initial|Saves the current diagram's preferences as the initial preferences (to be used for all newly created diagrams)", "Restore initial|Changes the current diagram's preferences such that they are equal to the initial preferences", "<html>This tab is for changing the preferences for the diagram" + " currently being displayed.<br>They will be stored " + " when the diagram is saved as an <tt>.sdx</tt>-file."); localConfigurationUI.setBorder(BorderFactory.createEmptyBorder(15, 15, 0, 15)); for (JPanel panel : localConfigurationUI.getCategoryPanels()) { LookAndFeelManager.instance().registerOrphan(panel); } preferencesDialog.addConfigurationUI(localConfigurationUI); configurationPane.add("Global preferences", globalConfigurationUI); configurationPane.add("Initial diagram preferences", defaultCUI); configurationPane.addTab("Current diagram preferences", localConfigurationUI); for (JPanel panel : globalConfigurationUI.getCategoryPanels()) { LookAndFeelManager.instance().registerOrphan(panel); } for (JPanel panel : defaultCUI.getCategoryPanels()) { LookAndFeelManager.instance().registerOrphan(panel); } listeners = new LinkedList<UserInterfaceListener>(); redrawThread = new RedrawThread(this); redrawThread.start(); menuBar = new MenuBar(); toolbar = new JToolBar(); toolbar.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5)); toolbar.setFloatable(false); }