~glitter-team/glitter/trunk

« back to all changes in this revision

Viewing changes to glitter/window.py

  • Committer: Jan Jokela
  • Date: 2008-12-10 22:18:59 UTC
  • Revision ID: janjokela@gmail.com-20081210221859-zxr2ut255a7xu15x
Hi, Glitter here

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# !/usr/bin/python
 
2
# -*- coding: utf-8 -*-
 
3
 
 
4
# Glitter Toolkit
 
5
 
 
6
__authors__ = ["Jan Jokela <janjokela@gmail.com>"]
 
7
__licenses__ = ["LICENSE.LGPL"]
 
8
__description__ = "Glitter window"
 
9
 
 
10
import os
 
11
import sys
 
12
 
 
13
import pygtk
 
14
pygtk.require('2.0')
 
15
import gtk
 
16
 
 
17
import cluttergtk
 
18
import clutter
 
19
 
 
20
from style import Style
 
21
 
 
22
class Window(gtk.Window):
 
23
    """ 
 
24
    A Glitter window offers a ready GTK window with an embedded clutter stage.
 
25
    
 
26
    """
 
27
    
 
28
    def __init__(self, title="Glitter Application", width=800, height=480, 
 
29
                 resizable=True):
 
30
        """ Initialize window template """
 
31
        
 
32
        super(Window, self).__init__()
 
33
                
 
34
        self.set_title(title)
 
35
        self.set_default_size(width, height)
 
36
        
 
37
        # cluttergtk embed widget
 
38
        self.embed = cluttergtk.Embed()
 
39
        self.embed.set_flags(gtk.CAN_FOCUS)
 
40
        self.embed.grab_focus()   
 
41
        self.add(self.embed)
 
42
        self.set_focus(self.embed)
 
43
        self.embed.show()
 
44
        
 
45
        self.stage = self.embed.get_stage()
 
46
        self.stage.set_size(width, height)
 
47
        self.stage.set_color(clutter.Color(0x00, 0x00, 0x00, 0x00))
 
48
        self.stage.show()
 
49
        
 
50
    def get_stage(self):
 
51
        """ Retrieve stage """
 
52
        
 
53
        return self.stage
 
54