From 8088590686a45e71278f9a52bb9cc37943dc0c37 Mon Sep 17 00:00:00 2001 From: Normand Briere <nbriere@noware.ca> Date: Sun, 23 Jun 2019 08:18:35 -0400 Subject: [PATCH] Full-screen mode. --- ObjEditor.java | 113 ++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 100 insertions(+), 13 deletions(-) diff --git a/ObjEditor.java b/ObjEditor.java index 9cf4839..9be4ae9 100644 --- a/ObjEditor.java +++ b/ObjEditor.java @@ -36,6 +36,8 @@ GroupEditor callee; JFrame frame; + static ObjEditor theFrame; + // SCRIPT transient JFrame textpanel = null; @@ -168,6 +170,7 @@ // objEditor.ctrlPanel.remove(remarkButton); objEditor.ctrlPanel.remove(setupPanel); + objEditor.ctrlPanel.remove(setupPanel2); objEditor.ctrlPanel.remove(commandsPanel); objEditor.ctrlPanel.remove(pushPanel); //objEditor.ctrlPanel.remove(fillPanel); @@ -243,6 +246,7 @@ //localCopy.parent = null; frame = new JFrame(); + frame.setUndecorated(true); objEditor = this; this.callee = callee; @@ -582,19 +586,89 @@ } } +static GraphicsDevice device = GraphicsEnvironment + .getLocalGraphicsEnvironment().getScreenDevices()[0]; + + Rectangle keeprect; + cRadio radio; + +cButton keepButton; + cButton twoButton; // Full 3D + cButton sixButton; + cButton threeButton; + cButton sevenButton; + cButton fourButton; // full panel + cButton oneButton; // full XYZ + //cButton currentLayout; + + boolean maximized; + + void Minimize() + { + frame.setState(Frame.ICONIFIED); + } + + void Maximize() + { + if (maximized) + { + frame.setBounds(keeprect.x, keeprect.y, keeprect.width, keeprect.height); + } + else + { + keeprect = frame.getBounds(); + Rectangle rect = GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds(); + Dimension rect2 = frame.getToolkit().getScreenSize(); + frame.setBounds(0, rect2.height - rect.height, rect.width, rect.height); +// frame.setState(Frame.MAXIMIZED_BOTH); + } + + maximized ^= true; + } + void ToggleFullScreen() { if (CameraPane.FULLSCREEN) { - frame.getContentPane().remove(/*"Center",*/bigThree); - framePanel.add(bigThree); - frame.getContentPane().add(/*"Center",*/framePanel); + device.setFullScreenWindow(null); + //frame.setVisible(false); +// frame.removeNotify(); +// frame.setUndecorated(false); +// frame.addNotify(); + //frame.setBounds(keeprect.x, keeprect.y, keeprect.width, keeprect.height); + +// X frame.getContentPane().remove(/*"Center",*/bigThree); +// X framePanel.add(bigThree); +// X frame.getContentPane().add(/*"Center",*/framePanel); + framePanel.setDividerLocation(1); + + //frame.setVisible(true); + radio.layout = keepButton; + //theFrame = null; + keepButton = null; + radio.layout.doClick(); + } else { - frame.getContentPane().remove(/*"Center",*/framePanel); - framePanel.remove(bigThree); - frame.getContentPane().add(/*"Center",*/bigThree); + keepButton = radio.layout; + //keeprect = frame.getBounds(); +// frame.setBounds(0, 0, frame.getToolkit().getScreenSize().width, +// frame.getToolkit().getScreenSize().height); + //frame.setVisible(false); + device.setFullScreenWindow(frame); +// frame.removeNotify(); +// frame.setUndecorated(true); +// frame.addNotify(); +// X frame.getContentPane().remove(/*"Center",*/framePanel); +// X framePanel.remove(bigThree); +// X frame.getContentPane().add(/*"Center",*/bigThree); + framePanel.setDividerLocation(0); + + radio.layout = twoButton; + radio.layout.doClick(); + //frame.setVisible(true); } + cameraView.ToggleFullScreen(); } @@ -747,6 +821,7 @@ cGridBag namePanel; cGridBag setupPanel; + cGridBag setupPanel2; cGridBag commandsPanel; cGridBag pushPanel; cGridBag fillPanel; @@ -939,21 +1014,25 @@ markCB = AddCheckBox(setupPanel, "Mark", copy.marked); markCB.setToolTipText("Set the animation target transform"); - rewindCB = AddCheckBox(setupPanel, "Rewind", copy.rewind); + setupPanel2 = new cGridBag().setVertical(false); + + rewindCB = AddCheckBox(setupPanel2, "Rewind", copy.rewind); rewindCB.setToolTipText("Rewind animation"); - randomCB = AddCheckBox(setupPanel, "Random", copy.random); - randomCB.setToolTipText("Option for switch node"); + randomCB = AddCheckBox(setupPanel2, "Rand", copy.random); + randomCB.setToolTipText("Randomly Rewind or Go back and forth"); if (Globals.ADVANCED) { - link2masterCB = AddCheckBox(setupPanel, "Support", copy.link2master); + link2masterCB = AddCheckBox(setupPanel2, "Supp", copy.link2master); link2masterCB.setToolTipText("Attach to support"); - speedupCB = AddCheckBox(setupPanel, "Speed", copy.speedup); + speedupCB = AddCheckBox(setupPanel2, "Speed", copy.speedup); speedupCB.setToolTipText("Option motion capture"); } oe.ctrlPanel.add(setupPanel); + oe.ctrlPanel.Return(); + oe.ctrlPanel.add(setupPanel2); oe.ctrlPanel.Return(); commandsPanel = new cGridBag().setVertical(false); @@ -1178,8 +1257,11 @@ //worldPanel.setName("World"); centralPanel = new cGridBag(); centralPanel.preferredWidth = 20; - timelinePanel = new JPanel(new BorderLayout()); - timelineMenubar = new timeflow.app.TimeflowApp().TimeFlowWindow(timelinePanel); + + if (Globals.ADVANCED) + { + timelinePanel = new JPanel(new BorderLayout()); + timelineMenubar = new timeflow.app.TimeflowApp().TimeFlowWindow(timelinePanel); cameraPanel = new JSplitPane(JSplitPane.VERTICAL_SPLIT, cameraView, timelinePanel); cameraPanel.setContinuousLayout(true); @@ -1188,7 +1270,10 @@ // cameraPanel.setDividerSize(9); cameraPanel.setResizeWeight(1.0); + } + centralPanel.add(cameraView); + centralPanel.setFocusable(true); //frame.setJMenuBar(timelineMenubar); //centralPanel.add(timelinePanel); @@ -1386,6 +1471,8 @@ frame.setSize(1280, 860); frame.setVisible(true); + cameraView.requestFocusInWindow(); + gridPanel.setDividerLocation(1.0); frame.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE); -- Gitblit v1.6.2