from pyjamas.ui.TextBox import TextBox
from pyjamas.ui.Button import Button
from pyjamas.ui.HTML import HTML
+from pyjamas.ui.Image import Image
from pyjamas.ui import HasAlignment
class AddPanel(CaptionPanel):
hp = HorizontalPanel()
self.nodes = ListBox()
self.nodes.addItem("All nodes")
- for sliver in self.top.rspec.get_sliver_list():
+ rspec = self.top.sfadata.getRSpec()
+ for sliver in rspec.get_sliver_list():
self.nodes.addItem(sliver)
self.attrs = ListBox()
name = self.attrs.getItemText(self.attrs.getSelectedIndex())
value = self.value.getText()
nodeindex = self.nodes.getSelectedIndex()
+ rspec = self.top.sfadata.getRSpec()
if nodeindex == 0:
- self.top.rspec.add_default_sliver_attribute(name, value)
+ rspec.add_default_sliver_attribute(name, value)
else:
node = self.nodes.getItemText(nodeindex)
- self.top.rspec.add_sliver_attribute(node, name, value)
+ rspec.add_sliver_attribute(node, name, value)
self.top.refresh()
self.setSpacing(5)
self.setVerticalAlignment(HasAlignment.ALIGN_MIDDLE)
- if not node:
- b = Button("X", self.delete_all)
- else:
- b = Button("X", self.delete)
- self.add(b)
+ delete = Image("./images/cancel.png")
+ delete.addClickListener(self)
+ self.add(delete)
self.add(HTML("%s: %s" % (self.name, self.value)))
- def delete_all(self, sender):
- self.top.rspec.remove_default_sliver_attribute(self.name, self.value)
- self.top.refresh()
-
- def delete(self, sender):
- self.top.rspec.remove_sliver_attribute(self.node, self.name, self.value)
+ def onClick(self, sender):
+ rspec = self.top.sfadata.getRSpec()
+ if self.node:
+ rspec.remove_sliver_attribute(self.node, self.name, self.value)
+ else:
+ rspec.remove_default_sliver_attribute(self.name, self.value)
self.top.refresh()
-
+
class SliverPanel(VerticalPanel):
- def __init__(self, sfadata, rspec):
+ def __init__(self, sfadata):
VerticalPanel.__init__(self)
- self.data = sfadata
- self.rspec = rspec
+ self.sfadata = sfadata
+ self.setStyleName("ks-layouts")
self.refresh()
def refresh(self):
self.clear()
self.add(AddPanel(self))
- allattrs = self.rspec.get_default_sliver_attributes()
+ rspec = self.sfadata.getRSpec()
+ allattrs = rspec.get_default_sliver_attributes()
attrdict = {}
- slivers = self.rspec.get_sliver_list()
+ slivers = rspec.get_sliver_list()
for sliver in slivers:
- attrs = self.rspec.get_sliver_attributes(sliver)
+ attrs = rspec.get_sliver_attributes(sliver)
attrdict[sliver] = attrs
if allattrs: