From 5f9dff26f683afa31edd55f7104152ae717ee5db Mon Sep 17 00:00:00 2001 From: Chris2011 Date: Sat, 15 Sep 2018 19:05:54 +0200 Subject: [PATCH] [NETBEANS-59] - New clean commit for adding actions for split documents. And Changed line endings. --- .../core/multiview/ClearSplitAction.java | 62 ++++++++++++++++++ .../netbeans/core/multiview/SplitAction.java | 13 ++-- .../SplitDocumentHorizontallyAction.java | 64 +++++++++++++++++++ .../SplitDocumentVerticallyAction.java | 64 +++++++++++++++++++ 4 files changed, 195 insertions(+), 8 deletions(-) create mode 100644 platform/core.multiview/src/org/netbeans/core/multiview/ClearSplitAction.java create mode 100644 platform/core.multiview/src/org/netbeans/core/multiview/SplitDocumentHorizontallyAction.java create mode 100644 platform/core.multiview/src/org/netbeans/core/multiview/SplitDocumentVerticallyAction.java diff --git a/platform/core.multiview/src/org/netbeans/core/multiview/ClearSplitAction.java b/platform/core.multiview/src/org/netbeans/core/multiview/ClearSplitAction.java new file mode 100644 index 000000000000..27d639dd5fa8 --- /dev/null +++ b/platform/core.multiview/src/org/netbeans/core/multiview/ClearSplitAction.java @@ -0,0 +1,62 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.netbeans.core.multiview; + +import java.awt.event.ActionEvent; +import javax.swing.AbstractAction; +import javax.swing.Action; +import org.openide.awt.ActionID; +import org.openide.awt.ActionReference; +import org.openide.awt.ActionRegistration; +import org.openide.util.NbBundle; +import org.openide.windows.TopComponent; +import org.openide.windows.WindowManager; + +/** + * + * @author Christian Lenz (Chrizzly) + */ +@ActionID( + category = "Window", + id = "org.netbeans.core.multiview.ClearSplitAction" +) +@ActionRegistration( + displayName = "#LBL_ClearSplitAction" +) +@ActionReference(path = "Shortcuts", name = "DOS-C") +@NbBundle.Messages({ + "LBL_ClearSplitAction=&Clear", + "LBL_ValueClearSplit=clearSplit" +}) +public final class ClearSplitAction extends AbstractAction { + + public ClearSplitAction() { + putValue(Action.NAME, Bundle.LBL_ClearSplitAction()); + //hack to insert extra actions into JDev's popup menu + putValue("_nb_action_id_", Bundle.LBL_ValueClearSplit()); //NOI18N + } + + @Override + public void actionPerformed(ActionEvent evt) { + final TopComponent tc = WindowManager.getDefault().getRegistry().getActivated(); + + SplitAction.clearSplit(tc, -1); + } + +} diff --git a/platform/core.multiview/src/org/netbeans/core/multiview/SplitAction.java b/platform/core.multiview/src/org/netbeans/core/multiview/SplitAction.java index 3dea25912cec..b9e8af21ff49 100644 --- a/platform/core.multiview/src/org/netbeans/core/multiview/SplitAction.java +++ b/platform/core.multiview/src/org/netbeans/core/multiview/SplitAction.java @@ -31,7 +31,6 @@ import javax.swing.SwingUtilities; import org.openide.awt.DynamicMenuContent; import org.openide.awt.Mnemonics; -import org.openide.util.NbBundle; import org.openide.util.NbBundle.Messages; import org.openide.util.actions.Presenter; import org.openide.windows.TopComponent; @@ -81,7 +80,7 @@ public JMenuItem getMenuPresenter() { public JMenuItem getPopupPresenter() { return getSplitMenuItem(); } - + private JMenuItem getSplitMenuItem() { if(!isSplitingEnabled()) { return null; @@ -112,13 +111,17 @@ public JComponent[] getMenuPresenters() { if (tc != null) { setEnabled(true); if (tc instanceof Splitable && ((Splitable)tc).canSplit()) { + JMenuItem item = new JMenuItem(new SplitDocumentAction(tc, JSplitPane.VERTICAL_SPLIT)); Mnemonics.setLocalizedText(item, item.getText()); add(item); + item = new JMenuItem(new SplitDocumentAction(tc, JSplitPane.HORIZONTAL_SPLIT)); Mnemonics.setLocalizedText(item, item.getText()); add(item); + item = new JMenuItem(new ClearSplitAction(tc)); + Mnemonics.setLocalizedText(item, item.getText()); add(item); } else { // tc is not splitable @@ -136,10 +139,6 @@ public JComponent[] getMenuPresenters() { } } - @NbBundle.Messages({"LBL_SplitDocumentActionVertical=&Vertically", - "LBL_SplitDocumentActionHorizontal=&Horizontally", - "LBL_ValueSplitVertical=splitVertically", - "LBL_ValueSplitHorizontal=splitHorizontally"}) private static class SplitDocumentAction extends AbstractAction { private final Reference tcRef; @@ -169,8 +168,6 @@ public void actionPerformed(ActionEvent evt) { } } - @NbBundle.Messages({"LBL_ClearSplitAction=&Clear", - "LBL_ValueClearSplit=clearSplit"}) private static class ClearSplitAction extends AbstractAction { private final Reference tcRef; diff --git a/platform/core.multiview/src/org/netbeans/core/multiview/SplitDocumentHorizontallyAction.java b/platform/core.multiview/src/org/netbeans/core/multiview/SplitDocumentHorizontallyAction.java new file mode 100644 index 000000000000..fa7ba746da8c --- /dev/null +++ b/platform/core.multiview/src/org/netbeans/core/multiview/SplitDocumentHorizontallyAction.java @@ -0,0 +1,64 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.netbeans.core.multiview; + +import java.awt.event.ActionEvent; +import javax.swing.AbstractAction; +import javax.swing.Action; +import javax.swing.JSplitPane; +import org.openide.awt.ActionID; +import org.openide.awt.ActionReference; +import org.openide.awt.ActionRegistration; +import org.openide.util.NbBundle; +import org.openide.windows.TopComponent; +import org.openide.windows.WindowManager; + +/** + * + * @author Christian Lenz (Chrizzly) + */ +@ActionID( + category = "Window", + id = "org.netbeans.core.multiview.SplitDocumentHorizontallyAction" +) +@ActionRegistration( + displayName = "#LBL_ValueSplitHorizontal" +) +@ActionReference(path = "Shortcuts", name = "DOS-H") +@NbBundle.Messages({ + "LBL_SplitDocumentActionHorizontal=&Horizontally", + "LBL_ValueSplitHorizontal=Split horizontally" +}) +public final class SplitDocumentHorizontallyAction extends AbstractAction { + + public SplitDocumentHorizontallyAction() { + putValue(Action.NAME, Bundle.LBL_SplitDocumentActionHorizontal()); + //hack to insert extra actions into JDev's popup menu + putValue("_nb_action_id_", Bundle.LBL_ValueSplitHorizontal()); //NOI18N + } + + @Override + public final void actionPerformed(ActionEvent evt) { + final TopComponent tc = WindowManager.getDefault().getRegistry().getActivated(); + + if (tc != null) { + SplitAction.splitWindow(tc, JSplitPane.HORIZONTAL_SPLIT, -1); + } + } +} diff --git a/platform/core.multiview/src/org/netbeans/core/multiview/SplitDocumentVerticallyAction.java b/platform/core.multiview/src/org/netbeans/core/multiview/SplitDocumentVerticallyAction.java new file mode 100644 index 000000000000..e89137fdb15e --- /dev/null +++ b/platform/core.multiview/src/org/netbeans/core/multiview/SplitDocumentVerticallyAction.java @@ -0,0 +1,64 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.netbeans.core.multiview; + +import java.awt.event.ActionEvent; +import javax.swing.AbstractAction; +import javax.swing.Action; +import javax.swing.JSplitPane; +import org.openide.awt.ActionID; +import org.openide.awt.ActionReference; +import org.openide.awt.ActionRegistration; +import org.openide.util.NbBundle; +import org.openide.windows.TopComponent; +import org.openide.windows.WindowManager; + +/** + * + * @author Christian Lenz (Chrizzly) + */ +@ActionID( + category = "Window", + id = "org.netbeans.core.multiview.SplitDocumentVerticallyAction" +) +@ActionRegistration( + displayName = "#LBL_ValueSplitVertical" +) +@ActionReference(path = "Shortcuts", name = "DOS-V") +@NbBundle.Messages({ + "LBL_SplitDocumentActionVertical=&Vertically", + "LBL_ValueSplitVertical=Split vertically" +}) +public final class SplitDocumentVerticallyAction extends AbstractAction { + + public SplitDocumentVerticallyAction() { + putValue(Action.NAME, Bundle.LBL_SplitDocumentActionVertical()); + //hack to insert extra actions into JDev's popup menu + putValue("_nb_action_id_", Bundle.LBL_ValueSplitVertical()); //NOI18N + } + + @Override + public final void actionPerformed(ActionEvent evt) { + final TopComponent tc = WindowManager.getDefault().getRegistry().getActivated(); + + if (tc != null) { + SplitAction.splitWindow(tc, JSplitPane.VERTICAL_SPLIT, -1); + } + } +}