commit-gnue
[Top][All Lists]
Advanced

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

gnue common/src/cursing/ColorScheme.py common/s...


From: Jason Cater
Subject: gnue common/src/cursing/ColorScheme.py common/s...
Date: Thu, 21 Nov 2002 19:57:48 -0500

CVSROOT:        /cvsroot/gnue
Module name:    gnue
Branch:         forms-0-4-1-branch
Changes by:     Jason Cater <address@hidden>    02/11/21 19:57:48

Modified files:
        common/src/cursing: ColorScheme.py VScrollBar.py sio.py 
        forms/src/uidrivers/curses: UIdriver.py 

Log message:
        more work on curses

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/common/src/cursing/ColorScheme.py.diff?only_with_tag=common-0-4-1-branch&tr1=1.2.2.1&tr2=1.2.2.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/common/src/cursing/VScrollBar.py.diff?only_with_tag=common-0-4-1-branch&tr1=1.6&tr2=1.6.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/common/src/cursing/sio.py.diff?only_with_tag=common-0-4-1-branch&tr1=1.10.2.1&tr2=1.10.2.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/forms/src/uidrivers/curses/UIdriver.py.diff?only_with_tag=forms-0-4-1-branch&tr1=1.23.2.1&tr2=1.23.2.2&r1=text&r2=text

Patches:
Index: gnue/common/src/cursing/ColorScheme.py
diff -c gnue/common/src/cursing/ColorScheme.py:1.1 
gnue/common/src/cursing/ColorScheme.py:1.2
*** gnue/common/src/cursing/ColorScheme.py:1.1  Fri Nov 15 02:20:37 2002
--- gnue/common/src/cursing/ColorScheme.py      Sun Nov 17 17:53:27 2002
***************
*** 27,44 ****
  #
  
  import curses, sys
  
  
  class ColorScheme:
    def loadColors(self, text):
      # temp
!     import sio
      #
  
  
!     pair = 1
      self._cache = {}
      for raw in text.upper().split(';'):
        attr, raw2 = raw.split('=')
        try:
          fgcolor, bgcolor = raw2.split(',')
--- 27,46 ----
  #
  
  import curses, sys
+ from gnue.common import GDebug
  
  
  class ColorScheme:
    def loadColors(self, text):
      # temp
!     #import sio
      #
  
  
!     pair = 2
      self._cache = {}
      for raw in text.upper().split(';'):
+       GDebug.printMesg(1,raw)
        attr, raw2 = raw.split('=')
        try:
          fgcolor, bgcolor = raw2.split(',')
***************
*** 50,55 ****
--- 52,60 ----
        if fgcols[0] in ('BLINK','BOLD','DIM','REVERSE','STANDOUT','UNDERLINE'):
          mod = curses.__dict__['A_%s' % fgcols[0]]
          fgcols.pop(0)
+       elif fgcols[0] == 'NONE':
+         mod = 0
+         fgcols.pop(0)
        else:
          mod = 0
  
***************
*** 68,131 ****
          v = curses.color_pair(pair)
  
          # Temp
!         exec 'sio.C_%s = %s' % (attr,pr) in locals()
          #
  
        else:
          pr = None
          v = 0
  
