WmDefault.py :  » GUI » TTX-FontTools » Tix8.4.3 » library » pref » Python Open Source

Home
Python Open Source
1.3.1.2 Python
2.Ajax
3.Aspect Oriented
4.Blog
5.Build
6.Business Application
7.Chart Report
8.Content Management Systems
9.Cryptographic
10.Database
11.Development
12.Editor
13.Email
14.ERP
15.Game 2D 3D
16.GIS
17.GUI
18.IDE
19.Installer
20.IRC
21.Issue Tracker
22.Language Interface
23.Log
24.Math
25.Media Sound Audio
26.Mobile
27.Network
28.Parser
29.PDF
30.Project Management
31.RSS
32.Search
33.Security
34.Template Engines
35.Test
36.UML
37.USB Serial
38.Web Frameworks
39.Web Server
40.Web Services
41.Web Unit
42.Wiki
43.Windows
44.XML
Python Open Source » GUI » TTX FontTools 
TTX FontTools » Tix8.4.3 » library » pref » WmDefault.py
# -*- mode: python; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#  $Id: WmDefault.py,v 1.2 2001/12/09 05:03:09 idiscovery Exp $
#


"""One of the bad things about Tk/Tkinter is that it does not pick up
the current color and font scheme from the prevailing CDE/KDE/GNOME/Windows 
window manager scheme.

One of the good things about Tk/Tkinter is that it is not tied to one
particular widget set so it could pick up the current color and font scheme 
from the prevailing CDE/KDE/GNOME/Windows window manager scheme.

The WmDefault package is for making Tk/Tkinter applications use the 
prevailing CDE/KDE/GNOME/Windows scheme. It tries to find the files
and/or settings that the current window manager is using, and then
sets the Tk options database accordingly.

Download the latest version of wm_default from http://tix.sourceforge.net
either as a part of the standard Tix distribution, or as a part of the
Tix Applications: http://tix.sourceforge.net/Tide. wm_default does not
require Tix, but is Tix enabled.
"""

import os, sys, traceback, string
import tkMessageBox

def setup(root, wm=''):
    """1) find the files and/or settings (::wm_default::setup).
    Takes one optional argument: wm, the name of the window manager
    as a string, if known. One of: windows gnome kde1 kde2 cde kde.
    """
    try:
        try:
            # Make sure Tcl/Tk knows wm_default is installed
            root.tk.eval("package require wm_default")
        except:
            # Try again with this directory on the Tcl/Tk path
            dir = os.path.dirname (self.__file__)
            root.tk.eval('global auto_path; lappend auto_path {%s}' % dir)
            root.tk.eval("package require wm_default")
    except:
        t, v, tb = sys.exc_info()
        text = "Error loading WmDefault\n"
        for line in traceback.format_exception(t,v,tb): text = text + line + '\n'
        try:
            tkMessageBox.showerror ('WmDefault Error', text)
        except:
            sys.stderr.write( text )

    return root.tk.call('::wm_default::setup', wm)

def addoptions(root, cnf=None, **kw):
    """2) Setting the Tk options database (::wm_default::addoptions).
    You can override the settings in 1) by adding your values to the
    call to addoptions().
    """
    if cnf is None:
        return root.tk.splitlist(root.tk.call('::wm_default::addoptions'))
    return root.tk.splitlist(
        apply(root.tk.call,
              ('::wm_default::addoptions',) + root._options(cnf,kw)))

def getoptions(root):
    """Returns the current settings, as a dictionary.
    """
    words = root.tk.splitlist(root.tk.call('::wm_default::getoptions'))
    dict = {}
    for i in range(0, len(words), 2):
        key = words[i]
        value = words[i+1]
        dict[key] = value
    return dict

def parray(root):
    """Returns a string of the current settings, one value-pair per line.
    """
    return root.tk.call('::wm_default::parray')

if __name__ == "__main__":
    dir = ""
    if len(sys.argv) > 0:
        # Assume the name of the file containing the tixinspect Tcl source
        # is the same as argument on the command line with .tcl
  dir = os.path.dirname(sys.argv[0])
    if not dir or not os.path.isdir(dir) or not os.path.isabs(dir):
        # Or, assume it's in the same directory as this one:
        dir = os.getcwd()
    import Tkinter
    root = Tkinter.Tk()
    setup(root)
    addoptions(root, {'foreground': 'red'})
    retval = getoptions(root)
    print retval

www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.