drToolBarFile.py :  » Editor » DrPython » drpython_3.11.1 » 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 » Editor » DrPython 
DrPython » drpython_3.11.1 » drToolBarFile.py
#   Programmer: Daniel Pozmanter
#   E-mail:     drpython@bluebottle.com
#   Note:       You must reply to the verification e-mail to get through.
#
#   Copyright 2003-2007 Daniel Pozmanter
#
#   Distributed under the terms of the GPL (GNU Public License)
#
#    DrPython is free software; you can redistribute it and/or modify
#    it under the terms of the GNU General Public License as published by
#    the Free Software Foundation; either version 2 of the License, or
#    (at your option) any later version.
#
#    This program 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 General Public License for more details.
#
#    You should have received a copy of the GNU General Public License
#    along with this program; if not, write to the Free Software
#    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

#ToolBar File

import os.path
import drPrefsFile
import wx
import drScrolledMessageDialog

def getToolBarList(datdirectory):
    toolbarfile = datdirectory + "/toolbar.dat"
    if not os.path.exists(toolbarfile):
        return ["New", "Open", "Reload File", "Close", "Save", \
        "<Separator>", "Print File", "Print Prompt", \
        "<Separator>", "Find", "Replace", \
        "<Separator>", "<Separator>", "Preferences", "Toggle Prompt", "Toggle View Whitespace", \
        "<Separator>", "<Separator>", "<Separator>", "Check Syntax", "Run", "Set Arguments", "Python", \
        "End", "Import All"]
    ToolBarList = []
    f = file(toolbarfile, 'r')
    line = f.readline().rstrip()
    while line:
        ToolBarList.append(line)
        line = f.readline().rstrip()
    f.close()
    return ToolBarList

def getCustomBitmaps(datdirectory):
    filename = datdirectory + "/toolbar.custom.icons.dat"
    if not os.path.exists(filename):
        return [], [], []

    nameArray = []
    fileArray16 = []
    fileArray24 = []

    f = file(filename, 'r')
    line = f.readline()
    while line:
        nameArray.append(drPrefsFile.ExtractPreferenceFromText(line, "Name"))
        fileArray16.append(drPrefsFile.ExtractPreferenceFromText(line, '16'))
        fileArray24.append(drPrefsFile.ExtractPreferenceFromText(line, '24'))
        line = f.readline()
    f.close()

    return nameArray, fileArray16, fileArray24

def getBitmapFileArray(bitmapNames, defaultbitmapdirectory, iconsize, customNames, customFiles):
    iconsizestr = str(iconsize)
    fileArray = []

    l = len(bitmapNames)
    x = 0
    while x < l:
        if not bitmapNames[x] == "<Separator>":
            if bitmapNames[x] in customNames:
                i = customNames.index(bitmapNames[x])
                t = customFiles[i]
                if not os.path.exists(t):
                    t = defaultbitmapdirectory + "/" + iconsizestr + "/" + bitmapNames[x] + ".png"
            else:
                t = defaultbitmapdirectory + "/" + iconsizestr + "/" + bitmapNames[x] + ".png"
            if not os.path.exists(t):
                t = defaultbitmapdirectory + "/" + iconsizestr + "/Default.png"
            fileArray.append(t)
        else:
            fileArray.append("<Separator>")
        x = x + 1

    return fileArray

def AddandReturn(frame, bitmapFileArray, IDNUM, count, title = ""):
    if title:
        frame.toolbar.AddSimpleTool(IDNUM, wx.BitmapFromImage(wx.Image(bitmapFileArray[count], wx.BITMAP_TYPE_PNG)), title)
        return IDNUM
    frame.toolbar.AddSimpleTool(IDNUM, wx.BitmapFromImage(wx.Image(bitmapFileArray[count], wx.BITMAP_TYPE_PNG)), frame.ToolBarList[count])
    return IDNUM