!       self.__dict__['%sCP_'%attr] = (mod, pr)
!       self.__dict__['%sC_'%attr] = v | mod
        pair += 1
  
  
  class Monochrome (ColorScheme):
    def __init__(self):
      self.loadColors (
!         'BACKGROUND=DIM;'
          'TITLEBAR=REVERSE;'
          'MENUBAR=REVERSE;'
          'MENUBAR_FOCUS=BOLD;'
!         'LABEL=REVERSE;'
!         'DIALOG=REVERSE'
          'DIALOG_TITLE=REVERSE;'
!         'TEXTBOX_FOCUS=UNDERLINE;'
          'TEXTBOX=BOLD;'
!         'BUTTON=DIM;'
!         'BUTTON_FOCUS=UNDERLINE;'
          'SCROLL_BUTTON=REVERSE;'
          'SCROLL_BUTTON_FOCUS=BOLD;'
          'SCROLL_BACKGROUND=DIM;'
          'SCROLL_SLIDER=REVERSE;'
          'SCROLL_SLIDER_FOCUS=BOLD;'
          'STATUSBAR=REVERSE;'
!         'STATUSBAR_FIELD=REVERSE' )
  
  class Safe (ColorScheme):
    def __init__(self):
      self.loadColors (
!         'BACKGROUND=BLACK,WHITE;'
!         'TITLEBAR=BLACK,WHITE;'
!         'MENUBAR=BLACK,WHITE;'
!         'MENUBAR_FOCUS=BOLD-BLACK,WHITE;'
!         'LABEL=BLACK,WHITE;'
!         'DIALOG=BLACK,WHITE;'
!         'DIALOG_TITLE=BLACK,WHITE;'
!         'TEXTBOX_FOCUS=UNDERLINE+BLACK,WHITE;'
!         'TEXTBOX=BLACK,WHITE;'
!         'BUTTON=BLACK,WHITE;'
!         'BUTTON_FOCUS=BLACK,WHITE;'
!         'SCROLL_BUTTON=BLACK,WHITE;'
!         'SCROLL_BUTTON_FOCUS=BLACK,WHITE;'
!         'SCROLL_BACKGROUND=BLACK,WHITE;'
!         'SCROLL_SLIDER=BLACK,WHITE;'
!         'SCROLL_SLIDER_FOCUS=BLACK,WHITE;'
!         'STATUSBAR=BLACK,WHITE;'
!         'STATUSBAR_FIELD=BLACK,WHITE' )
! 
! #Monochrome
! #DumbTerminal
  
  
  class StandardWhiteOnBlue(ColorScheme):
--- 73,137 ----
          v = curses.color_pair(pair)
  
          # Temp
!         ##exec 'sio.C_%s = %s' % (attr,pr) in locals()
          #
  
        else:
          pr = None
          v = 0
  
!       self.__dict__['CP_%s'%attr] = (mod, pr)
!       self.__dict__['C_%s'%attr] = v | mod
!       GDebug.printMesg(1,'C_%s = %s' % (attr, v|mod))
! 
        pair += 1
  
  
  class Monochrome (ColorScheme):
    def __init__(self):
      self.loadColors (
!         'BACKGROUND=NONE;'+
          'TITLEBAR=REVERSE;'
          'MENUBAR=REVERSE;'
          'MENUBAR_FOCUS=BOLD;'
!         'LABEL=NORMAL;'
!         'DIALOG=NONE;'
          'DIALOG_TITLE=REVERSE;'
!         'TEXTBOX_FOCUS=REVERSE;'
          'TEXTBOX=BOLD;'
!         'BUTTON=BOLD;'
!         'BUTTON_FOCUS=REVERSE;'
          'SCROLL_BUTTON=REVERSE;'
          'SCROLL_BUTTON_FOCUS=BOLD;'
          'SCROLL_BACKGROUND=DIM;'
          'SCROLL_SLIDER=REVERSE;'
          'SCROLL_SLIDER_FOCUS=BOLD;'
          'STATUSBAR=REVERSE;'
!         'STATUSBAR_FIELD=REVERSE;'
!         'DROPSHADOW=REVERSE' )
  
  class Safe (ColorScheme):
    def __init__(self):
      self.loadColors (
!         'BACKGROUND=NONE;'
!         'TITLEBAR=NONE;'
!         'MENUBAR=NONE;'
!         'MENUBAR_FOCUS=BOLD;'
!         'LABEL=NONE;'
!         'DIALOG=NONE;'
!         'DIALOG_TITLE=NONE;'
!         'TEXTBOX_FOCUS=UNDERLINE;'
!         'TEXTBOX=NONE;'
!         'BUTTON=NONE;'
!         'BUTTON_FOCUS=NONE;'
!         'SCROLL_BUTTON=NONE;'
!         'SCROLL_BUTTON_FOCUS=NONE;'
!         'SCROLL_BACKGROUND=NONE;'
!         'SCROLL_SLIDER=NONE;'
!         'SCROLL_SLIDER_FOCUS=NONE;'
!         'STATUSBAR=NONE;'
!         'STATUSBAR_FIELD=NONE;'
!         'DROPSHADOW=NONE' )
  
  
  class StandardWhiteOnBlue(ColorScheme):
***************
*** 148,154 ****
          'SCROLL_SLIDER=WHITE,BLUE;'
          'SCROLL_SLIDER_FOCUS=BLACK,CYAN;'
          'STATUSBAR=BLACK,WHITE;'
!         'STATUSBAR_FIELD=BLUE,WHITE' )
  
  
  class WhiteOnRed(ColorScheme):
--- 154,161 ----
          'SCROLL_SLIDER=WHITE,BLUE;'
          'SCROLL_SLIDER_FOCUS=BLACK,CYAN;'
          'STATUSBAR=BLACK,WHITE;'
!         'STATUSBAR_FIELD=BLUE,WHITE;'
!         'DROPSHADOW=RED,RED' )
  
  
  class WhiteOnRed(ColorScheme):
***************
*** 171,182 ****
          'SCROLL_SLIDER=WHITE,RED;'
          'SCROLL_SLIDER_FOCUS=BLACK,CYAN;'
          'STATUSBAR=RED,WHITE;'
!         'STATUSBAR_FIELD=RED,WHITE' )
  
  
  
  
  #def test(scr):
! StandardWhiteOnBlue()
  ##WhiteOnRed()
! #curses.wrapper(test)
\ No newline at end of file
--- 178,190 ----
          'SCROLL_SLIDER=WHITE,RED;'
          'SCROLL_SLIDER_FOCUS=BLACK,CYAN;'
          'STATUSBAR=RED,WHITE;'
!         'STATUSBAR_FIELD=RED,WHITE;'
!         'DROPSHADOW=WHITE,WHITE' )
  
  
  
  
  #def test(scr):
! #StandardWhiteOnBlue()
  ##WhiteOnRed()
! #curses.wrapper(test)
Index: gnue/common/src/cursing/VScrollBar.py
diff -c gnue/common/src/cursing/VScrollBar.py:1.5 
gnue/common/src/cursing/VScrollBar.py:1.6
*** gnue/common/src/cursing/VScrollBar.py:1.5   Sat Nov 16 10:20:21 2002
--- gnue/common/src/cursing/VScrollBar.py       Sun Nov 17 17:53:27 2002
***************
*** 60,66 ****
      self.leftarrow = VButton(Parent,'leftarrow',Y,X,3,'^')
      self.leftarrow.SetMethod("CLICK",self._Dec)
      Parent.AddControl(self.leftarrow)
!     self.COLOR = sio.C_SCROLL_BACKGROUND
  
    def Init(self, Max):
      self._max = Max
--- 60,66 ----
      self.leftarrow = VButton(Parent,'leftarrow',Y,X,3,'^')
      self.leftarrow.SetMethod("CLICK",self._Dec)
      Parent.AddControl(self.leftarrow)
!     self.SetColor('SCROLL_BACKGROUND')
  
    def Init(self, Max):
      self._max = Max
***************
*** 78,87 ****
      Screen = self.PARENT.Screen()
      Screen.AutoRefresh = 0
      # clear the bar region in reverse standard-color
-     self.SetColor(sio.C_SCROLL_BACKGROUND)
- #    self.LoLight()
      for i in range(0, int(self.WorkingArea)):
!       Screen.PutAt( self.start + i,self._ABSX, '?') #, curses.A_REVERSE)
      # correct position
      if Pos >= (self.WorkingArea + self.start):
        Pos = (self.start + self.WorkingArea)
--- 78,85 ----
      Screen = self.PARENT.Screen()
      Screen.AutoRefresh = 0
      # clear the bar region in reverse standard-color
      for i in range(0, int(self.WorkingArea)):
