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