__init__.py :  » GUI » Sketch » skencil-0.6.17 » Sketch » 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 » Sketch 
Sketch » skencil 0.6.17 » Sketch » __init__.py
# Sketch - A Python-based interactive drawing program
# Copyright (C) 1998, 1999, 2000, 2002, 2003 by Bernhard Herzog
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Library General Public
# License as published by the Free Software Foundation; either
# version 2 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# Library General Public License for more details.
#
# You should have received a copy of the GNU Library General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

import os, sys, string

_pkgdir = __path__[0]
_parentdir = os.path.join(_pkgdir, '..')
SketchVersion = string.strip(open(os.path.join(_pkgdir, 'VERSION')).read())
for _dir in ('Modules', 'Base'):
    __path__.insert(0, os.path.join(_pkgdir, _dir))

for dir in ('Lib', 'Filter', 'Pax'):
    dir = os.path.join(_parentdir, dir)
    if os.path.isdir(dir):
        sys.path.insert(1, dir)

message_dir = os.path.join(sys.path[0], 'Resources/Messages')
try:
    from intl import gettext,dgettext,bindtextdomain
    import intl, locale
    try:
        locale.setlocale(locale.LC_ALL, "")
    except:
        # if we can't set the locale we might not be able to get
        # properly translated messages
        print "Can't set locale." \
              " Please check your LANG and LC_* environment variables"
    intl.textdomain("skencil")
    bindtextdomain("skencil", message_dir)
except ImportError:
    def gettext(text):
  return text
    def dgettext(domain, text):
  return text
    def bindtextdomain(*args):
  pass
_ = gettext

import _sketch
from _sketch import Point,Polar,PointType
NullPoint = Point(0, 0)

from _sketch import Rect,PointsToRect,UnionRects,IntersectRects,\
     EmptyRect, InfinityRect, RectType
UnitRect = Rect(0, 0, 1, 1)


from _sketch import Trafo,Scale,Translation,Rotation,SingularMatrix,\
     TrafoType
Identity = Trafo(1, 0, 0, 1, 0, 0)
IdentityMatrix = Identity.matrix()


from _sketch import CreatePath,RectanglePath,RoundedRectanglePath,\
     approx_arc, CreateFontMetric, SKCache, TransformRectangle

from _sketch import ContAngle,ContSmooth,ContSymmetrical,\
     SelNone, SelNodes, SelSegmentFirst, SelSegmentLast, Bezier, Line

import config
config.init_directories(_parentdir)

from skexceptions import *

from undo import Undo,UndoList,CreateListUndo,CreateMultiUndo,UndoAfter,\
     UndoRedo, NullUndo

from connector import Connect,Disconnect,Issue,RemovePublisher,Subscribe,\
     Publisher, QueueingPublisher

#

def _import_PIL():
    # Import PIL and work around some bugs...
    # First, try to import PIL as a package
    try:
        import PIL
        import PIL.Image
        # Work around a bug in PIL 1.0 when used as a package
        if PIL.__path__[0] not in sys.path:
            sys.path.append(PIL.__path__[0])
    except ImportError:
        # Must be an older PIL.
        try:
            import Image, ImageChops
        except:
            warn.warn(warn.USER, "Can't import the Python Imaging Library")
            sys.exit(1)
        import plugins
        plugins.create_packages('PIL')
        import PIL
        PIL.__path__.append(os.path.split(Image.__file__)[0])
        PIL.Image = Image
        PIL.ImageChops = ImageChops
        sys.modules['PIL.Image'] = Image
        sys.modules['PIL.ImageChops'] = ImageChops

_import_PIL()



#

command_classes = []

def RegisterCommands(aclass):
    for cmd in aclass.commands:
  cmd.SetClass(aclass)
    command_classes.append(aclass)


# from Graphics.base import GraphicsObject, Primitive

from Graphics.arrow import StandardArrows,Arrow
from Graphics.properties import Style,FillStyle,EmptyFillStyle,\
     LineStyle, EmptyLineStyle, PropertyStack, EmptyProperties

from Graphics.blend import MismatchError,Blend,BlendTrafo
from Graphics.blendgroup import BlendGroup,CreateBlendGroup,\
     BlendInterpolation

from Graphics.color import CreateRGBColor,XRGBColor,CreateCMYKColor,\
     StandardColors
from Graphics.compound import Compound,EditableCompound
from Graphics.dashes import StandardDashes

from Graphics.document import EditDocument,SelectionMode,EditMode
Document = EditDocument

from Graphics.font import GetFont
from Graphics.gradient import MultiGradient,CreateSimpleGradient
from Graphics.graphics import SimpleGC,GraphicsDevice,InvertingDevice,\
     HitTestDevice

from Graphics.group import Group
from Graphics.guide import GuideLine
from Graphics.image import Image,load_image,ImageData
from Graphics.layer import Layer,GuideLayer,GridLayer

from Graphics.maskgroup import MaskGroup

from Graphics.pattern import EmptyPattern,SolidPattern,HatchingPattern,\
     LinearGradient, RadialGradient, ConicalGradient, ImageTilePattern

from Graphics.plugobj import PluginCompound,TrafoPlugin

from Graphics.rectangle import Rectangle,RectangleCreator
from Graphics.ellipse import Ellipse,EllipseCreator
from Graphics.bezier import PolyBezier,PolyBezierCreator,PolyLineCreator,\
     CombineBeziers, CreatePath, ContAngle, ContSmooth, ContSymmetrical

from Graphics.psdevice import PostScriptDevice


from Graphics.text import SimpleText,SimpleTextCreator,PathText


def init_lib():
    import plugins
    config.load_user_preferences()
    Issue(None, const.INITIALIZE)

def init_ui():
    # workaround for a threaded _tkinter in Python 1.5.2
    if sys.version[:5] >= '1.5.2':
        import paxtkinter
        sys.modules['_tkinter'] = paxtkinter

    init_lib()

    # import the standard scripts
    for name in config.preferences.standard_scripts:
        __import__(name)

def init_modules_from_widget(root):
    import pax
    import UI.skpixmaps, Graphics.graphics
    import UI.tkext, Graphics.color
    UI.tkext.InitFromTkapp(root.tk)
    if hasattr(root.tk, 'interpaddr'):
        tkwin = pax.name_to_window('.', root.tk.interpaddr())
    else:
        tkwin = pax.name_to_window('.', root.tk)
    Graphics.color.InitFromWidget(tkwin, root)
    Graphics.graphics.InitFromWidget(tkwin)
    UI.skpixmaps.InitFromWidget(tkwin)

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