!       Screen.PutAt( self.start + i,self._ABSX, '|', 
Screen.colors.C_BACKGROUND)
      # correct position
      if Pos >= (self.WorkingArea + self.start):
        Pos = (self.start + self.WorkingArea)
***************
*** 89,100 ****
        Pos = self.start + self.UsedSpace
      # draw the handle
      if self.FOCUS:
!       self.SetColor(sio.C_SCROLL_SLIDER_FOCUS)
      else:
!       self.SetColor(sio.C_SCROLL_SLIDER)
!     #self.LoLight()
      for i in range(0, self.UsedSpace):
!       Screen.PutAt((self._ABSY + Pos - self.UsedSpace) + i,self._ABSX, 'x')#, 
curses.A_REVERSE)
      Screen.AutoRefresh = 1
      Screen.Refresh()
  
--- 87,98 ----
        Pos = self.start + self.UsedSpace
      # draw the handle
      if self.FOCUS:
!       color = self.SCREEN.colors.C_SCROLL_SLIDER_FOCUS
      else:
!       color = self.SCREEN.colors.C_SCROLL_SLIDER
! 
      for i in range(0, self.UsedSpace):
!       Screen.PutAt((self._ABSY + Pos - self.UsedSpace) + i,self._ABSX, '0', 
color)
      Screen.AutoRefresh = 1
      Screen.Refresh()
  
Index: gnue/common/src/cursing/sio.py
diff -c gnue/common/src/cursing/sio.py:1.9 gnue/common/src/cursing/sio.py:1.10
*** gnue/common/src/cursing/sio.py:1.9  Fri Nov 15 18:18:28 2002
--- gnue/common/src/cursing/sio.py      Sun Nov 17 17:53:27 2002
***************
*** 37,60 ****
  from constants import *
  import curses
  
! C_SCREEN = 2
! C_TITLEBAR = 3
! C_MENUBAR = 4
! C_MENUBAR_FOCUS = 5
! C_LABEL = 6
! C_DIALOG = 7
! C_DIALOG_TITLE = 8
! C_TEXTBOX_FOCUS = 9
! C_TEXTBOX = 10
! C_BUTTON = 11
! C_BUTTON_FOCUS = 12
! C_SCROLL_BUTTON = 13
! C_SCROLL_BUTTON_FOCUS = 14
! C_SCROLL_BACKGROUND = 15
! C_SCROLL_SLIDER = 16
! C_SCROLL_SLIDER_FOCUS = 17
! C_STATUSBAR = 10
! C_STATUSBAR_FIELD = 10  # 7
  
  class sio:
    """
--- 37,60 ----
  from constants import *
  import curses
  
! #C_SCREEN = 2
! #C_TITLEBAR = 3
! #C_MENUBAR = 4
! #C_MENUBAR_FOCUS = 5
! #C_LABEL = 6
! #C_DIALOG = 7
! #C_DIALOG_TITLE = 8
! #C_TEXTBOX_FOCUS = 9
! #C_TEXTBOX = 10
! #C_BUTTON = 11
! #C_BUTTON_FOCUS = 12
! #C_SCROLL_BUTTON = 13
! #C_SCROLL_BUTTON_FOCUS = 14
! #C_SCROLL_BACKGROUND = 15
! #C_SCROLL_SLIDER = 16
! #C_SCROLL_SLIDER_FOCUS = 17
! #C_STATUSBAR = 10
! #C_STATUSBAR_FIELD = 10  # 7
  
  class sio:
    """
***************
*** 88,102 ****
  
    def BeginScreenAccess(self):
      """Initialize the screen and setup for action."""
!     if self.s <> None:
!       return
      self.stdscr = curses.initscr()
      self._NegotiateScreenSize()
      self.s = curses.newwin(self.MAXROW+1, self.MAXCOL+1, 0, 0)
      curses.noecho()
      #curses.nonl()  # disallows usage of <CR> as a selector.
      curses.cbreak()
      self.s.keypad(1)
      # make the cursor very visible
      #curses.curs_set(2) # throws an ERR, removing.
  
--- 88,107 ----
  
    def BeginScreenAccess(self):
      """Initialize the screen and setup for action."""
!     GDebug.printMesg(0,'initializing curses screen')
!     #if self.s <> None:
!     #  return
!     GDebug.printMesg(0,'initializing curses screen 1')
      self.stdscr = curses.initscr()
      self._NegotiateScreenSize()
+     GDebug.printMesg(0,'initializing curses screen 2')
      self.s = curses.newwin(self.MAXROW+1, self.MAXCOL+1, 0, 0)
      curses.noecho()
+     GDebug.printMesg(0,'initializing curses screen 3')
      #curses.nonl()  # disallows usage of <CR> as a selector.
      curses.cbreak()
      self.s.keypad(1)
+     GDebug.printMesg(0,'initializing curses screen 4')
      # make the cursor very visible
      #curses.curs_set(2) # throws an ERR, removing.
  
***************
*** 114,133 ****
        tiLTEE : curses.ACS_LTEE,
        tiRTEE : curses.ACS_RTEE,
        tiBULL : curses.ACS_PLUS}
!     try:
!       # TODO: should really only do this if configuration
!       # TODO: says yes, or on some other test.
!       curses.start_color()
! 
!       import ColorScheme
! 
!       if curses.has_colors ():
! ##        self.colors = ColorScheme.StandardBlueOnWhite()
! ##        f = open('test','w')
! ##        f.write('Color: %s\n' % C_SCREEN)
! ##        f.close()
! ##        #sys.exit()
!          pass
  
  #        curses.init_pair(C_SCREEN, curses.COLOR_WHITE,curses.COLOR_BLUE)
  #        curses.init_pair(C_TITLEBAR, curses.COLOR_WHITE,curses.COLOR_BLUE)
--- 119,135 ----
        tiLTEE : curses.ACS_LTEE,
        tiRTEE : curses.ACS_RTEE,
        tiBULL : curses.ACS_PLUS}
!     GDebug.printMesg(0,'initializing curses screen 5')
! 
!     # TODO: should really only do this if configuration
!     # TODO: says yes, or on some other test.
!     curses.start_color()
! 
!     import ColorScheme
! 
!     if curses.has_colors():
!       GDebug.printMesg(1,"Initializing StandardWhiteOnBlue colors")
!       self.colors = ColorScheme.StandardWhiteOnBlue()
  
  #        curses.init_pair(C_SCREEN, curses.COLOR_WHITE,curses.COLOR_BLUE)
  #        curses.init_pair(C_TITLEBAR, curses.COLOR_WHITE,curses.COLOR_BLUE)
***************
*** 148,167 ****
  #        curses.init_pair(C_SCROLL_SLIDER_FOCUS, 0, curses.COLOR_CYAN)
  ##        curses.init_pair(C_STATUSBAR, curses.COLOR_BLACK, 
curses.COLOR_WHITE)
  ##        curses.init_pair(C_STATUSBAR_FIELD, curses.COLOR_BLUE, 
curses.COLOR_WHITE)
!       else:
!         f = open('test','w')
!         f.write('NO COLORS!')
!         f.close()
!         self.colors = ColorScheme.Monochrome()
  
  
-     except:
-       pass
  
      events = curses.mousemask(curses.BUTTON1_CLICKED)
  
!     if events == 0:
!       self.PrintAt(self.MAXROW, self.MAXCOL-8, 'no mouse.')
  
      self.AutoRefresh = 1
      self.Started = 1
--- 150,165 ----
  #        curses.init_pair(C_SCROLL_SLIDER_FOCUS, 0, curses.COLOR_CYAN)
  ##        curses.init_pair(C_STATUSBAR, curses.COLOR_BLACK, 
curses.COLOR_WHITE)
  ##        curses.init_pair(C_STATUSBAR_FIELD, curses.COLOR_BLUE, 
