ménage (par le vide)
[minwii.git] / src / pgu / gui / menus.py
diff --git a/src/pgu/gui/menus.py b/src/pgu/gui/menus.py
deleted file mode 100644 (file)
index b850b6c..0000000
+++ /dev/null
@@ -1,119 +0,0 @@
-"""
-"""
-from const import *
-import table
-import basic, button
-
-class _Menu_Options(table.Table):
-    def __init__(self,menu,**params):
-        table.Table.__init__(self,**params)
-        
-        self.menu = menu
-    
-    def event(self,e):
-        handled = False
-        arect = self.get_abs_rect()
-        
-        if e.type == MOUSEMOTION:
-            abspos = e.pos[0]+arect.x,e.pos[1]+arect.y
-            for w in self.menu.container.widgets:
-                if not w is self.menu:
-                    mrect = w.get_abs_rect()
-                    if mrect.collidepoint(abspos):
-                        self.menu._close(None)
-                        w._open(None)
-                        handled = True
-        
-        if not handled: table.Table.event(self,e)
-
-class _Menu(button.Button):
-    def __init__(self,parent,widget=None,**params): #TODO widget= could conflict with module widget
-        params.setdefault('cls','menu')
-        button.Button.__init__(self,widget,**params)
-        
-        self.parent = parent
-        
-        self._cls = self.cls
-        self.options = _Menu_Options(self, cls=self.cls+".options")
-        
-        self.connect(CLICK,self._open,None)
-        
-        self.pos = 0
-    
-    def _open(self,value):
-        self.parent.value = self
-        self.pcls = 'down'
-        
-        self.repaint()
-        self.container.open(self.options,self.rect.x,self.rect.bottom)
-        self.options.connect(BLUR,self._close,None)
-        self.options.focus()
-        self.repaint()
-        
-    def _pass(self,value):
-        pass
-        
-    def _close(self,value):
-        self.pcls = ''
-        self.parent.value = None
-        self.repaint()
-        self.options.close()
-    
-    def _value(self,value):
-        self._close(None)
-        if value['fnc'] != None:
-            value['fnc'](value['value'])
-            
-    def event(self,e):
-        button.Button.event(self,e)
-        
-        if self.parent.value == self:
-            self.pcls = 'down'
-    
-    def add(self,w,fnc=None,value=None):
-        w.style.align = -1
-        b = button.Button(w,cls=self.cls+".option")
-        b.connect(CLICK,self._value,{'fnc':fnc,'value':value})
-        
-        self.options.tr()
-        self.options.add(b)
-        
-        return b
-
-class Menus(table.Table):
-    """A drop down menu bar.
-    
-    <pre>Menus(data)</pre>
-    
-    <dl>
-    <dt>data<dd>Menu data, a list of (path,fnc,value), see example below
-    </dl>
-    
-    <strong>Example</strong>
-    <code>
-    data = [
-        ('File/Save',fnc_save,None),
-        ('File/New',fnc_new,None),
-        ('Edit/Copy',fnc_copy,None),
-        ('Edit/Cut',fnc_cut,None),
-        ('Help/About',fnc_help,help_about_content),
-        ('Help/Reference',fnc_help,help_reference_content),
-        ]
-    w = Menus(data)
-    """
-    
-    def __init__(self,data,menu_cls='menu',**params):
-        params.setdefault('cls','menus')
-        table.Table.__init__(self,**params)
-        
-        self.value = None
-        
-        n,m,mt = 0,None,None
-        for path,cmd,value in data:
-            parts = path.split("/")
-            if parts[0] != mt:
-                mt = parts[0]
-                m = _Menu(self,basic.Label(mt,cls=menu_cls+".label"),cls=menu_cls)
-                self.add(m,n,0)
-                n += 1
-            m.add(basic.Label(parts[1],cls=m.cls+".option.label"),cmd,value)