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