curses.COLOR_WHITE)
!     else:
!       GDebug.printMesg(1,"Initializing Monochrome colors")
!       self.colors = ColorScheme.Monochrome()
  
  
  
      events = curses.mousemask(curses.BUTTON1_CLICKED)
  
! #    if events == 0:
! #      self.PrintAt(self.MAXROW, self.MAXCOL-8, 'no mouse.')
  
      self.AutoRefresh = 1
      self.Started = 1
***************
*** 264,275 ****
  
  
    def GotoYX(self, Row, Col):
-     """
-     """
-     #self.s.addstr(Row, Column, "")
-     # not really sure why s.addstr is being used when perhaps a 'move'
-     # will suffice?
-     #print "Row: %s, Col: %s" % (Row, Col)
      self.s.move( Row, Col)
      if self.AutoRefresh :
        self.s.refresh()
--- 262,267 ----
***************
*** 277,288 ****
    def GetYX(self):
      return self.s.getyx()
  
!   def Print(self, String, Mods = None):
!     """
!     """
!     PrevMod = self.PrintMods
!     if Mods != None:
!       PrevMod |= Mods
  
      refreshState = self.AutoRefresh
      self.AutoRefresh = 0
--- 269,279 ----
    def GetYX(self):
      return self.s.getyx()
  
!   def Print(self, String, Mods = 0):
! #    PrevMod = self.PrintMods
! #    if Mods != None:
! #      PrevMod |= Mods
!     PrevMod = Mods
  
      refreshState = self.AutoRefresh
      self.AutoRefresh = 0
***************
*** 316,321 ****
--- 307,314 ----
      """
      """
      return
+     
+ 
      if curses.has_colors():
        # TODO: should this be curses.color_pair(colorHi)?
        #self.PrintMods = curses.color_pair(colorHi)
***************
*** 328,333 ****
--- 321,328 ----
      """
      """
      return
+ 
+ 
      if curses.has_colors():
        self.PrintMods = curses.color_pair(colorLow)
      else:
***************
*** 337,342 ****
--- 332,340 ----
    def SetColor(self, ll, hl=None):
      """
      """
+     return
+ 
+ 
  ##    if type(ll) == type( (0,) ):
  ##      ll, hl = ll
  
***************
*** 349,358 ****
        pass
  
    def GetColor(self):
!     return self.COLOR
  
  
!   def PrintAt(self, Row, Col, String, Mods = None):
      """
      """
      self.GotoYX(Row, Col)
--- 347,357 ----
        pass
  
    def GetColor(self):
!     return 0
!     #return self.COLOR
  
  
!   def PrintAt(self, Row, Col, String, Mods = 0):
      """
      """
      self.GotoYX(Row, Col)
***************
*** 362,372 ****
    def Cls(self):
      """
      """
-     self.SetColor(1)
      self.AutoRefresh = 0
      for row in range(0, self.MAXROW+1):
!       self.PrintAt(row, 0, " " * self.MAXCOL)
!     self.SetColor(1)
      self.AutoRefresh = 1
  
  
--- 361,369 ----
    def Cls(self):
      """
      """
      self.AutoRefresh = 0
      for row in range(0, self.MAXROW+1):
!       self.PrintAt(row, 0, " " * self.MAXCOL, self.colors.C_BACKGROUND)
      self.AutoRefresh = 1
  
  
Index: gnue/forms/src/uidrivers/curses/UIdriver.py
diff -c gnue/forms/src/uidrivers/curses/UIdriver.py:1.22 
gnue/forms/src/uidrivers/curses/UIdriver.py:1.23
*** gnue/forms/src/uidrivers/curses/UIdriver.py:1.22    Fri Nov 15 15:08:55 2002
--- gnue/forms/src/uidrivers/curses/UIdriver.py Sun Nov 17 14:44:09 2002
***************
*** 534,539 ****
--- 534,540 ----
      else:
        newWidget = 
VScrollBar(event.container,'name',object.y,object.x,object.height)
      event.container.AddControl(newWidget)
+     newWidget.Init(10)  ## TODO: This should be the number of rows
      return newWidget
  
  #




reply via email to

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