commit-gnue
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

gnue common/src/cursing/Button.py common/src/cu...


From: Jason Cater
Subject: gnue common/src/cursing/Button.py common/src/cu...
Date: Thu, 14 Nov 2002 20:44:29 -0500

CVSROOT:        /cvsroot/gnue
Module name:    gnue
Changes by:     Jason Cater <address@hidden>    02/11/14 20:44:28

Modified files:
        common/src/cursing: Button.py Frame.py ScreenContainer.py 
                            StatusBar.py TextBox.py sio.py 
        forms/src/GFObjects: GFButton.py 
        forms/src/uidrivers/curses: UIdriver.py 

Log message:
        more work in curses driver

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/common/src/cursing/Button.py.diff?tr1=1.7&tr2=1.8&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/common/src/cursing/Frame.py.diff?tr1=1.8&tr2=1.9&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/common/src/cursing/ScreenContainer.py.diff?tr1=1.8&tr2=1.9&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/common/src/cursing/StatusBar.py.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/common/src/cursing/TextBox.py.diff?tr1=1.9&tr2=1.10&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/common/src/cursing/sio.py.diff?tr1=1.6&tr2=1.7&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/forms/src/GFObjects/GFButton.py.diff?tr1=1.9&tr2=1.10&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/forms/src/uidrivers/curses/UIdriver.py.diff?tr1=1.19&tr2=1.20&r1=text&r2=text

Patches:
Index: gnue/common/src/cursing/Button.py
diff -c gnue/common/src/cursing/Button.py:1.7 
gnue/common/src/cursing/Button.py:1.8
*** gnue/common/src/cursing/Button.py:1.7       Thu Nov  7 11:37:03 2002
--- gnue/common/src/cursing/Button.py   Thu Nov 14 20:44:28 2002
***************
*** 102,108 ****
        raise "No container!"
      if HaveFocus:
        self.SetColor(sio.C_BUTTON_FOCUS)
!       self.HiLight()
      else:
        self.SetColor(sio.C_BUTTON)
        self.LoLight()
--- 102,108 ----
        raise "No container!"
      if HaveFocus:
        self.SetColor(sio.C_BUTTON_FOCUS)
!       self.LoLight()
      else:
        self.SetColor(sio.C_BUTTON)
        self.LoLight()
Index: gnue/common/src/cursing/Frame.py
diff -c gnue/common/src/cursing/Frame.py:1.8 
gnue/common/src/cursing/Frame.py:1.9
*** gnue/common/src/cursing/Frame.py:1.8        Mon Nov 11 00:59:59 2002
--- gnue/common/src/cursing/Frame.py    Thu Nov 14 20:44:28 2002
***************
*** 83,88 ****
--- 83,92 ----
    def Show(self):
      return self.PARENT.RaiseFrame(self)
  
+   def Hide(self):
+     self.VISIBLE = 0
+ ##    self.PARENT.Paint()
+ 
    def _PaintBorder(self):
      GDebug.printMesg(2,'(!!!) PaintBorder')
      if not self.BORDER:
***************
*** 108,116 ****
      self.SCREEN.SetColor(color)
  
    def Paint(self, *args, **parms):
!     self._PaintBorder()
!     self._PaintDropShadow()
!     ScreenContainer.Paint(self,*args, **parms)
  
    def Height(self):
      return self.R2- self._Y
--- 112,121 ----
      self.SCREEN.SetColor(color)
  
    def Paint(self, *args, **parms):
!     if self.VISIBLE:
!       self._PaintBorder()
!       self._PaintDropShadow()
!       ScreenContainer.Paint(self,*args, **parms)
  
    def Height(self):
      return self.R2- self._Y
Index: gnue/common/src/cursing/ScreenContainer.py
diff -c gnue/common/src/cursing/ScreenContainer.py:1.8 
gnue/common/src/cursing/ScreenContainer.py:1.9
*** gnue/common/src/cursing/ScreenContainer.py:1.8      Mon Nov 11 00:59:59 2002
--- gnue/common/src/cursing/ScreenContainer.py  Thu Nov 14 20:44:28 2002
***************
*** 103,112 ****
--- 103,114 ----
        del self.Metrics[child]
  
    def RaiseFrame(self, frame):
+     self._CurrentFocus = None
      self._CurrentFrame = frame
      frame.VISIBLE = 1
      self.FrameStackOrder.pop(self.Frames.index(frame))
      self.FrameStackOrder.insert(0,frame)
+     frame.Paint()
  
    def AddControl(self, control):
      """
***************
*** 268,335 ****
        activate = 0
  
  
- ##  def Run(self):
- ##    """Run"""
- ##    self.Paint()
- ##
- ##    # myControlStackIndex
- ##    myCsi = self.STARTPOINT
- ##    # Sanity check the Csi
- ##    if myCsi == None:
- ##      myCsi = 0
- ##
- ##    # event loop runs forever
- ##    while 1:
- ##      activate = 0
- ##
- ##      # if breakUp is set to TermInfoTrue, return ControlStackIndex
- ##      # less one.
- ##      if self.breakUp :
- ##        self.breakUp = 0
- ##        return myCsi-1
- ##
- ##      # Sanity check the Control Stack index (again!), reset index to
- ##      # zero on exception.
- ##      try:
- ##        myCtl = self.Controls[myCsi]
- ##      except:
- ##        myCsi = 0
- ##        try:
- ##          myCtl = self.Controls[myCsi]
- ##        except:
- ##          print "WARNING: No widgets!!"
- ##          return
- ##
- ##      # if nextControl is not at the initial state: ie. in the "loaded"
- ##      # state:
- ##      if self.nextCtl != None:
- ##        # get and set the next desired ControlStackIndex based on
- ##        # the next queued up control
- ##        myCsi = self.Controls.index(self.nextCtl)
- ##        # reassign myCtl control to the next desired.
- ##        myCtl = self.nextCtl
- ##        # reset the next Control value to None
- ##        self.nextCtl = None
- ##        # My control is set and ready, mark it to be activated.
- ##        activate = 1
- ##
- ##      # if this control has explicitly been set to 'non-active' with
- ##      # Control.DeActivate or Control.SetActiveState then don't
- ##      # initialize it.
- ##      if myCtl.active == 0:
- ##        # assign the next active control stack index to myCsi
- ##        myCsi = self.__GetNextActiveCtlIndex(myCsi)
- ##
- ##      # Otherwise, we have an 'active' Control!
- ##      # "only go to the control if it can get focus"
- ##      elif myCtl.CANGETFOCUS:
- ##        # call system level gotfocus
- ##        c = self.SetFocus(myCtl, activate)
- ##        if c != None:
- ##          myCsi = c
- ##
- ##      activate = 0
- 
  
    def SetFocus(self, myCtl, activate=1, run=1):
  
--- 270,275 ----
***************
*** 352,364 ****
            # do system level run
            if myCtl.ExecMethod( "SYSRUN", activate,
                     self.eventY, self.eventX) :
!             return myCsi
  
        else:
          # otherwise, _just_ do system level run
          if myCtl.ExecMethod("SYSRUN", activate,
               self.eventY, self.eventX) :
!           return myCsi
  
  
    def _LoseFocus(self, myCtl):
--- 292,304 ----
            # do system level run
            if myCtl.ExecMethod( "SYSRUN", activate,
                     self.eventY, self.eventX) :
!             return 0
  
        else:
          # otherwise, _just_ do system level run
          if myCtl.ExecMethod("SYSRUN", activate,
               self.eventY, self.eventX) :
!           return 0
  
  
    def _LoseFocus(self, myCtl):
Index: gnue/common/src/cursing/StatusBar.py
diff -c gnue/common/src/cursing/StatusBar.py:1.2 
gnue/common/src/cursing/StatusBar.py:1.3
*** gnue/common/src/cursing/StatusBar.py:1.2    Thu Nov  7 11:37:03 2002
--- gnue/common/src/cursing/StatusBar.py        Thu Nov 14 20:44:28 2002
***************
*** 130,137 ****
  
        GDebug.printMesg(1,'Visible, so adding %s' % caption)
        Container = self.PARENT.Screen()
!       #Container.SetColor(sio.C_STATUSBAR_FIELD)
!       Container.PrintAt(self._ABSY,X,caption)#, 
curses.color_pair(sio.C_STATUSBAR_FIELD))
  
  
  
--- 130,142 ----
  
        GDebug.printMesg(1,'Visible, so adding %s' % caption)
        Container = self.PARENT.Screen()
!       Container.SetColor(sio.C_STATUSBAR_FIELD)
!       y,x = Container.GetYX()
!       Container.PrintAt(self._ABSY,X,caption) #, 
curses.color_pair(sio.C_STATUSBAR_FIELD))
! 
!       Container.GotoYX(y,x)
! 
! 
  
  
  
Index: gnue/common/src/cursing/TextBox.py
diff -c gnue/common/src/cursing/TextBox.py:1.9 
gnue/common/src/cursing/TextBox.py:1.10
*** gnue/common/src/cursing/TextBox.py:1.9      Thu Nov  7 11:37:03 2002
--- gnue/common/src/cursing/TextBox.py  Thu Nov 14 20:44:28 2002
***************
*** 90,108 ****
        self.Paint(0,0,0)
      while 1:
        ch = Container.GetChar()
        if self.PARENT.BreakOrder(ch) :
! ##        try:
! ##          curses.curs_set(0)
! ##        except:
! ##          pass
!         return
  
        ch = self.PARENT.KeystrokeHook(ch)
        if ch == None:
! ##        try:
! ##          curses.curs_set(0)
! ##        except:
!           continue
        else:
  
          Depth = self.DEPTH
--- 90,116 ----
        self.Paint(0,0,0)
      while 1:
        ch = Container.GetChar()
+       curses.curs_set(1)
        if self.PARENT.BreakOrder(ch) :
!         try:
!           curses.curs_set(0)
!         except:
!           pass
!         return 1
  
        ch = self.PARENT.KeystrokeHook(ch)
        if ch == None:
! #        try:
! #          curses.curs_set(0)
! #        except:
! #          pass
!         continue
!       elif ch == -1:
!         try:
!           curses.curs_set(0)
!         except:
!           pass
!         return
        else:
  
          Depth = self.DEPTH
***************
*** 196,202 ****
      curses.curs_set(0)
      self.SetColor(sio.C_TEXTBOX)
      Container = self.PARENT.Screen()
!     self.Paint(None, None, None)
  
    def GotFocus(self, v1, v2, v3):
      self.SetColor(sio.C_TEXTBOX_FOCUS)
--- 204,211 ----
      curses.curs_set(0)
      self.SetColor(sio.C_TEXTBOX)
      Container = self.PARENT.Screen()
!     if self.PARENT.VISIBLE:
!       self.Paint(0,0,0)
  
    def GotFocus(self, v1, v2, v3):
      self.SetColor(sio.C_TEXTBOX_FOCUS)
***************
*** 205,213 ****
      Container.GotoYX(self._ABSY, self._ABSX+ self.DEPTH)
      self.Paint(None, None, None)
  
!   def SetValue(self, newText):
      self.TEXT = newText
!     self.Paint(0,0,0)
  
    def GetValue(self):
      return self.TEXT
--- 214,223 ----
      Container.GotoYX(self._ABSY, self._ABSX+ self.DEPTH)
      self.Paint(None, None, None)
  
!   def SetValue(self, newText, repaint=1):
      self.TEXT = newText
!     if self.PARENT.VISIBLE:
!       self.Paint(0,0,0)
  
    def GetValue(self):
      return self.TEXT
Index: gnue/common/src/cursing/sio.py
diff -c gnue/common/src/cursing/sio.py:1.6 gnue/common/src/cursing/sio.py:1.7
*** gnue/common/src/cursing/sio.py:1.6  Fri Oct 11 19:44:12 2002
--- gnue/common/src/cursing/sio.py      Thu Nov 14 20:44:28 2002
***************
*** 38,44 ****
  import curses
  
  C_SCREEN = 1
! C_STATUSBAR = 2
  C_TITLEBAR = 3
  C_MENUBAR = 4
  C_MENUBAR_FOCUS = 5
--- 38,44 ----
  import curses
  
  C_SCREEN = 1
! 
  C_TITLEBAR = 3
  C_MENUBAR = 4
  C_MENUBAR_FOCUS = 5
***************
*** 130,136 ****
  
        if curses.has_colors ():
          curses.init_pair(C_SCREEN, curses.COLOR_WHITE,curses.COLOR_BLUE)
-         curses.init_pair(C_STATUSBAR, curses.COLOR_WHITE,curses.COLOR_BLUE)
          curses.init_pair(C_TITLEBAR, curses.COLOR_WHITE,curses.COLOR_BLUE)
          curses.init_pair(C_MENUBAR, curses.COLOR_YELLOW,curses.COLOR_BLUE)
          curses.init_pair(C_MENUBAR_FOCUS, 
curses.COLOR_BLUE,curses.COLOR_WHITE)
--- 130,135 ----
***************
*** 269,274 ****
--- 268,275 ----
      if self.AutoRefresh :
        self.s.refresh()
  
+   def GetYX(self):
+     return self.s.getyx()
  
    def Print(self, String, Mods = None):
      """
