svn commit: samba r21065 - in branches/SAMBA_4_0/webapps/swat/source/class/swat/module/ldbbrowse: .

idra at samba.org idra at samba.org
Wed Jan 31 00:04:44 GMT 2007


Author: idra
Date: 2007-01-31 00:04:42 +0000 (Wed, 31 Jan 2007)
New Revision: 21065

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=21065

Log:

The framework is complete (yes the gui layout still sucks but that will 
be handled later)
next will be to build out the code to actually commit changes


Modified:
   branches/SAMBA_4_0/webapps/swat/source/class/swat/module/ldbbrowse/Gui.js
   branches/SAMBA_4_0/webapps/swat/source/class/swat/module/ldbbrowse/LdbModify.js


Changeset:
Modified: branches/SAMBA_4_0/webapps/swat/source/class/swat/module/ldbbrowse/Gui.js
===================================================================
--- branches/SAMBA_4_0/webapps/swat/source/class/swat/module/ldbbrowse/Gui.js	2007-01-30 22:22:06 UTC (rev 21064)
+++ branches/SAMBA_4_0/webapps/swat/source/class/swat/module/ldbbrowse/Gui.js	2007-01-31 00:04:42 UTC (rev 21065)
@@ -449,7 +449,7 @@
   this._ldbmod.setDisplay(true);
   this._newb.setEnabled(false);
   this._modb.setEnabled(false);
-  this._ldbmod.initMod(this._table, this._switchToNormal, this);
+  this._ldbmod.initMod(this._table.getTableModel(), this._switchToNormal, this);
 }
 
 qx.Proto._displaySearchResults = function(module, rpcRequest)

Modified: branches/SAMBA_4_0/webapps/swat/source/class/swat/module/ldbbrowse/LdbModify.js
===================================================================
--- branches/SAMBA_4_0/webapps/swat/source/class/swat/module/ldbbrowse/LdbModify.js	2007-01-30 22:22:06 UTC (rev 21064)
+++ branches/SAMBA_4_0/webapps/swat/source/class/swat/module/ldbbrowse/LdbModify.js	2007-01-31 00:04:42 UTC (rev 21065)
@@ -126,10 +126,12 @@
 
   this._mainArea.add(hlayout);
 
+  this._createAttributesArea();
+
   return;
 }
 
-qx.Proto.initMod = function(table, callback, obj) {
+qx.Proto.initMod = function(tablemodel, callback, obj) {
 
   this._setExitCallback(callback, obj);
 
@@ -145,9 +147,14 @@
 
   this._mainArea.add(this._dn);
 
-  //TODO: for each entry in the table, add new entries in the object
+  this._createAttributesArea();
 
-  return;
+  // for each entry in the table, add new entries in the object
+  var count = tablemodel.getRowCount();
+  for (var i = 0; i < count; i++) {
+    var row = tablemodel.getRowData(i);
+    this._addNewAttribute(row[0], row[1]);
+  }
 }
 
 qx.Proto._setExitCallback = function(vFunction, vObject) {
@@ -195,3 +202,80 @@
   this._reset();
   this._callExitCallback();
 }
+
+qx.Proto._addNewAttribute = function(name, value, before) {
+
+  // do not add a new attribute if the name is null
+  if (name == null || name == "") {
+    return;
+  }
+
+  var hlayout = new qx.ui.layout.HorizontalBoxLayout();
+  hlayout.set({ width: "auto", height: "auto", spacing: 10 });
+
+  var rButton = new qx.ui.form.Button("-");
+  rButton.addEventListener("execute", function() {
+    hlayout.setParent(null);
+  });
+
+  var aLabel = new qx.ui.basic.Label(name);
+
+  var aTextField = new qx.ui.form.TextField(value);
+
+  var aButton = new qx.ui.form.Button("+");
+  aButton.addEventListener("execute", function() {
+    this._addNewAttribute(name, null, hlayout);
+  }, this);
+
+  hlayout.add(rButton, aLabel, aTextField, aButton);
+
+  if (before) {
+    this._attrArea.addAfter(hlayout, before);
+  } else {
+    this._attrArea.addBefore(hlayout, this._attrAddButton);
+  }
+}
+
+qx.Proto._createNewAttribute = function() {
+
+  var main = qx.ui.core.ClientDocument.getInstance();
+
+  var amw = new qx.ui.window.Window("New Attribute Name");
+  amw.setSpace(100, 200, 100, 150);
+  amw.setModal(true);
+  amw.setShowMinimize(false);
+  amw.setShowMaximize(false);
+  amw.setShowClose(false);
+  amw.setResizeable(false);
+
+  var hlayout = new qx.ui.layout.HorizontalBoxLayout();
+  hlayout.set({ width: "auto", height: "auto", spacing: 10 });
+
+  attrName = new qx.ui.form.TextField();
+
+  var okButton = new qx.ui.form.Button("OK");
+  okButton.addEventListener("execute", function() {
+    this._addNewAttribute(attrName.getValue());
+    amw.close();
+  }, this);
+
+  hlayout.add(attrName, okButton);
+
+  amw.add(hlayout);
+
+  main.add(amw);
+
+  amw.open();
+}
+
+qx.Proto._createAttributesArea = function() {
+
+  this._attrArea = new qx.ui.layout.VerticalBoxLayout();
+
+  this._attrAddButton = new qx.ui.form.Button("+");
+  this._attrAddButton.addEventListener("execute", this._createNewAttribute, this);
+
+  this._attrArea.add(this._attrAddButton);
+
+  this._mainArea.add(this._attrArea);
+}



More information about the samba-cvs mailing list