Author: ulhume
Date: 2008-08-31 12:44:04 +0200 (Sun, 31 Aug 2008)
New Revision: 1665

Added:
   
software_suite_v2/software/tuxdroid-gadget-framework/trunk/tuxdroid-gadget-framework/sources/com/kysoh/tuxdroid/gadget/framework/propertyEditor/GadgetPropertyEditor.java
Log:
Moved from tester

Added: 
software_suite_v2/software/tuxdroid-gadget-framework/trunk/tuxdroid-gadget-framework/sources/com/kysoh/tuxdroid/gadget/framework/propertyEditor/GadgetPropertyEditor.java
===================================================================
--- 
software_suite_v2/software/tuxdroid-gadget-framework/trunk/tuxdroid-gadget-framework/sources/com/kysoh/tuxdroid/gadget/framework/propertyEditor/GadgetPropertyEditor.java
                           (rev 0)
+++ 
software_suite_v2/software/tuxdroid-gadget-framework/trunk/tuxdroid-gadget-framework/sources/com/kysoh/tuxdroid/gadget/framework/propertyEditor/GadgetPropertyEditor.java
   2008-08-31 10:44:04 UTC (rev 1665)
@@ -0,0 +1,133 @@
+/* This file is part of "TuxDroid Gadget Tester".
+ *    Copyright 2008, kysoh
+ *    Author : Yoran Brault
+ *    eMail  : [EMAIL PROTECTED] (remove _bad_ before sending an email)
+ *    Site   : http://www.kysoh.com/
+ *
+ * "TuxDroid Gadget Tester" is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * "TuxDroid Gadget Tester" is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with "TuxDroid Gadget Tester"; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package com.kysoh.tuxdroid.gadget.framework.propertyEditor;
+
+import java.awt.BorderLayout;import java.awt.Color;
+
+import javax.swing.JPanel;
+import javax.swing.JTable;
+import javax.swing.table.DefaultTableCellRenderer;
+import javax.swing.table.TableCellRenderer;
+import javax.swing.table.TableColumn;
+import javax.swing.table.TableColumnModel;
+
+import com.kysoh.tuxdroid.gadget.framework.container.Gadget;
+import com.kysoh.tuxdroid.gadget.framework.container.GadgetInstanceParameters;
+import com.kysoh.tuxdroid.gadget.framework.container.GadgetParameter;
+
+public class GadgetPropertyEditor extends JPanel {
+       /**
+        * 
+        */
+       private static final long serialVersionUID = 1L;
+
+       private Gadget gadget;
+
+       private final JTable gadgetParametersEditor;
+
+       GadgetInstanceParameters values = null;
+
+       public GadgetPropertyEditor(Color EditorBackground, TableCellRenderer 
renderer){
+               super(new BorderLayout());
+               gadgetParametersEditor = new JTable(new 
PropertiesTableModel(null, null));
+               
gadgetParametersEditor.putClientProperty("terminateEditOnFocusLost", 
Boolean.TRUE);
+               gadgetParametersEditor.setBackground(EditorBackground);
+
+               gadgetParametersEditor.setShowGrid(false);
+               
+               TableColumn col = 
gadgetParametersEditor.getColumnModel().getColumn(1);
+               col.setPreferredWidth(col.getWidth() + 20);
+               
+               try {
+                       
gadgetParametersEditor.setDefaultRenderer(Class.forName("java.lang.Object"),
+                                       renderer);
+               } catch (ClassNotFoundException ex) {
+                       ex.printStackTrace();
+               }
+               gadgetParametersEditor.setShowVerticalLines(true);
+               gadgetParametersEditor.setShowHorizontalLines(false);
+               add(gadgetParametersEditor);
+       }
+       
+       public GadgetPropertyEditor() {
+               super(new BorderLayout());
+               gadgetParametersEditor = new JTable(new 
PropertiesTableModel(null, null));
+               
gadgetParametersEditor.putClientProperty("terminateEditOnFocusLost", 
Boolean.TRUE);
+               gadgetParametersEditor.setShowGrid(true);
+               gadgetParametersEditor.setBackground(Color.white);
+               add(gadgetParametersEditor);
+       }
+       
+       /** 
+        * @return attached gadget.
+        */
+       public Gadget getAttachedGadget(){
+               return this.gadget;
+       }
+       
+
+       /**
+        * @return the values
+        */
+       public GadgetInstanceParameters getValues() {
+               return values;
+       }
+       
+       /**
+        * Sets parameters.
+        * @param parameters
+        */
+       public void setValues(GadgetInstanceParameters parameters){
+               values = parameters;
+       }
+
+       /**
+        * @param gadget
+        *            the gadget to set
+        */
+       public void setGadget(Gadget gadget) {
+               this.gadget = gadget;
+               if(values == null){
+                       values = new GadgetInstanceParameters();
+               
+                       for (int i = 0; i < gadget.getParameters().size(); i++) 
{
+                               GadgetParameter parameter = 
gadget.getParameters().get(i);
+                               values.setValue(parameter, 
parameter.getDefaultValue());
+                       }
+               }
+               gadgetParametersEditor.setModel(new 
PropertiesTableModel(gadget.getParameters(), values));
+               gadgetParametersEditor.setRowHeight(20);
+               TableColumnModel columnModel = 
gadgetParametersEditor.getColumnModel();
+               TableColumn labelsColumn = columnModel.getColumn(0);
+               labelsColumn.setCellRenderer(new 
GadgetParameterEditorLabelRenderer());
+               TableColumn valuesColumn = columnModel.getColumn(1);
+               valuesColumn.setCellEditor(new 
PropertyValueEditor(this.gadget));
+               valuesColumn.setCellRenderer(new 
GadgetParametersEditorValueRenderer(this.values, this.gadget));
+       }
+       
+       
+       public JTable getTable(){
+               return this.gadgetParametersEditor;
+       }
+
+}


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Tux-droid-svn mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tux-droid-svn

Reply via email to