Before Width: | Height: | Size: 386 B |
@ -1,10 +0,0 @@ |
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<nifty xmlns="http://nifty-gui.lessvoid.com/nifty-gui" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://raw.githubusercontent.com/void256/nifty-gui/1.4/nifty-core/src/main/resources/nifty.xsd https://raw.githubusercontent.com/void256/nifty-gui/1.4/nifty-core/src/main/resources/nifty.xsd"> |
||||
<!-- +++++++++++++++++++++++++++++++++++++++ --> |
||||
<!-- start screen --> |
||||
<!-- +++++++++++++++++++++++++++++++++++++++ --> |
||||
<screen id="GScreen0" controller="mygame.Main"> |
||||
<layer id="GLayer0" childLayout="absolute"> |
||||
</layer> |
||||
</screen> |
||||
</nifty> |
@ -1,200 +0,0 @@ |
||||
/* |
||||
* To change this template, choose Tools | Templates |
||||
* and open the template in the editor. |
||||
*/ |
||||
package com.jme3.gde.gui; |
||||
|
||||
import com.jme3.gde.gui.nodes.GElementNode; |
||||
import com.jme3.gde.gui.nodes.GUINode; |
||||
import jada.ngeditor.controller.CommandProcessor; |
||||
import jada.ngeditor.controller.GUIEditor; |
||||
import jada.ngeditor.controller.commands.SelectCommand; |
||||
import jada.ngeditor.listeners.events.SelectionChanged; |
||||
import jada.ngeditor.model.GUI; |
||||
import jada.ngeditor.model.GuiEditorModel; |
||||
import jada.ngeditor.model.elements.GElement; |
||||
import java.awt.BorderLayout; |
||||
import java.beans.PropertyChangeEvent; |
||||
import java.beans.PropertyChangeListener; |
||||
import java.beans.PropertyVetoException; |
||||
import java.util.ArrayList; |
||||
import java.util.Observable; |
||||
import java.util.Observer; |
||||
import javax.swing.JComponent; |
||||
import org.netbeans.spi.navigator.NavigatorPanel; |
||||
import org.openide.explorer.ExplorerManager; |
||||
import org.openide.explorer.ExplorerUtils; |
||||
import org.openide.explorer.view.BeanTreeView; |
||||
import org.openide.nodes.AbstractNode; |
||||
import org.openide.nodes.Node; |
||||
import org.openide.util.Exceptions; |
||||
import org.openide.util.Lookup; |
||||
import org.openide.util.lookup.ProxyLookup; |
||||
|
||||
/** |
||||
* |
||||
* @author cris |
||||
*/ |
||||
@NavigatorPanel.Registration(mimeType = "text/x-niftygui+xml", displayName="Gui View") |
||||
public class Navigator extends javax.swing.JPanel implements NavigatorPanel,ExplorerManager.Provider , Observer, PropertyChangeListener{ |
||||
private Lookup lookup; |
||||
private ExplorerManager mgr = new ExplorerManager(); |
||||
private final BeanTreeView beanTreeView; |
||||
/** |
||||
* Creates new form Navigator |
||||
*/ |
||||
public Navigator() { |
||||
initComponents(); |
||||
setLayout(new BorderLayout()); |
||||
beanTreeView = new BeanTreeView(); |
||||
add(beanTreeView, BorderLayout.CENTER); |
||||
final GuiEditorModel model = (GuiEditorModel) CommandProcessor.getInstance().getObservable(); |
||||
model.addObserver(this); |
||||
if(model.getCurrent() != null){ |
||||
try { |
||||
this.intNavigator(model.getCurrent()); |
||||
} catch (PropertyVetoException ex) { |
||||
Exceptions.printStackTrace(ex); |
||||
} |
||||
} |
||||
|
||||
|
||||
} |
||||
|
||||
/** |
||||
* This method is called from within the constructor to initialize the form. |
||||
* WARNING: Do NOT modify this code. The content of this method is always |
||||
* regenerated by the Form Editor. |
||||
*/ |
||||
@SuppressWarnings("unchecked") |
||||
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
|
||||
private void initComponents() { |
||||
|
||||
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); |
||||
this.setLayout(layout); |
||||
layout.setHorizontalGroup( |
||||
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) |
||||
.addGap(0, 244, Short.MAX_VALUE) |
||||
); |
||||
layout.setVerticalGroup( |
||||
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) |
||||
.addGap(0, 274, Short.MAX_VALUE) |
||||
); |
||||
}// </editor-fold>//GEN-END:initComponents
|
||||
// Variables declaration - do not modify//GEN-BEGIN:variables
|
||||
// End of variables declaration//GEN-END:variables
|
||||
|
||||
@Override |
||||
public String getDisplayName() { |
||||
return "GuiView"; |
||||
} |
||||
|
||||
@Override |
||||
public String getDisplayHint() { |
||||
return "Easy view for your gui"; |
||||
} |
||||
|
||||
@Override |
||||
public JComponent getComponent() { |
||||
return this; |
||||
} |
||||
|
||||
@Override |
||||
public void panelActivated(Lookup context) { |
||||
|
||||
} |
||||
|
||||
@Override |
||||
public void panelDeactivated() { |
||||
ExplorerUtils.activateActions(mgr, false); |
||||
} |
||||
|
||||
@Override |
||||
public Lookup getLookup() { |
||||
return lookup; |
||||
} |
||||
|
||||
@Override |
||||
public ExplorerManager getExplorerManager() { |
||||
return mgr; |
||||
} |
||||
|
||||
@Override |
||||
public void update(Observable o, Object arg) { |
||||
if(o instanceof GuiEditorModel){ |
||||
try { |
||||
GuiEditorModel model = (GuiEditorModel) o; |
||||
model.getCurrent().addObserver(this); |
||||
model.getCurrent().getSelection().addObserver(this); |
||||
this.intNavigator(model.getCurrent()); |
||||
} catch (PropertyVetoException ex) { |
||||
Exceptions.printStackTrace(ex); |
||||
} |
||||
} |
||||
|
||||
if(arg instanceof SelectionChanged){ |
||||
SelectionChanged event = (SelectionChanged) arg; |
||||
if(event.getNewSelection().isEmpty()){ |
||||
return; |
||||
} |
||||
ArrayList<String> path = new ArrayList<String>(); |
||||
GElement parent = ((SelectionChanged)arg).getElement(); |
||||
while(parent!=null){ |
||||
path.add(parent.getID()); |
||||
parent = parent.getParent(); |
||||
} |
||||
Node result = mgr.getRootContext(); |
||||
for(int i=path.size()-1;i>=0;i--){ |
||||
result = result.getChildren().findChild(path.get(i)); |
||||
} |
||||
try { |
||||
mgr.setSelectedNodes(new Node[]{result}); |
||||
} catch (PropertyVetoException ex) { |
||||
Exceptions.printStackTrace(ex); |
||||
} |
||||
} |
||||
beanTreeView.updateUI(); |
||||
} |
||||
|
||||
@Override |
||||
public void propertyChange(PropertyChangeEvent evt) { |
||||
if (evt.getPropertyName().equals(ExplorerManager.PROP_SELECTED_NODES)) { |
||||
Node[] newValue = (Node[]) evt.getNewValue(); |
||||
if (newValue.length > 0) { |
||||
AbstractNode firstSelected = (AbstractNode) newValue[0]; |
||||
if (firstSelected instanceof GElementNode) { |
||||
GElement element = ((GElementNode) firstSelected).getGelement(); |
||||
GUI gui = ((GUINode)mgr.getRootContext()).getGui(); |
||||
gui.getSelection().deleteObserver(this); // I don't wont to get notified about this selection change
|
||||
SelectCommand command = CommandProcessor.getInstance().getCommand(SelectCommand.class); |
||||
command.setElement(element); |
||||
try { |
||||
CommandProcessor.getInstance().excuteCommand(command); |
||||
} catch (Exception ex) { |
||||
Exceptions.printStackTrace(ex); |
||||
} |
||||
gui.getSelection().addObserver(this); |
||||
|
||||
} |
||||
} |
||||
} |
||||
} |
||||
|
||||
|
||||
private void intNavigator(GUI gui) throws PropertyVetoException { |
||||
|
||||
|
||||
ExplorerUtils.activateActions(mgr, true); |
||||
|
||||
|
||||
AbstractNode guiRoot = new GUINode(gui); |
||||
guiRoot.setName("Gui"); |
||||
this.mgr.setRootContext(guiRoot); |
||||
this.beanTreeView.updateUI(); |
||||
mgr.addPropertyChangeListener(this); |
||||
this.mgr.setSelectedNodes(new Node[]{guiRoot}); |
||||
Lookup lookup1 = ExplorerUtils.createLookup(mgr, getActionMap()); |
||||
lookup = new ProxyLookup(lookup1); |
||||
|
||||
} |
||||
} |
@ -1,19 +0,0 @@ |
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<nifty xmlns="http://nifty-gui.sourceforge.net/nifty-1.3.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://nifty-gui.sourceforge.net/nifty-1.3.xsd http://nifty-gui.sourceforge.net/nifty-1.3.xsd"> |
||||
<!-- +++++++++++++++++++++++++++++++++++++++ --> |
||||
<!-- start screen --> |
||||
<!-- +++++++++++++++++++++++++++++++++++++++ --> |
||||
<screen id="start" controller="mygame.Main"> |
||||
<layer id="layer" backgroundColor="#003f" childLayout="center"> |
||||
<panel id="panel" height="25%" width="35%" align="center" valign="center" backgroundColor="#f60f" childLayout="center" visibleToMouse="true"> |
||||
<interact onClick="quit()"/> |
||||
<effect> |
||||
<onStartScreen name="move" mode="in" direction="top" length="300" startDelay="0" inherit="true"/> |
||||
<onEndScreen name="move" mode="out" direction="bottom" length="300" startDelay="0" inherit="true"/> |
||||
<onHover name="pulsate" scaleFactor="0.008" startColor="#f600" endColor="#ffff" post="true"/> |
||||
</effect> |
||||
<text id="text" font="aurulent-sans-17.fnt" color="#000f" text="Hello World!" align="center" valign="center" /> |
||||
</panel> |
||||
</layer> |
||||
</screen> |
||||
</nifty> |
@ -1,403 +0,0 @@ |
||||
/* |
||||
* To change this template, choose Tools | Templates |
||||
* and open the template in the editor. |
||||
*/ |
||||
package com.jme3.gde.gui; |
||||
|
||||
import com.jme3.app.Application; |
||||
import com.jme3.gde.core.assets.ProjectAssetManager; |
||||
import com.jme3.gde.gui.nodes.GElementNode; |
||||
import com.jme3.gde.gui.nodes.GUINode; |
||||
import de.lessvoid.nifty.Nifty; |
||||
import jada.ngeditor.controller.CommandProcessor; |
||||
import jada.ngeditor.controller.GUIEditor; |
||||
import jada.ngeditor.guiviews.DND.PaletteDropTarget; |
||||
import jada.ngeditor.guiviews.DND.TrasferHandling; |
||||
import jada.ngeditor.guiviews.J2DNiftyView; |
||||
import jada.ngeditor.listeners.events.SelectionChanged; |
||||
import jada.ngeditor.model.GUI; |
||||
import jada.ngeditor.model.GuiEditorModel; |
||||
import jada.ngeditor.model.elements.GElement; |
||||
import jada.ngeditor.model.elements.GLayer; |
||||
import jada.ngeditor.model.exception.NoProductException; |
||||
import jada.ngeditor.persistence.GUIWriter; |
||||
import java.awt.Dimension; |
||||
import java.awt.event.ItemEvent; |
||||
import java.awt.event.ItemListener; |
||||
import java.beans.PropertyChangeEvent; |
||||
import java.beans.PropertyChangeListener; |
||||
import java.beans.PropertyVetoException; |
||||
import java.io.File; |
||||
import java.io.FileNotFoundException; |
||||
import java.io.IOException; |
||||
import java.io.InputStream; |
||||
import java.util.ArrayList; |
||||
import java.util.Collection; |
||||
import java.util.Collections; |
||||
import java.util.HashSet; |
||||
import java.util.Observable; |
||||
import java.util.Observer; |
||||
import java.util.logging.Level; |
||||
import java.util.logging.Logger; |
||||
import javax.swing.Action; |
||||
import javax.swing.ActionMap; |
||||
import javax.swing.DefaultComboBoxModel; |
||||
import javax.swing.JComboBox; |
||||
import javax.swing.JComponent; |
||||
import javax.swing.JLabel; |
||||
import javax.swing.JPanel; |
||||
import javax.swing.JToolBar; |
||||
import javax.xml.bind.JAXBException; |
||||
import javax.xml.parsers.ParserConfigurationException; |
||||
import org.netbeans.api.progress.ProgressHandle; |
||||
import org.netbeans.api.progress.ProgressHandleFactory; |
||||
import org.netbeans.core.spi.multiview.CloseOperationState; |
||||
import org.netbeans.core.spi.multiview.MultiViewElement; |
||||
import org.netbeans.core.spi.multiview.MultiViewElementCallback; |
||||
import org.netbeans.spi.actions.AbstractSavable; |
||||
import org.openide.awt.UndoRedo; |
||||
import org.openide.explorer.ExplorerManager; |
||||
import org.openide.explorer.ExplorerUtils; |
||||
import org.openide.loaders.DataObject; |
||||
import org.openide.nodes.Node; |
||||
import org.openide.util.Exceptions; |
||||
import org.openide.util.Lookup; |
||||
import org.openide.util.NbBundle.Messages; |
||||
import org.openide.util.lookup.AbstractLookup; |
||||
import org.openide.util.lookup.InstanceContent; |
||||
import org.openide.util.lookup.ProxyLookup; |
||||
import org.openide.windows.TopComponent; |
||||
import org.xml.sax.SAXException; |
||||
import sun.rmi.runtime.Log; |
||||
|
||||
@MultiViewElement.Registration( |
||||
displayName = "#LBL_NiftyGui_VISUAL", |
||||
iconBase = "com/jme3/gde/gui/Computer_File_043.gif", |
||||
mimeType = "text/x-niftygui+xml", |
||||
persistenceType = TopComponent.PERSISTENCE_NEVER, |
||||
preferredID = "NiftyGuiVisual", |
||||
position = 2000) |
||||
@Messages("LBL_NiftyGui_VISUAL=Visual") |
||||
public final class NiftyGuiVisualElement extends JPanel implements MultiViewElement , ExplorerManager.Provider,Observer, PropertyChangeListener { |
||||
private static final Logger logger = Logger.getLogger(NiftyGuiVisualElement.class.getName()); |
||||
private NiftyGuiDataObject obj; |
||||
private JToolBar toolbar = new JToolBar(); |
||||
private transient MultiViewElementCallback callback; |
||||
private GUIEditor editor; |
||||
private final Nifty nifty; |
||||
private final J2DNiftyView view; |
||||
private final JComboBox layers = new JComboBox(); |
||||
private final ExplorerManager nodesManager; |
||||
private final UndoRedo.Manager undoSupport; |
||||
private int guiID; |
||||
private final InstanceContent content = new InstanceContent(); |
||||
private Lookup lookup; |
||||
|
||||
public NiftyGuiVisualElement(Lookup lkp) { |
||||
obj = lkp.lookup(NiftyGuiDataObject.class); |
||||
assert obj != null; |
||||
initComponents(); |
||||
view = new J2DNiftyView(800, 600); |
||||
view.init(); |
||||
this.scrollArea.getViewport().addChangeListener(view); |
||||
this.scrollArea.setViewportView(view); |
||||
TrasferHandling tranf = new TrasferHandling(); |
||||
PaletteDropTarget tmp = new PaletteDropTarget(); |
||||
editor = obj.getLookup().lookup(GUIEditor.class); |
||||
nodesManager = new ExplorerManager(); |
||||
nifty = view.getNifty(); |
||||
view.setTransferHandler(tranf); |
||||
view.setDropTarget(tmp); |
||||
// editor.addObserver(view);
|
||||
// editor.addObserver(tranf);
|
||||
this.obj.addPropertyChangeListener(this); |
||||
this.createToolbar(); |
||||
this.undoSupport = new UndoRedo.Manager(); |
||||
CommandProcessor.getInstance().setUndoManager(undoSupport); |
||||
this.content.set(Collections.singleton(obj.getNodeDelegate()), null); |
||||
lookup = new AbstractLookup(content); |
||||
} |
||||
/** |
||||
* Old code |
||||
* @author normenhansen |
||||
*/ |
||||
private void createToolbar() { |
||||
toolbar.setPreferredSize(new Dimension(10000, 24)); |
||||
toolbar.setMaximumSize(new Dimension(10000, 24)); |
||||
toolbar.setFloatable(false); |
||||
toolbar.add(new JLabel("Change Resolution")); |
||||
JComboBox comboBox = new JComboBox(new String[]{"640x480", "480x800", "800x480", "800x600", "1024x768", "1280x720"}); |
||||
comboBox.addItemListener(new ItemListener() { |
||||
|
||||
public void itemStateChanged(ItemEvent e) { |
||||
String string = (String) e.getItem(); |
||||
if ("640x480".equals(string)) { |
||||
view.setResoltion(640, 480); |
||||
} else if ("1024x768".equals(string)) { |
||||
view.setResoltion(1024, 768); |
||||
} else if ("1280x720".equals(string)) { |
||||
view.setResoltion(1280, 720); |
||||
} else if ("800x600".equals(string)) { |
||||
view.setResoltion(800, 600); |
||||
} else if ("800x480".equals(string)) { |
||||
view.setResoltion(800, 480); |
||||
} else if ("480x800".equals(string)) { |
||||
view.setResoltion(480, 800); |
||||
} else { |
||||
view.setResoltion(800, 600); |
||||
} |
||||
} |
||||
}); |
||||
toolbar.add(comboBox); |
||||
comboBox.setSelectedItem("800x600"); |
||||
toolbar.add(new JLabel("Current Layer")); |
||||
layers.addItemListener(new ItemListener() { |
||||
|
||||
public void itemStateChanged(ItemEvent e) { |
||||
GLayer item = (GLayer) e.getItem(); |
||||
editor.selectElement(item); |
||||
} |
||||
}); |
||||
toolbar.add(layers); |
||||
} |
||||
@Override |
||||
public String getName() { |
||||
return "NiftyGuiVisualElement"; |
||||
} |
||||
|
||||
/** |
||||
* This method is called from within the constructor to initialize the form. |
||||
* WARNING: Do NOT modify this code. The content of this method is always |
||||
* regenerated by the Form Editor. |
||||
*/ |
||||
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
|
||||
private void initComponents() { |
||||
|
||||
scrollArea = new javax.swing.JScrollPane(); |
||||
|
||||
setLayout(new java.awt.BorderLayout()); |
||||
add(scrollArea, java.awt.BorderLayout.CENTER); |
||||
}// </editor-fold>//GEN-END:initComponents
|
||||
|
||||
// Variables declaration - do not modify//GEN-BEGIN:variables
|
||||
private javax.swing.JScrollPane scrollArea; |
||||
// End of variables declaration//GEN-END:variables
|
||||
@Override |
||||
public JComponent getVisualRepresentation() { |
||||
return this; |
||||
} |
||||
|
||||
@Override |
||||
public JComponent getToolbarRepresentation() { |
||||
return toolbar; |
||||
} |
||||
|
||||
@Override |
||||
public Action[] getActions() { |
||||
return new Action[0]; |
||||
} |
||||
|
||||
@Override |
||||
public Lookup getLookup() { |
||||
return this.lookup ; |
||||
} |
||||
/** |
||||
* Raw implementation , just to prototype the editor |
||||
*/ |
||||
@Override |
||||
public void componentOpened() { |
||||
loadGui(); |
||||
} |
||||
|
||||
@Override |
||||
public void componentClosed() { |
||||
|
||||
} |
||||
/** |
||||
* Raw implementation , just to prototype the editor |
||||
*/ |
||||
@Override |
||||
public void componentShowing() { |
||||
if(!this.obj.isModified()){ |
||||
return; |
||||
} |
||||
loadGui(); |
||||
|
||||
} |
||||
/** |
||||
* Raw implementation , just to prototype the editor |
||||
*/ |
||||
@Override |
||||
public void componentHidden() { |
||||
String path = this.obj.getPrimaryFile().getPath(); |
||||
try { |
||||
this.editor.saveGui(path); |
||||
} catch (FileNotFoundException ex) { |
||||
Exceptions.printStackTrace(ex); |
||||
} catch (JAXBException ex) { |
||||
Exceptions.printStackTrace(ex); |
||||
} catch (NullPointerException ex){ |
||||
Exceptions.printStackTrace(ex); |
||||
} |
||||
} |
||||
|
||||
@Override |
||||
public void componentActivated() { |
||||
try{ |
||||
GuiEditorModel model = (GuiEditorModel) CommandProcessor.getInstance().getObservable(); |
||||
model.setCurrentGUI(guiID); |
||||
model.getCurrent().addObserver(this); |
||||
CommandProcessor.getInstance().setUndoManager(undoSupport); |
||||
}catch(java.lang.IllegalArgumentException ex){ |
||||
logger.log(Level.SEVERE,"Can't load your gui", ex); |
||||
} |
||||
} |
||||
|
||||
@Override |
||||
public void componentDeactivated() { |
||||
} |
||||
|
||||
@Override |
||||
public UndoRedo getUndoRedo() { |
||||
return this.undoSupport; |
||||
} |
||||
|
||||
@Override |
||||
public void setMultiViewCallback(MultiViewElementCallback callback) { |
||||
this.callback = callback; |
||||
} |
||||
|
||||
@Override |
||||
public CloseOperationState canCloseElement() { |
||||
return CloseOperationState.STATE_OK; |
||||
} |
||||
|
||||
@Override |
||||
public ExplorerManager getExplorerManager() { |
||||
return nodesManager; |
||||
} |
||||
|
||||
@Override |
||||
public void update(Observable o, Object arg) { |
||||
if(arg instanceof SelectionChanged ){ |
||||
SelectionChanged event = (SelectionChanged) arg; |
||||
if(event.getNewSelection().isEmpty()){ |
||||
return; |
||||
} |
||||
GElement parent = event.getElement(); |
||||
GElementNode node = new GElementNode(parent); |
||||
this.content.set(Collections.singleton(node), null); |
||||
|
||||
}else if(o instanceof GUI){ |
||||
//Add a save. We don't add multible savable because they cointains the same
|
||||
//information about editing.
|
||||
GuiSavable savable = this.lookup.lookup(GuiSavable.class); |
||||
if(savable == null){ |
||||
String path = this.obj.getPrimaryFile().getPath(); |
||||
final GuiSavable guiSavable = new NiftyGuiVisualElement.GuiSavable(((GUI)o),path); |
||||
this.content.add(guiSavable); |
||||
} |
||||
} |
||||
} |
||||
|
||||
@Override |
||||
public void propertyChange(PropertyChangeEvent evt) { |
||||
if(evt.getPropertyName().equals(DataObject.PROP_MODIFIED)){ |
||||
boolean old = (Boolean)evt.getOldValue(); |
||||
boolean nev = (Boolean)evt.getNewValue(); |
||||
if(old && !nev){ |
||||
this.loadGui(); |
||||
} |
||||
} |
||||
|
||||
} |
||||
|
||||
private void loadGui() { |
||||
try { |
||||
ProgressHandle handle = ProgressHandleFactory.createHandle("Loading the gui file"); |
||||
InputStream is = this.obj.getPrimaryFile().getInputStream(); |
||||
handle.start(); |
||||
ProjectAssetManager mgr = this.obj.getLookup().lookup(ProjectAssetManager.class); |
||||
String assetPath = mgr.getAssetFolder().getPath(); |
||||
this.editor.createNewGui(nifty,is,new File(assetPath)); |
||||
this.view.newGui(this.editor.getGui()); |
||||
nodesManager.setRootContext(new GUINode(this.editor.getGui())); |
||||
this.editor.getGui().getSelection().addObserver(this); |
||||
Collection<GLayer> layers1 = this.editor.getGui().getLayers(); |
||||
guiID = this.editor.getGui().getGUIid(); |
||||
this.editor.getGui().addObserver(this); |
||||
DefaultComboBoxModel<GLayer> model = new DefaultComboBoxModel<GLayer>(layers1.toArray(new GLayer[0])); |
||||
layers.setModel(model); |
||||
layers.setSelectedItem(this.editor.getCurrentLayer()); |
||||
|
||||
handle.finish(); |
||||
} catch (ParserConfigurationException ex) { |
||||
Exceptions.printStackTrace(ex); |
||||
} catch (JAXBException ex) { |
||||
Exceptions.printStackTrace(ex); |
||||
} catch (ClassNotFoundException ex) { |
||||
Exceptions.printStackTrace(ex); |
||||
} catch (IOException ex) { |
||||
Exceptions.printStackTrace(ex); |
||||
} catch (NoProductException ex) { |
||||
Exceptions.printStackTrace(ex); |
||||
} catch (SAXException ex) { |
||||
Exceptions.printStackTrace(ex); |
||||
} catch (Exception ex) { |
||||
Exceptions.printStackTrace(ex); |
||||
} |
||||
|
||||
|
||||
|
||||
} |
||||
|
||||
private class GuiSavable extends AbstractSavable { |
||||
private final GUI gui; |
||||
|
||||
private final String filename; |
||||
|
||||
public GuiSavable(GUI gui,String filename){ |
||||
|
||||
this.gui = gui; |
||||
this.filename = filename; |
||||
this.register(); |
||||
|
||||
|
||||
} |
||||
@Override |
||||
protected String findDisplayName() { |
||||
return "Save "+ this.gui + " changes"; |
||||
} |
||||
|
||||
@Override |
||||
protected void handleSave() throws IOException { |
||||
try { |
||||
GUIWriter writer = new GUIWriter(this.gui); |
||||
writer.writeGUI(filename); |
||||
NiftyGuiVisualElement.this.content.remove(this); |
||||
|
||||
|
||||
} catch (FileNotFoundException ex) { |
||||
Exceptions.printStackTrace(ex); |
||||
} catch (JAXBException ex) { |
||||
Exceptions.printStackTrace(ex); |
||||
} catch (ClassNotFoundException ex) { |
||||
Exceptions.printStackTrace(ex); |
||||
} |
||||
} |
||||
|
||||
@Override |
||||
public boolean equals(Object obj) { |
||||
if(obj instanceof com.jme3.gde.gui.NiftyGuiVisualElement.GuiSavable){ |
||||
return this.gui.equals(((com.jme3.gde.gui.NiftyGuiVisualElement.GuiSavable)obj).gui); |
||||
} |
||||
return false; |
||||
} |
||||
|
||||
@Override |
||||
public int hashCode() { |
||||
return this.gui.hashCode(); |
||||
} |
||||
|
||||
} |
||||
} |
After Width: | Height: | Size: 348 B |
After Width: | Height: | Size: 674 B |
After Width: | Height: | Size: 435 B |
After Width: | Height: | Size: 492 B |
After Width: | Height: | Size: 768 B |
After Width: | Height: | Size: 454 B |
After Width: | Height: | Size: 556 B |
After Width: | Height: | Size: 478 B |
After Width: | Height: | Size: 540 B |
After Width: | Height: | Size: 602 B |
After Width: | Height: | Size: 524 B |
After Width: | Height: | Size: 392 B |
After Width: | Height: | Size: 415 B |
After Width: | Height: | Size: 305 B |
After Width: | Height: | Size: 478 B |
After Width: | Height: | Size: 557 B |
After Width: | Height: | Size: 536 B |
After Width: | Height: | Size: 361 B |
After Width: | Height: | Size: 359 B |
After Width: | Height: | Size: 520 B |
After Width: | Height: | Size: 458 B |
After Width: | Height: | Size: 341 B |
After Width: | Height: | Size: 608 B |
After Width: | Height: | Size: 538 B |
After Width: | Height: | Size: 349 B |
After Width: | Height: | Size: 390 B |