/[ascend]/trunk/pygtk/interface/preferences.py
ViewVC logotype

Contents of /trunk/pygtk/interface/preferences.py

Parent Directory Parent Directory | Revision Log Revision Log


Revision 172 - (show annotations) (download) (as text)
Sat Jan 7 10:06:13 2006 UTC (14 years, 9 months ago) by johnpye
File MIME type: text/x-python
File size: 2187 byte(s)
Storing of window size and position in .ascend.ini
Starting to implement plotting functions.
1 # Preferences module for ASCPY.
2
3 import ConfigParser, os
4 import re
5
6 class Preferences:
7 __sharedstate = {}
8
9 def __init__(self):
10 self.__dict__ = self.__sharedstate
11
12 if not hasattr(self,'n'):
13 self.n = 0;
14 self.fname = os.path.expanduser("~/.ascend.ini");
15 self.n = self.n + 1;
16
17 if not hasattr(self,'ini'):
18 print "CREATING CONFIG"
19 self.ini = ConfigParser.SafeConfigParser();
20 self.ini.read( [ self.fname ] );
21
22 def __del__(self):
23 self.n = self.n - 1;
24 if self.n==0:
25 print "WRITING CONFIG to",self.fname
26 f = open(self.fname, "w");
27 self.ini.write( f );
28
29 def getGeometry(self,displayname,key):
30 try:
31 _g = self.ini.get("Geometry:"+displayname,key)
32 except ConfigParser.NoSectionError:
33 return None
34 except ConfigParser.NoOptionError:
35 return None
36 _p = re.compile('^\s*(\d+)[Xx](\d+)\+(\d+)\+(\d+)\s*$');
37
38 _m = _p.match(_g)
39 print "MATCH: ",_m.groups()
40 return tuple(int(i) for i in _m.groups())
41
42 def setGeometry(self,displayname,key,width,height,top,left):
43 if not self.ini.has_section("Geometry:"+displayname):
44 self.ini.add_section("Geometry:"+displayname)
45 self.ini.set("Geometry:"+displayname,key, "%dx%d+%d+%d" % (width, height, top, left) );
46
47 def getPreferredUnits(self,key):
48 try:
49 _u = self.ini.get("PreferredUnits",key);
50 except ConfigParser.NoSectionError:
51 return None
52 except ConfigParser.NoOptionError:
53 return None
54 return _u
55
56 def setPreferredUnits(self,key,val):
57 if not self.ini.has_section("PreferredUnits"):
58 self.ini.add_section("PreferredUnits")
59 self.ini.set("PreferredUnits",key,val)
60 #print "SET PREFERRED UNITS FOR %s TO %s" % ( key, val )
61
62 # Test script:
63 def main():
64 x = Preferences();
65 y = Preferences();
66
67 print "Units for length: ",x.getPreferredUnits("length");
68 print "Units for time: ",x.getPreferredUnits("time");
69
70 x.setPreferredUnits("length","m");
71 y.setPreferredUnits("time","hr");
72 print "Units for length: ",y.getPreferredUnits("length");
73 print "Units for time: ",y.getPreferredUnits("time");
74
75 print "About to delete x"
76 del x;
77 print "Deleted x"
78
79 y.setPreferredUnits("length","cm");
80
81 print "About to delete y"
82 del y;
83
84 print "Deleted y"
85
86 if __name__ == "__main__":
87 main()

john.pye@anu.edu.au
ViewVC Help
Powered by ViewVC 1.1.22