[Top][All Lists]
[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
#