// Decompiled by Jad v1.5.7b. Copyright 1997-99 Pavel Kouznetsov. // Jad home page: http://www.geocities.com/SiliconValley/Bridge/8617/jad.html // Decompiler options: packimports(3) // Source File Name: CSGEditor.java import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; import java.util.Vector; import grafeme.ui.*; class CSGEditor extends ObjEditor implements ChangeListener, ActionListener, ObjectUI { CSGEditor(CSG t, GroupEditor callee) { super(t, callee); // , false); //objEditor = new GroupEditor(t, this, callee); objEditor = callee.GetEditor(); csg = t; System.out.println("constructor1 = " + csg.tolerance); SetupUI2(GetEditor()); } CSGEditor(CSG t, Object3D copy, GroupEditor callee) { super(t, copy, callee); //objEditor = new GroupEditor(t, copy, callee); objEditor = this; csg = (CSG) copy; System.out.println("constructor2 = " + csg.tolerance); SetupUI2(GetEditor()); } void SetupUI2(ObjEditor oe) { super.SetupUI2(oe); // Shows composite UI !! //super.SetupName(oe); oe.ctrlPanel.add(refreshButton = new JButton("Refresh")); //, oe.aConstraints, oe.ctrlPanel.getComponentCount()-2); oe.ctrlPanel.Return(); menuPane = new cGridBag(); oe.ctrlPanel.add(menuPane); oe.ctrlPanel.Return(); menuPane2 = new cGridBag(); oe.ctrlPanel.add(menuPane2); oe.ctrlPanel.Return(); //this.csg = (CSG) copy; /* oe.ctrlPanel.add(typeLabel = new JLabel("Type"), oe.aConstraints); oe.aConstraints.fill = GridBagConstraints.HORIZONTAL; oe.aConstraints.gridx += 1; */ Vector list = new Vector(); list.add("Union"); list.add("Merge"); list.add("Intersection"); list.add("Difference"); menuPane.add(typeMenu = new JComboBox(new ObjEditor.cListModel(list, csg.csgType - 1))); //, oe.aConstraints, oe.ctrlPanel.getComponentCount()-2); //typeMenu.select(csg.csgType - 1); oe.ctrlPanel.Return(); list = new Vector(); list.add("Surface"); list.add("Volume"); list.add("Inner"); list.add("Outer"); list.add("Boundary"); /* oe.aConstraints.fill = 0; oe.ctrlPanel.add(genLabel = new JLabel("Generation"), oe.aConstraints); oe.aConstraints.gridx += 1; */ menuPane.add(genMenu = new JComboBox(new ObjEditor.cListModel(list, 0))); //, oe.aConstraints, oe.ctrlPanel.getComponentCount()-2); //typeMenu.select(csg.csgType - 1); list = new Vector(); list.add("Smooth"); list.add("Flat"); /* oe.aConstraints.fill = 0; oe.ctrlPanel.add(normalsLabel = new JLabel("Shading"), oe.aConstraints); oe.aConstraints.gridx += 1; */ menuPane2.add(normalsMenu = new JComboBox(new ObjEditor.cListModel(list, 0))); //, oe.aConstraints, oe.ctrlPanel.getComponentCount()-2); //typeMenu.select(csg.csgType - 1); list = new Vector(); list.add("Strip"); list.add("No strip"); list.add("No trim"); /* oe.aConstraints.fill = 0; oe.ctrlPanel.add(normalsLabel = new JLabel("Shading"), oe.aConstraints); oe.aConstraints.gridx += 1; */ menuPane2.add(stripifyMenu = new JComboBox(new ObjEditor.cListModel(list, 0))); //, oe.aConstraints, oe.ctrlPanel.getComponentCount()-2); //typeMenu.select(csg.csgType - 1); // oe.ctrlPanel.add(sizeLabel = new JLabel("Depth")); //, oe.aConstraints, oe.ctrlPanel.getComponentCount()-2); // oe.ctrlPanel.add(sizeSlider = new NumberSlider(0,10)); //, oe.aConstraints, oe.ctrlPanel.getComponentCount()-2); sizeSliderPane = AddSlider(oe.ctrlPanel, "Depth", 0, 10, 0); sizeSlider = (cNumberSlider)sizeSliderPane.getComponent(1); oe.ctrlPanel.Return(); // oe.ctrlPanel.add(size2Label = new JLabel("Depth2")); //, oe.aConstraints, oe.ctrlPanel.getComponentCount()-2); // oe.ctrlPanel.add(size2Slider = new NumberSlider(0,10)); //, oe.aConstraints, oe.ctrlPanel.getComponentCount()-2); size2SliderPane = AddSlider(oe.ctrlPanel, "Depth2", 0, 10, 0); size2Slider = (cNumberSlider)size2SliderPane.getComponent(1); oe.ctrlPanel.Return(); // oe.ctrlPanel.add(tolLabel = new JLabel("Tolerance")); //, oe.aConstraints, oe.ctrlPanel.getComponentCount()-2); // oe.ctrlPanel.add(toleranceSlider = new NumberSlider(0,10,1)); //, oe.aConstraints, oe.ctrlPanel.getComponentCount()-2); toleranceSliderPane = AddSlider(oe.ctrlPanel, "Tolerance", 0, 10, 1, 1); toleranceSlider = (cNumberSlider)toleranceSliderPane.getComponent(1); oe.ctrlPanel.Return(); sizeSlider.setInteger(csg.cellSize); size2Slider.setInteger(csg.cellSize2); System.out.println("csg.tolerance = " + csg.tolerance); toleranceSlider.setFloat(csg.tolerance); normalsMenu.setSelectedIndex(csg.normals?0:1); typeMenu.setSelectedIndex(csg.csgType - 1); genMenu.setSelectedIndex(csg.genType); stripifyMenu.setSelectedIndex(csg.userType); // ==0?0:1); sizeSlider.addChangeListener(this); size2Slider.addChangeListener(this); toleranceSlider.addChangeListener(this); typeMenu.addActionListener(this); genMenu.addActionListener(this); normalsMenu.addActionListener(this); stripifyMenu.addActionListener(this); refreshButton.addActionListener(this); } public ObjEditor GetEditor() { return objEditor.GetEditor(); } void Clear() { objEditor.Clear(); csg = null; } public void closeUI() { ObjEditor oe = GetEditor(); //if (oe == null) // return; typeMenu.removeActionListener(this); genMenu.removeActionListener(this); normalsMenu.removeActionListener(this); refreshButton.removeActionListener(this); sizeSlider.removeChangeListener(this); size2Slider.removeChangeListener(this); toleranceSlider.removeChangeListener(this); oe.ctrlPanel.remove(this.refreshButton); oe.ctrlPanel.remove(menuPane); oe.ctrlPanel.remove(menuPane2); oe.ctrlPanel.remove(sizeSliderPane); oe.ctrlPanel.remove(size2SliderPane); oe.ctrlPanel.remove(toleranceSliderPane); // oe.ctrlPanel.remove(sizeLabel); // oe.ctrlPanel.remove(size2Label); // oe.ctrlPanel.remove(tolLabel); // oe.ctrlPanel.remove(typeMenu); // //oe.ctrlPanel.remove(typeLabel); // oe.ctrlPanel.remove(genMenu); // //oe.ctrlPanel.remove(genLabel); // oe.ctrlPanel.remove(normalsMenu); // oe.ctrlPanel.remove(stripifyMenu); // //oe.ctrlPanel.remove(normalsLabel); // oe.ctrlPanel.remove(refreshButton); // //oe.ctrlPanel.repaint(); super.closeUI(); } /* public void doLayout() { super.doLayout(); labelAndField(typeLabel, typeMenu); labelAndField(sizeLabel, sizeSlider); widgetPos += 5; } */ public void actionPerformed(ActionEvent e) { //System.out.println("CSGEditor " + e); if (e.getSource() == refreshButton || e.getSource() == typeMenu || e.getSource() == genMenu || e.getSource() == normalsMenu || e.getSource() == stripifyMenu) { csg.aCellSize = -1; csg.aTolerance = -1; applySelf(); //refreshContents(); csg.refreshEditWindow(); } else super.actionPerformed(e); } public void stateChanged(ChangeEvent e) { if (e.getSource() == sizeSlider || e.getSource() == size2Slider || e.getSource() == toleranceSlider) { // Can't choose... //applySelf(); //objEditor.refreshContents(); } else super.stateChanged(e); } public void applySelf() { // june 2013 super.applySelf(); csg.csgType = typeMenu.getSelectedIndex() + 1; csg.genType = genMenu.getSelectedIndex(); csg.normals = normalsMenu.getSelectedIndex() == 0; csg.userType = stripifyMenu.getSelectedIndex(); csg.cellSize = sizeSlider.getInteger(); csg.cellSize2 = size2Slider.getInteger(); csg.tolerance = toleranceSlider.getFloat(); if (csg.link2master) csg.retile(); } CSG csg; JLabel typeLabel; JLabel genLabel; JLabel normalsLabel; JLabel sizeLabel; JLabel size2Label; JLabel tolLabel; JComboBox typeMenu; JComboBox genMenu; JComboBox normalsMenu; JComboBox stripifyMenu; cNumberSlider sizeSlider; cNumberSlider size2Slider; cNumberSlider toleranceSlider; cGridBag menuPane; cGridBag menuPane2; cGridBag sizeSliderPane; cGridBag size2SliderPane; cGridBag toleranceSliderPane; JButton refreshButton; //GroupEditor objEditor; }