⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gentabbed.py

📁 xen虚拟机源代码安装包
💻 PY
字号:
import typesfrom xen.sv.HTMLBase import HTMLBasefrom xen.sv.util import getVarclass GenTabbed( HTMLBase ):    def __init__( self, title, urlWriter, tabStrings, tabObjects ):        HTMLBase.__init__(self)        self.tabStrings = tabStrings        self.tabObjects = tabObjects        self.urlWriter = urlWriter        self.title = title            def write_BODY( self, request ):        if not self.__dict__.has_key( "tab" ):            try:                self.tab = int( getVar( 'tab', request, 0 ) )            except:                self.tab = 0                    request.write( "\n<div class='title'>%s</div>" % self.title )                TabView( self.tab, self.tabStrings, self.urlWriter ).write_BODY( request )                try:            request.write( "\n<div class='tab'>" )            render_tab = self.tabObjects[ self.tab ]            render_tab( self.urlWriter ).write_BODY( request )            request.write( "\n</div>" )        except Exception, e:            request.write( "\n<p>Error Rendering Tab</p>" )            request.write( "\n<p>%s</p>" % str( e ) )        request.write( "\n<input type=\"hidden\" name=\"tab\" value=\"%d\">" % self.tab )    def perform( self, request ):        request.write( "Tab> perform" )        request.write( "<br/>op: " + str( getVar( 'op', request ) ) )        request.write( "<br/>args: " + str( getVar( 'args', request ) ) )        request.write( "<br/>tab: " + str( getVar( 'tab', request ) ) )              try:            action = getVar( 'op', request, 0 )            if action == "tab":                self.tab = int( getVar( 'args', request ) )            else:                this.tab = int( getVar( 'tab', request, 0 ) )                self.tabObjects[ self.tab ]( self.urlWriter ).perform( request )        except:            pass        class PreTab( HTMLBase ):    def __init__( self, source ):        HTMLBase.__init__( self )        self.source = source        def write_BODY( self, request ):        request.write( "\n<pre>" )        request.write( self.source )        request.write( "\n</pre>" )class GeneralTab( HTMLBase ):                            def __init__( self, dict, titles ):        HTMLBase.__init__( self )        self.dict = dict        self.titles = titles                            def write_BODY( self, request ):                 request.write( "\n<table width='100%' cellspacing='0' cellpadding='0' border='0'>" )                def writeAttr( niceName, attr, formatter=None ):            if type( attr ) is types.TupleType:                ( attr, formatter ) = attr                        if attr in self.dict:                if formatter:                    temp = formatter( self.dict[ attr ] )                else:                    temp = str( self.dict[ attr ] )                request.write( "\n<tr><td width='50%%'><p>%s:</p></td><td width='50%%'><p>%s</p></td></tr>" % ( niceName, temp ) )                for niceName, attr in self.titles.items():            writeAttr( niceName, attr )                                    request.write( "</table>" )class NullTab( HTMLBase ):        def __init__( self, title="Null Tab" ):        HTMLBase.__init__( self )        self.title = title    def write_BODY( self, request ):        request.write( "\n<p>%s</p>" % self.title )class ActionTab( HTMLBase ):    def __init__( self, actions ):        self.actions = actions        HTMLBase.__init__( self )            def write_BODY( self, request ):        for item in self.actions.items():            try:                ((op, attr), title) = item            except:                (op, title) = item                attr = ""            request.write( "\n<div class='button' onclick=\"doOp2( '%s', '%s' )\">%s</a></div>" % (op, attr, title) )class CompositeTab( HTMLBase ):    def __init__( self, tabs, urlWriter ):    	HTMLBase.__init__( self )        self.tabs = tabs        self.urlWriter = urlWriter            def write_BODY( self, request ):    	for tab in self.tabs:            tab( self.urlWriter ).write_BODY( request )                def perform( self, request ):    	for tab in self.tabs:            tab( self.urlWriter ).perform( request )class TabView( HTMLBase ):        # tab - int, id into tabs of selected tab        # tabs - list of strings, tab names        # urlWriter -        def __init__( self, tab, tabs, urlWriter ):            HTMLBase.__init__(self)            self.tab = tab            self.tabs = tabs            self.urlWriter = urlWriter        def write_BODY( self, request ):            for i in range( len( self.tabs ) ):                if self.tab == i:                    at = " id='activeTab'"                else:                    at = ""                request.write( "\n<div%s class='tabButton' onclick=\"doOp2( 'tab', '%d' )\">%s</div>" % ( at, i, self.tabs[ i ] ) )

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -