mirror of
https://github.com/samba-team/samba.git
synced 2025-03-08 04:58:40 +03:00
r21065: 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 (This used to be commit f0ddc503820aeec3557fe8d80b31c971fae7cdc1)
This commit is contained in:
parent
6c138c8a58
commit
be2ad3d8d4
@ -449,7 +449,7 @@ qx.Proto._switchToModrecord = function()
|
||||
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)
|
||||
|
@ -126,10 +126,12 @@ qx.Proto.initNew = function(callback, obj) {
|
||||
|
||||
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 @@ qx.Proto.initMod = function(table, callback, obj) {
|
||||
|
||||
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 @@ qx.Proto._cancelOp = function() {
|
||||
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);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user