Index: gnue/forms/src/GFObjects/GFButton.py
diff -c gnue/forms/src/GFObjects/GFButton.py:1.9 
gnue/forms/src/GFObjects/GFButton.py:1.10
*** gnue/forms/src/GFObjects/GFButton.py:1.9    Tue Sep 17 20:27:50 2002
--- gnue/forms/src/GFObjects/GFButton.py        Thu Nov 14 20:44:28 2002
***************
*** 36,41 ****
--- 36,47 ----
      GFTabStop.__init__(self, parent, 'GFButton')
      self.label = ""
      self._inits = [self.initialize]
+     self._validTriggers ={ 'PRE-FOCUSOUT':   'Pre-FocusOut',
+                            'POST-FOCUSOUT':  'Post-FocusOut',
+                            'PRE-FOCUSIN':    'Pre-FocusIn',
+                            'POST-FOCUSIN':   'Post-FocusIn',
+                            'ON-SWITCH':      'On-Switch' }
+ 
  
    def initialize(self):
      self._block = self.findParentOfType('GFBlock')
Index: gnue/forms/src/uidrivers/curses/UIdriver.py
diff -c gnue/forms/src/uidrivers/curses/UIdriver.py:1.19 
gnue/forms/src/uidrivers/curses/UIdriver.py:1.20
*** gnue/forms/src/uidrivers/curses/UIdriver.py:1.19    Mon Nov 11 01:00:00 2002
--- gnue/forms/src/uidrivers/curses/UIdriver.py Thu Nov 14 20:44:28 2002
***************
*** 93,98 ****
--- 93,100 ----
      self._disableSplash = disableSplash
      GFUserInterfaceBase.__init__(self,eventController)
  
+     self._objectMapping = {}
+ 
      global _EVENTPROCESSOR
      _EVENTPROCESSOR = self.dispatchEvent
  
***************
*** 252,259 ****
  ##     self.mainWindow.panel.SetSize(formSize)
  ##     self._pageList[0].Show(1)
  
! ##     # Only one page at a time can be visible
! ##     self.visiblePage = self._pageList[0]
  
  ##     if _NOTEBOOK: # Adjust sizes
  ##       _NOTEBOOK.SetSize(formSize)
--- 254,261 ----
  ##     self.mainWindow.panel.SetSize(formSize)
  ##     self._pageList[0].Show(1)
  
!     # Only one page at a time can be visible
!     self.visiblePage = self._pageList[0]
  
  ##     if _NOTEBOOK: # Adjust sizes
  ##       _NOTEBOOK.SetSize(formSize)
***************
*** 265,270 ****
--- 267,274 ----
  
  ##     self.mainWindow.CenterOnScreen()
  
+     self.mainWindow.KeystrokeHook = 
keyboardEvtHandler(_EVENTPROCESSOR)._processEvent
+ 
  
    
#############################################################################
    #
***************
*** 312,317 ****
--- 316,322 ----
    # fully activated
    #
    def mainLoop(self):
+     pass
      self.mainWindow.Run()
  
    def _setStatusBar(self,tip, statusValue, insertValue, currentRecord, 
maxRecord, currentPage, maxPage):
***************
*** 328,342 ****
  
      if currentPage and  maxPage:
        self.statusBar.SetText(4,string.strip("%s/%s" % (currentPage,maxPage)))
