mirror of
https://github.com/overcuriousity/autopsy-flatpak.git
synced 2025-07-17 18:17:43 +00:00
refactoring layout buttons
This commit is contained in:
parent
642981ff69
commit
268308874e
@ -166,9 +166,6 @@
|
|||||||
<Property name="horizontalTextPosition" type="int" value="0"/>
|
<Property name="horizontalTextPosition" type="int" value="0"/>
|
||||||
<Property name="verticalTextPosition" type="int" value="3"/>
|
<Property name="verticalTextPosition" type="int" value="3"/>
|
||||||
</Properties>
|
</Properties>
|
||||||
<Events>
|
|
||||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="hierarchyLayoutButtonActionPerformed"/>
|
|
||||||
</Events>
|
|
||||||
</Component>
|
</Component>
|
||||||
<Component class="javax.swing.JButton" name="fastOrganicLayoutButton">
|
<Component class="javax.swing.JButton" name="fastOrganicLayoutButton">
|
||||||
<Properties>
|
<Properties>
|
||||||
@ -179,9 +176,6 @@
|
|||||||
<Property name="horizontalTextPosition" type="int" value="0"/>
|
<Property name="horizontalTextPosition" type="int" value="0"/>
|
||||||
<Property name="verticalTextPosition" type="int" value="3"/>
|
<Property name="verticalTextPosition" type="int" value="3"/>
|
||||||
</Properties>
|
</Properties>
|
||||||
<Events>
|
|
||||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="fastOrganicLayoutButtonActionPerformed"/>
|
|
||||||
</Events>
|
|
||||||
</Component>
|
</Component>
|
||||||
<Component class="javax.swing.JButton" name="organicLayoutButton">
|
<Component class="javax.swing.JButton" name="organicLayoutButton">
|
||||||
<Properties>
|
<Properties>
|
||||||
@ -192,9 +186,6 @@
|
|||||||
<Property name="horizontalTextPosition" type="int" value="0"/>
|
<Property name="horizontalTextPosition" type="int" value="0"/>
|
||||||
<Property name="verticalTextPosition" type="int" value="3"/>
|
<Property name="verticalTextPosition" type="int" value="3"/>
|
||||||
</Properties>
|
</Properties>
|
||||||
<Events>
|
|
||||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="organicLayoutButtonActionPerformed"/>
|
|
||||||
</Events>
|
|
||||||
</Component>
|
</Component>
|
||||||
<Component class="javax.swing.JButton" name="circleLayoutButton">
|
<Component class="javax.swing.JButton" name="circleLayoutButton">
|
||||||
<Properties>
|
<Properties>
|
||||||
@ -205,9 +196,6 @@
|
|||||||
<Property name="horizontalTextPosition" type="int" value="0"/>
|
<Property name="horizontalTextPosition" type="int" value="0"/>
|
||||||
<Property name="verticalTextPosition" type="int" value="3"/>
|
<Property name="verticalTextPosition" type="int" value="3"/>
|
||||||
</Properties>
|
</Properties>
|
||||||
<Events>
|
|
||||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="circleLayoutButtonActionPerformed"/>
|
|
||||||
</Events>
|
|
||||||
</Component>
|
</Component>
|
||||||
<Component class="javax.swing.JToolBar$Separator" name="jSeparator1">
|
<Component class="javax.swing.JToolBar$Separator" name="jSeparator1">
|
||||||
<Properties>
|
<Properties>
|
||||||
|
@ -22,6 +22,7 @@ import com.google.common.eventbus.Subscribe;
|
|||||||
import com.mxgraph.layout.hierarchical.mxHierarchicalLayout;
|
import com.mxgraph.layout.hierarchical.mxHierarchicalLayout;
|
||||||
import com.mxgraph.layout.mxCircleLayout;
|
import com.mxgraph.layout.mxCircleLayout;
|
||||||
import com.mxgraph.layout.mxFastOrganicLayout;
|
import com.mxgraph.layout.mxFastOrganicLayout;
|
||||||
|
import com.mxgraph.layout.mxGraphLayout;
|
||||||
import com.mxgraph.layout.mxIGraphLayout;
|
import com.mxgraph.layout.mxIGraphLayout;
|
||||||
import com.mxgraph.layout.mxOrganicLayout;
|
import com.mxgraph.layout.mxOrganicLayout;
|
||||||
import com.mxgraph.model.mxCell;
|
import com.mxgraph.model.mxCell;
|
||||||
@ -54,10 +55,14 @@ import java.text.DecimalFormat;
|
|||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import static java.util.Collections.singleton;
|
import static java.util.Collections.singleton;
|
||||||
import java.util.EnumSet;
|
import java.util.EnumSet;
|
||||||
|
import java.util.HashMap;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
import java.util.concurrent.Future;
|
import java.util.concurrent.Future;
|
||||||
|
import java.util.function.BiConsumer;
|
||||||
import java.util.function.Consumer;
|
import java.util.function.Consumer;
|
||||||
|
import java.util.function.Function;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
import javax.swing.AbstractAction;
|
import javax.swing.AbstractAction;
|
||||||
import javax.swing.ImageIcon;
|
import javax.swing.ImageIcon;
|
||||||
@ -137,27 +142,23 @@ final public class VisualizationPanel extends JPanel implements Lookup.Provider
|
|||||||
private final mxFastOrganicLayout fastOrganicLayout;
|
private final mxFastOrganicLayout fastOrganicLayout;
|
||||||
private final mxCircleLayout circleLayout;
|
private final mxCircleLayout circleLayout;
|
||||||
private final mxOrganicLayout organicLayout;
|
private final mxOrganicLayout organicLayout;
|
||||||
private final mxHierarchicalLayout hierarchicalLayout;
|
private final mxHierarchicalLayout hierarchyLayout;
|
||||||
|
|
||||||
@ThreadConfined(type = ThreadConfined.ThreadType.AWT)
|
@ThreadConfined(type = ThreadConfined.ThreadType.AWT)
|
||||||
private SwingWorker<?, ?> worker;
|
private SwingWorker<?, ?> worker;
|
||||||
private final PinnedAccountModel pinnedAccountModel;
|
private final PinnedAccountModel pinnedAccountModel;
|
||||||
private final LockedVertexModel lockedVertexModel;
|
private final LockedVertexModel lockedVertexModel;
|
||||||
|
|
||||||
private final List<JButton> layoutButtons;
|
private final Map<mxGraphLayout, JButton> layoutButtons = new HashMap<>();
|
||||||
|
private mxGraphLayout currentLayout;
|
||||||
|
|
||||||
public VisualizationPanel() {
|
public VisualizationPanel() {
|
||||||
initComponents();
|
initComponents();
|
||||||
this.layoutButtons = Arrays.asList(circleLayoutButton, fastOrganicLayoutButton, organicLayoutButton, hierarchyLayoutButton);
|
|
||||||
|
|
||||||
graph = new CommunicationsGraph();
|
graph = new CommunicationsGraph();
|
||||||
|
|
||||||
pinnedAccountModel = graph.getPinnedAccountModel();
|
pinnedAccountModel = graph.getPinnedAccountModel();
|
||||||
lockedVertexModel = graph.getLockedVertexModel();
|
lockedVertexModel = graph.getLockedVertexModel();
|
||||||
|
|
||||||
fastOrganicLayout = new mxFastOrganicLayoutImpl(graph);
|
|
||||||
circleLayout = new mxCircleLayoutImpl(graph);
|
|
||||||
organicLayout = new mxOrganicLayoutImpl(graph);
|
|
||||||
hierarchicalLayout = new mxHierarchicalLayoutImpl(graph);
|
|
||||||
|
|
||||||
graphComponent = new mxGraphComponent(graph);
|
graphComponent = new mxGraphComponent(graph);
|
||||||
graphComponent.setAutoExtend(true);
|
graphComponent.setAutoExtend(true);
|
||||||
@ -198,8 +199,31 @@ final public class VisualizationPanel extends JPanel implements Lookup.Provider
|
|||||||
graph.getModel().addListener(mxEvent.UNDO, undoListener);
|
graph.getModel().addListener(mxEvent.UNDO, undoListener);
|
||||||
graph.getView().addListener(mxEvent.UNDO, undoListener);
|
graph.getView().addListener(mxEvent.UNDO, undoListener);
|
||||||
|
|
||||||
|
fastOrganicLayout = new mxFastOrganicLayoutImpl(graph);
|
||||||
|
circleLayout = new mxCircleLayoutImpl(graph);
|
||||||
|
organicLayout = new mxOrganicLayoutImpl(graph);
|
||||||
|
organicLayout.setMaxIterations(10);
|
||||||
|
hierarchyLayout = new mxHierarchicalLayoutImpl(graph);
|
||||||
|
|
||||||
|
//local method to configure layout buttons
|
||||||
|
BiConsumer<JButton, mxGraphLayout> configure = (layoutButton, layout) -> {
|
||||||
|
layoutButtons.put(layout, layoutButton);
|
||||||
|
layoutButton.addActionListener(event -> applyLayout(layout));
|
||||||
|
};
|
||||||
|
//configure layout buttons.
|
||||||
|
configure.accept(circleLayoutButton, circleLayout);
|
||||||
|
configure.accept(organicLayoutButton, organicLayout);
|
||||||
|
configure.accept(fastOrganicLayoutButton, fastOrganicLayout);
|
||||||
|
configure.accept(hierarchyLayoutButton, hierarchyLayout);
|
||||||
|
|
||||||
|
applyLayout(circleLayout);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param layoutButton the value of layoutButton
|
||||||
|
* @param layout the value of layout
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
|
|
||||||
public Lookup getLookup() {
|
public Lookup getLookup() {
|
||||||
@ -264,6 +288,7 @@ final public class VisualizationPanel extends JPanel implements Lookup.Provider
|
|||||||
if (worker.isCancelled()) {
|
if (worker.isCancelled()) {
|
||||||
graph.resetGraph();
|
graph.resetGraph();
|
||||||
rebuildGraph();
|
rebuildGraph();
|
||||||
|
morph(organicLayout);
|
||||||
} else {
|
} else {
|
||||||
morph(fastOrganicLayout);
|
morph(fastOrganicLayout);
|
||||||
}
|
}
|
||||||
@ -350,11 +375,11 @@ final public class VisualizationPanel extends JPanel implements Lookup.Provider
|
|||||||
|
|
||||||
borderLayoutPanel.setLayout(new BorderLayout());
|
borderLayoutPanel.setLayout(new BorderLayout());
|
||||||
|
|
||||||
|
jTextArea1.setBackground(new Color(240, 240, 240));
|
||||||
jTextArea1.setColumns(20);
|
jTextArea1.setColumns(20);
|
||||||
jTextArea1.setLineWrap(true);
|
jTextArea1.setLineWrap(true);
|
||||||
jTextArea1.setRows(5);
|
jTextArea1.setRows(5);
|
||||||
jTextArea1.setText(NbBundle.getMessage(VisualizationPanel.class, "VisualizationPanel.jTextArea1.text")); // NOI18N
|
jTextArea1.setText(NbBundle.getMessage(VisualizationPanel.class, "VisualizationPanel.jTextArea1.text")); // NOI18N
|
||||||
jTextArea1.setBackground(new Color(240, 240, 240));
|
|
||||||
|
|
||||||
GroupLayout placeHolderPanelLayout = new GroupLayout(placeHolderPanel);
|
GroupLayout placeHolderPanelLayout = new GroupLayout(placeHolderPanel);
|
||||||
placeHolderPanel.setLayout(placeHolderPanelLayout);
|
placeHolderPanel.setLayout(placeHolderPanelLayout);
|
||||||
@ -379,49 +404,29 @@ final public class VisualizationPanel extends JPanel implements Lookup.Provider
|
|||||||
hierarchyLayoutButton.setFocusable(false);
|
hierarchyLayoutButton.setFocusable(false);
|
||||||
hierarchyLayoutButton.setHorizontalTextPosition(SwingConstants.CENTER);
|
hierarchyLayoutButton.setHorizontalTextPosition(SwingConstants.CENTER);
|
||||||
hierarchyLayoutButton.setVerticalTextPosition(SwingConstants.BOTTOM);
|
hierarchyLayoutButton.setVerticalTextPosition(SwingConstants.BOTTOM);
|
||||||
hierarchyLayoutButton.addActionListener(new ActionListener() {
|
|
||||||
public void actionPerformed(ActionEvent evt) {
|
|
||||||
hierarchyLayoutButtonActionPerformed(evt);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
fastOrganicLayoutButton.setText(NbBundle.getMessage(VisualizationPanel.class, "VisualizationPanel.fastOrganicLayoutButton.text")); // NOI18N
|
fastOrganicLayoutButton.setText(NbBundle.getMessage(VisualizationPanel.class, "VisualizationPanel.fastOrganicLayoutButton.text")); // NOI18N
|
||||||
fastOrganicLayoutButton.setFocusable(false);
|
fastOrganicLayoutButton.setFocusable(false);
|
||||||
fastOrganicLayoutButton.setHorizontalTextPosition(SwingConstants.CENTER);
|
fastOrganicLayoutButton.setHorizontalTextPosition(SwingConstants.CENTER);
|
||||||
fastOrganicLayoutButton.setVerticalTextPosition(SwingConstants.BOTTOM);
|
fastOrganicLayoutButton.setVerticalTextPosition(SwingConstants.BOTTOM);
|
||||||
fastOrganicLayoutButton.addActionListener(new ActionListener() {
|
|
||||||
public void actionPerformed(ActionEvent evt) {
|
|
||||||
fastOrganicLayoutButtonActionPerformed(evt);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
organicLayoutButton.setText(NbBundle.getMessage(VisualizationPanel.class, "VisualizationPanel.organicLayoutButton.text")); // NOI18N
|
organicLayoutButton.setText(NbBundle.getMessage(VisualizationPanel.class, "VisualizationPanel.organicLayoutButton.text")); // NOI18N
|
||||||
organicLayoutButton.setFocusable(false);
|
organicLayoutButton.setFocusable(false);
|
||||||
organicLayoutButton.setHorizontalTextPosition(SwingConstants.CENTER);
|
organicLayoutButton.setHorizontalTextPosition(SwingConstants.CENTER);
|
||||||
organicLayoutButton.setVerticalTextPosition(SwingConstants.BOTTOM);
|
organicLayoutButton.setVerticalTextPosition(SwingConstants.BOTTOM);
|
||||||
organicLayoutButton.addActionListener(new ActionListener() {
|
|
||||||
public void actionPerformed(ActionEvent evt) {
|
|
||||||
organicLayoutButtonActionPerformed(evt);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
circleLayoutButton.setText(NbBundle.getMessage(VisualizationPanel.class, "VisualizationPanel.circleLayoutButton.text")); // NOI18N
|
circleLayoutButton.setText(NbBundle.getMessage(VisualizationPanel.class, "VisualizationPanel.circleLayoutButton.text")); // NOI18N
|
||||||
circleLayoutButton.setFocusable(false);
|
circleLayoutButton.setFocusable(false);
|
||||||
circleLayoutButton.setHorizontalTextPosition(SwingConstants.CENTER);
|
circleLayoutButton.setHorizontalTextPosition(SwingConstants.CENTER);
|
||||||
circleLayoutButton.setVerticalTextPosition(SwingConstants.BOTTOM);
|
circleLayoutButton.setVerticalTextPosition(SwingConstants.BOTTOM);
|
||||||
circleLayoutButton.addActionListener(new ActionListener() {
|
|
||||||
public void actionPerformed(ActionEvent evt) {
|
|
||||||
circleLayoutButtonActionPerformed(evt);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
jSeparator1.setOrientation(SwingConstants.VERTICAL);
|
jSeparator1.setOrientation(SwingConstants.VERTICAL);
|
||||||
|
|
||||||
zoomOutButton.setIcon(new ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/communications/images/magnifier-zoom-out-red.png"))); // NOI18N
|
zoomOutButton.setIcon(new ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/communications/images/magnifier-zoom-out-red.png"))); // NOI18N
|
||||||
zoomOutButton.setText(NbBundle.getMessage(VisualizationPanel.class, "VisualizationPanel.zoomOutButton.text")); // NOI18N
|
zoomOutButton.setText(NbBundle.getMessage(VisualizationPanel.class, "VisualizationPanel.zoomOutButton.text")); // NOI18N
|
||||||
|
zoomOutButton.setToolTipText(NbBundle.getMessage(VisualizationPanel.class, "VisualizationPanel.zoomOutButton.toolTipText")); // NOI18N
|
||||||
zoomOutButton.setFocusable(false);
|
zoomOutButton.setFocusable(false);
|
||||||
zoomOutButton.setHorizontalTextPosition(SwingConstants.CENTER);
|
zoomOutButton.setHorizontalTextPosition(SwingConstants.CENTER);
|
||||||
zoomOutButton.setToolTipText(NbBundle.getMessage(VisualizationPanel.class, "VisualizationPanel.zoomOutButton.toolTipText")); // NOI18N
|
|
||||||
zoomOutButton.setVerticalTextPosition(SwingConstants.BOTTOM);
|
zoomOutButton.setVerticalTextPosition(SwingConstants.BOTTOM);
|
||||||
zoomOutButton.addActionListener(new ActionListener() {
|
zoomOutButton.addActionListener(new ActionListener() {
|
||||||
public void actionPerformed(ActionEvent evt) {
|
public void actionPerformed(ActionEvent evt) {
|
||||||
@ -431,9 +436,9 @@ final public class VisualizationPanel extends JPanel implements Lookup.Provider
|
|||||||
|
|
||||||
zoomInButton.setIcon(new ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/communications/images/magnifier-zoom-in-green.png"))); // NOI18N
|
zoomInButton.setIcon(new ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/communications/images/magnifier-zoom-in-green.png"))); // NOI18N
|
||||||
zoomInButton.setText(NbBundle.getMessage(VisualizationPanel.class, "VisualizationPanel.zoomInButton.text")); // NOI18N
|
zoomInButton.setText(NbBundle.getMessage(VisualizationPanel.class, "VisualizationPanel.zoomInButton.text")); // NOI18N
|
||||||
|
zoomInButton.setToolTipText(NbBundle.getMessage(VisualizationPanel.class, "VisualizationPanel.zoomInButton.toolTipText")); // NOI18N
|
||||||
zoomInButton.setFocusable(false);
|
zoomInButton.setFocusable(false);
|
||||||
zoomInButton.setHorizontalTextPosition(SwingConstants.CENTER);
|
zoomInButton.setHorizontalTextPosition(SwingConstants.CENTER);
|
||||||
zoomInButton.setToolTipText(NbBundle.getMessage(VisualizationPanel.class, "VisualizationPanel.zoomInButton.toolTipText")); // NOI18N
|
|
||||||
zoomInButton.setVerticalTextPosition(SwingConstants.BOTTOM);
|
zoomInButton.setVerticalTextPosition(SwingConstants.BOTTOM);
|
||||||
zoomInButton.addActionListener(new ActionListener() {
|
zoomInButton.addActionListener(new ActionListener() {
|
||||||
public void actionPerformed(ActionEvent evt) {
|
public void actionPerformed(ActionEvent evt) {
|
||||||
@ -443,9 +448,9 @@ final public class VisualizationPanel extends JPanel implements Lookup.Provider
|
|||||||
|
|
||||||
zoomActualButton.setIcon(new ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/communications/images/magnifier-zoom-actual.png"))); // NOI18N
|
zoomActualButton.setIcon(new ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/communications/images/magnifier-zoom-actual.png"))); // NOI18N
|
||||||
zoomActualButton.setText(NbBundle.getMessage(VisualizationPanel.class, "VisualizationPanel.zoomActualButton.text")); // NOI18N
|
zoomActualButton.setText(NbBundle.getMessage(VisualizationPanel.class, "VisualizationPanel.zoomActualButton.text")); // NOI18N
|
||||||
|
zoomActualButton.setToolTipText(NbBundle.getMessage(VisualizationPanel.class, "VisualizationPanel.zoomActualButton.toolTipText")); // NOI18N
|
||||||
zoomActualButton.setFocusable(false);
|
zoomActualButton.setFocusable(false);
|
||||||
zoomActualButton.setHorizontalTextPosition(SwingConstants.CENTER);
|
zoomActualButton.setHorizontalTextPosition(SwingConstants.CENTER);
|
||||||
zoomActualButton.setToolTipText(NbBundle.getMessage(VisualizationPanel.class, "VisualizationPanel.zoomActualButton.toolTipText")); // NOI18N
|
|
||||||
zoomActualButton.setVerticalTextPosition(SwingConstants.BOTTOM);
|
zoomActualButton.setVerticalTextPosition(SwingConstants.BOTTOM);
|
||||||
zoomActualButton.addActionListener(new ActionListener() {
|
zoomActualButton.addActionListener(new ActionListener() {
|
||||||
public void actionPerformed(ActionEvent evt) {
|
public void actionPerformed(ActionEvent evt) {
|
||||||
@ -455,9 +460,9 @@ final public class VisualizationPanel extends JPanel implements Lookup.Provider
|
|||||||
|
|
||||||
fitZoomButton.setIcon(new ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/communications/images/magnifier-zoom-fit.png"))); // NOI18N
|
fitZoomButton.setIcon(new ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/communications/images/magnifier-zoom-fit.png"))); // NOI18N
|
||||||
fitZoomButton.setText(NbBundle.getMessage(VisualizationPanel.class, "VisualizationPanel.fitZoomButton.text")); // NOI18N
|
fitZoomButton.setText(NbBundle.getMessage(VisualizationPanel.class, "VisualizationPanel.fitZoomButton.text")); // NOI18N
|
||||||
|
fitZoomButton.setToolTipText(NbBundle.getMessage(VisualizationPanel.class, "VisualizationPanel.fitZoomButton.toolTipText")); // NOI18N
|
||||||
fitZoomButton.setFocusable(false);
|
fitZoomButton.setFocusable(false);
|
||||||
fitZoomButton.setHorizontalTextPosition(SwingConstants.CENTER);
|
fitZoomButton.setHorizontalTextPosition(SwingConstants.CENTER);
|
||||||
fitZoomButton.setToolTipText(NbBundle.getMessage(VisualizationPanel.class, "VisualizationPanel.fitZoomButton.toolTipText")); // NOI18N
|
|
||||||
fitZoomButton.setVerticalTextPosition(SwingConstants.BOTTOM);
|
fitZoomButton.setVerticalTextPosition(SwingConstants.BOTTOM);
|
||||||
fitZoomButton.addActionListener(new ActionListener() {
|
fitZoomButton.addActionListener(new ActionListener() {
|
||||||
public void actionPerformed(ActionEvent evt) {
|
public void actionPerformed(ActionEvent evt) {
|
||||||
@ -557,38 +562,18 @@ final public class VisualizationPanel extends JPanel implements Lookup.Provider
|
|||||||
graphComponent.zoomOut();
|
graphComponent.zoomOut();
|
||||||
}//GEN-LAST:event_zoomOutButtonActionPerformed
|
}//GEN-LAST:event_zoomOutButtonActionPerformed
|
||||||
|
|
||||||
private void circleLayoutButtonActionPerformed(ActionEvent evt) {//GEN-FIRST:event_circleLayoutButtonActionPerformed
|
|
||||||
makeButtonBold(circleLayoutButton);
|
|
||||||
morph(circleLayout);
|
|
||||||
}//GEN-LAST:event_circleLayoutButtonActionPerformed
|
|
||||||
|
|
||||||
private void organicLayoutButtonActionPerformed(ActionEvent evt) {//GEN-FIRST:event_organicLayoutButtonActionPerformed
|
|
||||||
makeButtonBold(organicLayoutButton);
|
|
||||||
applyOrganicLayout(10);
|
|
||||||
}//GEN-LAST:event_organicLayoutButtonActionPerformed
|
|
||||||
|
|
||||||
private void fastOrganicLayoutButtonActionPerformed(ActionEvent evt) {//GEN-FIRST:event_fastOrganicLayoutButtonActionPerformed
|
|
||||||
makeButtonBold(fastOrganicLayoutButton);
|
|
||||||
morph(fastOrganicLayout);
|
|
||||||
}//GEN-LAST:event_fastOrganicLayoutButtonActionPerformed
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets only the given button to have bold text.
|
|
||||||
*
|
*
|
||||||
* @param layoutButton The button to make bold.
|
* @param layoutButton the value of layoutButton
|
||||||
|
* @param layout the value of layout
|
||||||
*/
|
*/
|
||||||
private void makeButtonBold(JButton layoutButton) {
|
private void applyLayout(mxGraphLayout layout) {
|
||||||
layoutButtons.forEach((JButton t) -> {
|
currentLayout = layout;
|
||||||
t.setFont(t.getFont().deriveFont(Font.PLAIN));
|
layoutButtons.forEach((layoutKey, button)
|
||||||
});
|
-> button.setFont(button.getFont().deriveFont(layoutKey == layout ? Font.BOLD : Font.PLAIN)) );
|
||||||
|
morph(layout);
|
||||||
layoutButton.setFont(layoutButton.getFont().deriveFont(Font.BOLD));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void hierarchyLayoutButtonActionPerformed(ActionEvent evt) {//GEN-FIRST:event_hierarchyLayoutButtonActionPerformed
|
|
||||||
makeButtonBold(hierarchyLayoutButton);
|
|
||||||
morph(hierarchicalLayout);
|
|
||||||
}//GEN-LAST:event_hierarchyLayoutButtonActionPerformed
|
|
||||||
|
|
||||||
private void clearVizButtonActionPerformed(ActionEvent evt) {//GEN-FIRST:event_clearVizButtonActionPerformed
|
private void clearVizButtonActionPerformed(ActionEvent evt) {//GEN-FIRST:event_clearVizButtonActionPerformed
|
||||||
setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
|
setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
|
||||||
@ -602,11 +587,6 @@ final public class VisualizationPanel extends JPanel implements Lookup.Provider
|
|||||||
|
|
||||||
}//GEN-LAST:event_clearVizButtonActionPerformed
|
}//GEN-LAST:event_clearVizButtonActionPerformed
|
||||||
|
|
||||||
private void applyOrganicLayout(int iterations) {
|
|
||||||
organicLayout.setMaxIterations(iterations);
|
|
||||||
morph(organicLayout);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void fitGraph() {
|
private void fitGraph() {
|
||||||
graphComponent.zoomTo(1, true);
|
graphComponent.zoomTo(1, true);
|
||||||
mxPoint translate = graph.getView().getTranslate();
|
mxPoint translate = graph.getView().getTranslate();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user