def SetupToolBar(frame):
    try:
        #AB
        names, f16, f24 = getCustomBitmaps(frame.datdirectory)

        if frame.prefs.iconsize == 16:
            bitmapFileArray = getBitmapFileArray(frame.ToolBarList, frame.bitmapdirectory, frame.prefs.iconsize, names, f16)
        else:
            bitmapFileArray = getBitmapFileArray(frame.ToolBarList, frame.bitmapdirectory, frame.prefs.iconsize, names, f24)


        frame.toolbar.SetToolBitmapSize(wx.Size(frame.prefs.iconsize, frame.prefs.iconsize))

        ToolBarIdList = []

        x = 0
        l = len(frame.ToolBarList)
        while x < l:
            if frame.ToolBarList[x] == "<Separator>":
                frame.toolbar.AddSeparator()
                ToolBarIdList.append(-300)

            elif frame.ToolBarList[x] == "New":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_NEW, x))
            elif frame.ToolBarList[x] == "Open":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_OPEN, x))
            elif frame.ToolBarList[x] == "Open Imported Module":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_OPEN_IMPORTED_MODULE, x))
            elif frame.ToolBarList[x] == "Reload File":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_RELOAD, x))
            elif frame.ToolBarList[x] == "Close":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_CLOSE, x))
            elif frame.ToolBarList[x] == "Save":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_SAVE, x))
            elif frame.ToolBarList[x] == "Save As":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_SAVE_AS, x))
            elif frame.ToolBarList[x] == "Save All Documents":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_SAVE_ALL, x))
            elif frame.ToolBarList[x] == "Save Prompt Output To File":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_SAVE_PROMPT, x))
            elif frame.ToolBarList[x] == "Restore From Backup":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_RESTORE_FROM_BACKUP, x))
            elif frame.ToolBarList[x] == "Close All Documents":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_CLOSE_ALL, x))
            elif frame.ToolBarList[x] == "Close All Other Documents":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_CLOSE_ALL_OTHER_TABS, x))

            elif frame.ToolBarList[x] == "Print Setup":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_PRINT_SETUP, x))
            elif frame.ToolBarList[x] == "Print File":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_PRINT, x))
            elif frame.ToolBarList[x] == "Print Prompt":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_PRINTPROMPT, x))

            elif frame.ToolBarList[x] == "Exit":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_EXIT, x))

            elif frame.ToolBarList[x] == "Next Document":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_NEXT_TAB, x))
            elif frame.ToolBarList[x] == "Previous Document":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_PREVIOUS_TAB, x))
            elif frame.ToolBarList[x] == "First Document":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_FIRST_TAB, x))
            elif frame.ToolBarList[x] == "Last Document":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_LAST_TAB, x))

            elif frame.ToolBarList[x] == "Find":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_FIND, x))
            elif frame.ToolBarList[x] == "Replace":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_REPLACE, x))
            elif frame.ToolBarList[x] == "Find Next":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_FIND_NEXT, x))
            elif frame.ToolBarList[x] == "Find Previous":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_FIND_PREVIOUS, x))
            elif frame.ToolBarList[x] == "Insert Regular Expression":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_INSERT_REGEX, x))
            elif frame.ToolBarList[x] == "Insert Separator":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_INSERT_SEPARATOR, x))

            elif frame.ToolBarList[x] == "Go To":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_GOTO, x))
            elif frame.ToolBarList[x] == "Go To Block Start":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_GOTO_BLOCK_START, x))
            elif frame.ToolBarList[x] == "Go To Block End":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_GOTO_BLOCK_END, x))
            elif frame.ToolBarList[x] == "Go To Class Start":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_GOTO_CLASS_START, x))
            elif frame.ToolBarList[x] == "Go To Class End":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_GOTO_CLASS_END, x))
            elif frame.ToolBarList[x] == "Go To Def Start":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_GOTO_DEF_START, x))
            elif frame.ToolBarList[x] == "Go To Def End":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_GOTO_DEF_END, x))

            elif frame.ToolBarList[x] == "Source Browser Go To":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_SOURCEBROWSER_GOTO, x))

            elif frame.ToolBarList[x] == "Find And Complete":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_FIND_AND_COMPLETE, x))

            elif frame.ToolBarList[x] == "Comment":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_COMMENT_REGION, x))
            elif frame.ToolBarList[x] == "UnComment":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_UNCOMMENT_REGION, x))
            elif frame.ToolBarList[x] == "Indent":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_INDENT_REGION, x))
            elif frame.ToolBarList[x] == "Dedent":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_DEDENT_REGION, x))
            elif frame.ToolBarList[x] == "Undo":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_UNDO, x))
            elif frame.ToolBarList[x] == "Redo":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_REDO, x))
            elif frame.ToolBarList[x] == "Uppercase":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_UPPERCASE, x))
            elif frame.ToolBarList[x] == "Lowercase":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_LOWERCASE, x))

            elif frame.ToolBarList[x] == "Find And Complete":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_FIND_AND_COMPLETE, x))

            elif frame.ToolBarList[x] == "Dynamic DrScript":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.drscriptmenu.ID_DYNAMIC_SCRIPT, x))

            elif frame.ToolBarList[x] == "Copy":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_COPY, x))
            elif frame.ToolBarList[x] == "Cut":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_CUT, x))
            elif frame.ToolBarList[x] == "Paste":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_PASTE, x))
            elif frame.ToolBarList[x] == "Delete":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_DELETE, x))

            elif frame.ToolBarList[x] == "Select All":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_SELECT_ALL, x))
            elif frame.ToolBarList[x] == "Select None":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_SELECT_NONE, x))
            elif frame.ToolBarList[x] == "Zoom In":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_ZOOM_IN, x))
            elif frame.ToolBarList[x] == "Zoom Out":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_ZOOM_OUT, x))
            elif frame.ToolBarList[x] == "Toggle Fold":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_TOGGLE_FOLD, x))
            elif frame.ToolBarList[x] == "Fold All":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_FOLD_ALL, x))
            elif frame.ToolBarList[x] == "Expand All":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_EXPAND_ALL, x))

            elif frame.ToolBarList[x] == "Select All":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_SELECT_ALL, x))

            elif frame.ToolBarList[x] == "View In Left Panel":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_VIEW_IN_LEFT_PANEL, x))
            elif frame.ToolBarList[x] == "View In Right Panel":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_VIEW_IN_RIGHT_PANEL, x))
            elif frame.ToolBarList[x] == "View In Top Panel":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_VIEW_IN_TOP_PANEL, x))

            elif frame.ToolBarList[x] == "Toggle Source Browser":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_TOGGLE_SOURCEBROWSER, x))
            elif frame.ToolBarList[x] == "Preferences":
            #Fixed by limodou:
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_PREFS, x))
            #End limodou

            elif frame.ToolBarList[x] == "Customize Shortcuts":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_SHORTCUTS, x))

            elif frame.ToolBarList[x] == "Customize Pop Up Menu":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_POPUP, x))

            elif frame.ToolBarList[x] == "Customize ToolBar":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_CUSTOMIZE_TOOLBAR, x))

            elif frame.ToolBarList[x] == "Toggle Prompt":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_TOGGLE_PROMPT, x))
            elif frame.ToolBarList[x] == "Toggle View Whitespace":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_TOGGLE_VIEWWHITESPACE, x))

            elif frame.ToolBarList[x] == "Run":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_RUN, x,
                    "Run Python script or Display HTML file"))
            elif frame.ToolBarList[x] == "Set Arguments":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_SET_ARGS, x))
            elif frame.ToolBarList[x] == "Python":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_PYTHON, x))
            elif frame.ToolBarList[x] == "End":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_END, x))
            elif frame.ToolBarList[x] == "Check Syntax":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_CHECK_SYNTAX, x))
            elif frame.ToolBarList[x] == "Close Prompt":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_CLOSE_PROMPT, x))

            elif frame.ToolBarList[x] == "Help":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_HELP, x))
            elif frame.ToolBarList[x] == "View Python Docs":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_PYTHON_DOCS, x))
            elif frame.ToolBarList[x] == "View WxWidgets Docs":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_WXWIDGETS_DOCS, x))
            elif frame.ToolBarList[x] == "View Regular Expression Howto":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_REHOWTO_DOCS, x))
            elif frame.ToolBarList[x] == "Import All":
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_IMPORT_ALL, x))
            #elif frame.ToolBarList[x] == "Inspect Tool":
            #    ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_INSPECT_TOOL, x)) #todo
                
            elif frame.ToolBarList[x].find("<DrScript>:") > -1:
                try:
                    title = frame.ToolBarList[x][frame.ToolBarList[x].find("<DrScript>:")+11:]
                    i = frame.drscriptmenu.titles.index(title)
                    ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.drscriptmenu.ID_SCRIPT_BASE+i, x, title))
                except:
                    pass
            elif frame.ToolBarList[x].find("<Plugin>:") > -1:
                try:
                    title = frame.ToolBarList[x][frame.ToolBarList[x].find("<Plugin>:")+9:]
                    ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_OTHER+x, x, title))
                    frame.Bind(wx.EVT_MENU, frame.OnToolBar, id=frame.ID_OTHER+x)
                except:
                    pass
            else:
                ToolBarIdList.append(AddandReturn(frame, bitmapFileArray, frame.ID_OTHER+x, x))
                frame.Bind(wx.EVT_MENU, frame.OnToolBar, id=frame.ID_OTHER+x)
            x = x + 1

        frame.toolbar.AddSeparator()

        frame.toolbar.Realize()
    except:
        drScrolledMessageDialog.ShowMessage(frame, "Error Loading the ToolBar.", "DrPython Error")
        return []
    return ToolBarIdList


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