!       
!       
    #
    # gotoPage
    #
    # makes the requested page visible on the screen
    #
    def gotoPage(self, event):
!     pass
  ##     if not _NOTEBOOK:
  ##       self.visiblePage.Show(FALSE)
  ##       self.visiblePage = self._formToUI[event.data][0]
--- 333,351 ----
  
      if currentPage and  maxPage:
        self.statusBar.SetText(4,string.strip("%s/%s" % (currentPage,maxPage)))
! 
! 
    #
    # gotoPage
    #
    # makes the requested page visible on the screen
    #
    def gotoPage(self, event):
!     self.visiblePage.Hide()
!     self.visiblePage = self._objectMapping[event.data]
!     sys.stderr.write('\n\ngotoPage\n')
!     self.visiblePage.Show()
! 
  ##     if not _NOTEBOOK:
  ##       self.visiblePage.Show(FALSE)
  ##       self.visiblePage = self._formToUI[event.data][0]
***************
*** 444,449 ****
--- 453,459 ----
      pass # self.Destroy()
  
    def indexedFocus(self, index):
+     sys.stderr.write('IndexedFocus %s\n' % self.widgets[index])
      widget = self.widgets[index]
      widget.PARENT.SetFocus(widget,run=0)
  
***************
*** 586,593 ****
      newWidget = Frame(event.container, y, x,  y+height-1, x+width-1 , 
object._parent.title)
      ###newWidget.DeActivate(0)
      event.interface._pageList.append(newWidget)
  
! ####    newWidget.KeystrokeHook = 
keyboardEvtHandler(_EVENTPROCESSOR)._processEvent
  
      return newWidget
  
--- 596,606 ----
      newWidget = Frame(event.container, y, x,  y+height-1, x+width-1 , 
object._parent.title)
      ###newWidget.DeActivate(0)
      event.interface._pageList.append(newWidget)
+     event.interface._objectMapping[object] = newWidget
+     event.interface._objectMapping[newWidget] = object
  
!     ####
!     newWidget.KeystrokeHook = 
keyboardEvtHandler(_EVENTPROCESSOR)._processEvent
  
      return newWidget
  
***************
*** 636,644 ****
  
    def _createWidget(self, event, spacer):
      object = event.object
!     newWidget = Dialog(event.container, 0, 0, event.interface._screen.MAXROW, 
event.interface._screen.MAXCOL )
  
!     return newWidget
  
  
  #####################################################################
--- 649,657 ----
  
    def _createWidget(self, event, spacer):
      object = event.object
! ##    newWidget = Dialog(event.container, 0, 0, 
event.interface._screen.MAXROW, event.interface._screen.MAXCOL )
  
! ##    return newWidget
  
  
  #####################################################################
***************
*** 745,751 ****
      uiBaseEvtHandler.__init__(self, [], eventProcessor)
  
    def _processEvent(self, keystroke):
!     return keystroke
      action = None
  
      ##object = _eventObjTowxWindow(event)
--- 758,764 ----
      uiBaseEvtHandler.__init__(self, [], eventProcessor)
  
    def _processEvent(self, keystroke):
!     ####return keystroke
      action = None
  
      ##object = _eventObjTowxWindow(event)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]