~ubuntu-branches/ubuntu/karmic/tovid/karmic

« back to all changes in this revision

Viewing changes to libtovid/metagui/widget.py

  • Committer: Bazaar Package Importer
  • Author(s): Matvey Kozhev
  • Date: 2008-01-24 22:04:40 UTC
  • Revision ID: james.westby@ubuntu.com-20080124220440-x7cheljduf1rdgnq
Tags: upstream-0.31
ImportĀ upstreamĀ versionĀ 0.31

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#! /usr/bin/env python
 
2
# widget.py
 
3
 
 
4
__all__ = ['Widget']
 
5
 
 
6
import Tkinter as tk
 
7
 
 
8
### --------------------------------------------------------------------
 
9
class Widget (tk.Frame):
 
10
    """Generic metagui widget, suitable for Controls, Panels, etc."""
 
11
    def __init__(self):
 
12
        self.active = False
 
13
    
 
14
    def draw(self, master):
 
15
        tk.Frame.__init__(self, master)
 
16
        self.active = True
 
17
 
 
18
    def destroy(self):
 
19
        tk.Frame.destroy(self)
 
20
        self.active = False
 
21
 
 
22
    def enable(self, enabled=True):
 
23
        """Enable or disable all sub-widgets."""
 
24
        if enabled:
 
25
            newstate = 'normal'
 
26
        else:
 
27
            newstate = 'disabled'
 
28
        for widget in self.children.values():
 
29
            # Some widgets don't support state changes
 
30
            if 'state' in widget.config():
 
31
                widget.config(state=newstate)
 
32
 
 
33
    def disable(self):
 
34
        """Disable all sub-widgets."""
 
35
        self.enable(False)