From 59de607850161a26863f92961d53caae7a2dabc8 Mon Sep 17 00:00:00 2001 From: Normand Briere <nbriere@noware.ca> Date: Tue, 06 Aug 2019 21:37:03 -0400 Subject: [PATCH] Pin button. --- ObjEditor.java | 47 +++++++++++++++++++---- icons/skybox.jpg | 0 icons/pin.png | 0 CameraPane.java | 2 GroupEditor.java | 12 +++--- Object3D.java | 1 6 files changed, 47 insertions(+), 15 deletions(-) diff --git a/CameraPane.java b/CameraPane.java index 28e9ff5..ad36004 100644 --- a/CameraPane.java +++ b/CameraPane.java @@ -10841,7 +10841,7 @@ if (wait) { - Sleep(500); + Sleep(200); // blocks everything wait = false; } diff --git a/GroupEditor.java b/GroupEditor.java index ed46f77..00a0f61 100644 --- a/GroupEditor.java +++ b/GroupEditor.java @@ -1111,7 +1111,7 @@ cGridBag skyboxpane = new cGridBag(); skyboxpane.preferredHeight = 100; - oe.toolboxPanel.add(skyboxpane); + oe.skyboxPanel.add(skyboxpane); JTabbedPane skyboxpanel = new JTabbedPane(); skyboxpane.add(skyboxpanel); @@ -1138,9 +1138,9 @@ clearPanelButton.setToolTipText("Clear edit panel"); clearPanelButton.addActionListener(this); - editCommandsPanel.add(unselectButton = new cButton("U", !Grafreed.NIMBUSLAF)); //, oe.aConstraints); - unselectButton.setToolTipText("Unselect"); - unselectButton.addActionListener(this); + //editCommandsPanel.add(unselectButton = new cButton("U", !Grafreed.NIMBUSLAF)); //, oe.aConstraints); + //unselectButton.setToolTipText("Unselect"); + //unselectButton.addActionListener(this); editCommandsPanel.add(flashSelectionButton = GetButton("icons/flash-light.png", !Grafreed.NIMBUSLAF)); //, oe.aConstraints); flashSelectionButton.setToolTipText("Highlight selection"); @@ -5182,7 +5182,7 @@ { editButton.setEnabled(enabled); uneditButton.setEnabled(enabled); - unselectButton.setEnabled(enabled); + //unselectButton.setEnabled(enabled); flashSelectionButton.setEnabled(enabled); clearPanelButton.setEnabled(!listUI.isEmpty()); @@ -5190,7 +5190,7 @@ void refreshContents(boolean cp) { - if (objectPanel.getSelectedIndex() == 2) // objectPanel.indexOfTab("Info")) + //if (objectPanel.getSelectedIndex() == 2) // objectPanel.indexOfTab("Info")) if (!Globals.MOUSEDRAGGED && group.selection != null) // && !Globals.TIMERRUNNING) { objEditor.ClearInfo(); // .GetMaterial()); diff --git a/ObjEditor.java b/ObjEditor.java index c2efc4b..8e14d77 100644 --- a/ObjEditor.java +++ b/ObjEditor.java @@ -34,6 +34,7 @@ iSendInfo //KeyListener { + public cToggleButton pinButton; boolean timeline; boolean wasFullScreen; @@ -466,6 +467,8 @@ toolboxPanel = new cGridBag().setVertical(true); //toolboxPanel.setName("Toolbox"); + + skyboxPanel = new cGridBag().setVertical(true); materialPanel = new cGridBag().setVertical(false); //materialPanel.setName("Material"); @@ -1205,6 +1208,18 @@ namePanel = new cGridBag(); + //if (copy.pinned) + { + pinButton = GetToggleButton("icons/pin.png", !Grafreed.NIMBUSLAF); + pinButton.setSelected(copy.pinned); + cGridBag t = new cGridBag(); + t.preferredWidth = 2; + t.add(pinButton); + namePanel.add(t); + + pinButton.addItemListener(this); + } + nameField = AddText(namePanel, copy.GetName()); namePanel.add(new JScrollPane(nameField, ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER)); oe.ctrlPanel.add(namePanel); @@ -1558,20 +1573,19 @@ objectPanel.add(toolboxPanel); objectPanel.setIconAt(1, GetIcon("icons/primitives.png")); - objectPanel.setToolTipTextAt(1, "Objects & backgrounds"); + objectPanel.setToolTipTextAt(1, "Objects & textures"); + objectPanel.add(skyboxPanel); + objectPanel.setIconAt(2, GetIcon("icons/skybox.jpg")); + objectPanel.setToolTipTextAt(2, "Backgrounds"); + // JPanel north = new JPanel(new BorderLayout()); // north.setName("Edit"); // north.add(ctrlPanel, BorderLayout.NORTH); // objectPanel.add(north); objectPanel.add(editPanel); - objectPanel.setIconAt(2, GetIcon("icons/write.png")); - objectPanel.setToolTipTextAt(2, "Edit controls"); - - //if (Globals.ADVANCED) - objectPanel.add(infoPanel); - objectPanel.setIconAt(3, GetIcon("icons/info.png")); - objectPanel.setToolTipTextAt(3, "Information"); + objectPanel.setIconAt(3, GetIcon("icons/write.png")); + objectPanel.setToolTipTextAt(3, "Edit controls"); objectPanel.add(XYZPanel); objectPanel.setIconAt(4, GetIcon("icons/XYZ.png")); @@ -1613,6 +1627,11 @@ scenePanel.add(tabbedPane); + //if (Globals.ADVANCED) + tabbedPane.add(infoPanel); + tabbedPane.setIconAt(3, GetIcon("icons/info.png")); + tabbedPane.setToolTipTextAt(3, "Information"); + /* cTree jTree = new cTree(null); ToolTipManager.sharedInstance().registerComponent(jTree); @@ -3574,6 +3593,17 @@ public void itemStateChanged(ItemEvent event) { // System.out.println("Propagate = " + propagate); + if (event.getSource() == pinButton) + { + copy.pinned ^= true; + if (!copy.pinned && !copy.editWindow.copy.selection.contains(copy)) + { + ((GroupEditor)copy.editWindow).listUI.remove(copy); + copy.CloseUI(); + //copy.editWindow.refreshContents(); + } + } + else if (event.getSource() == propagateToggle) { propagate ^= true; @@ -5747,6 +5777,7 @@ ButtonGroup buttonGroup; cGridBag toolboxPanel; + cGridBag skyboxPanel; cGridBag materialPanel; cGridBag ctrlPanel; diff --git a/Object3D.java b/Object3D.java index 4b58659..adb076e 100644 --- a/Object3D.java +++ b/Object3D.java @@ -2468,6 +2468,7 @@ else { //((ObjEditor)editWindow).SetupUI2(null); + ((ObjEditor)objectUI).pinButton.setSelected(pinned); } } diff --git a/icons/pin.png b/icons/pin.png new file mode 100644 index 0000000..7996481 --- /dev/null +++ b/icons/pin.png Binary files differ diff --git a/icons/skybox.jpg b/icons/skybox.jpg new file mode 100644 index 0000000..f3320df --- /dev/null +++ b/icons/skybox.jpg Binary files differ -- Gitblit v1.6.2