コード例 #1
0
ファイル: view_manager_wdg.py プロジェクト: nuxping/TACTIC
    def get_tool_bar(my):
        widget = Widget()
        trash_div = SpanWdg()
        # reset some global variables on load
        trash_div.add_behavior({
            'type':
            'load',
            'cbjs_action':
            'spt.side_bar.trashed_items=[]; spt.side_bar.changed_views={}'
        })

        trash_div.set_id('trash_me')

        trash_div.add(IconWdg('Trash', IconWdg.TRASH))
        trash_div.add("TRASH!")
        trash_div.add_class("hand")
        trash_div.add_class("spt_side_bar_trash")

        trash_div.set_attr("SPT_ACCEPT_DROP", "manageSideBar")
        bvr = { "type": "click_up",\
                'cbjs_action': "alert('Drag and drop link or folder here to remove it.')"}
        trash_div.add_behavior(bvr)

        widget.add(trash_div)

        save_div = SpanWdg(css='med hand spt_side_bar_trash')
        save_div.add(IconWdg('Save Ordering', IconWdg.SAVE))

        # FIXME: is_personal???
        is_personal = 'false'
        bvr = { "type": "click_up",\
                'cbjs_action': "spt.side_bar.manage_section_action_cbk({'value':'save'},'%s',%s);" % (my.view, is_personal)}
        save_div.add_behavior(bvr)
        widget.add(save_div)
        return widget
コード例 #2
0
    def get_display(my):
        sobject = my.get_current_sobject()
        title = sobject.get_value("title")
        widget = Widget()
        widget.add(sobject.get_description())

        if title == 'Debug':
            pop = PopupWdg("pref_help_%s" % title)
            hint = 'If set to [true], you can view the Debug Widget at the bottom left corner of your page.'
            icon_wdg = IconWdg(hint, IconWdg.HELP)
            widget.add(SpanWdg(icon_wdg, css='small'))

            widget.add(pop)

        elif title == 'Filter':
            pop = PopupWdg("pref_help_%s" % title)
            hint = 'If set to [multi], It generally applies to filters in the filter box for Artist Tab.'
            icon_wdg = IconWdg(hint, IconWdg.HELP)
            widget.add(SpanWdg(icon_wdg, css='small'))

            widget.add(pop)

        elif title == 'Quick Text':
            pop = PopupWdg("pref_help_%s" % title)
            hint = 'A list of | separated phrases a user can pick from to enter into the note area of Note Sheet.'
            icon_wdg = IconWdg(hint, IconWdg.HELP)
            widget.add(SpanWdg(icon_wdg, css='small'))

            widget.add(pop)

        return widget
コード例 #3
0
    def get_tool_bar(my):
        widget = Widget()
        trash_div = SpanWdg()
        trash_div.set_id('trash_me')

        trash_div.add(IconWdg('Trash', IconWdg.TRASH))
        trash_div.add("TRASH!")
        trash_div.add_class("hand")
        trash_div.add_class("spt_side_bar_trash")

        trash_div.set_attr("SPT_ACCEPT_DROP", "manageSideBar")
        bvr = { "type": "click_up",\
                'cbjs_action': "alert('Drag and drop element name here to remove it.')"}
        trash_div.add_behavior(bvr)

        widget.add(trash_div)

        save_div = SpanWdg(css='med hand spt_side_bar_trash')
        save_div.add(IconWdg('Save', IconWdg.SAVE))

        bvr = { "type": "click_up",\
                'cbjs_action': "spt.custom_project.manage_action_cbk({'value':'save'},'%s');" % my.view}
        save_div.add_behavior(bvr)
        widget.add(save_div)
        return widget
コード例 #4
0
ファイル: shadowbox_wdg.py プロジェクト: zieglerm/TACTIC
    def init(self):

        self.layer = LayerWdg(self.xpos, self.ypos, self.display)
        if not self.width:
            self.shadowbox = ShadowBoxWdg(self.shad_name)
        else:
            self.shadowbox = ShadowBoxWdg(self.shad_name, self.width)

        # do not enable it for the Login page
        web = WebContainer.get_web()
        if self.shad_name and not web.is_IE():
            BaseAppServer.add_onload_script("Move.drag('%s','%s')" \
                    %(self.shadowbox.get_name(), self.iframe_name))

        div = DivWdg()

        from pyasm.widget import IconButtonWdg

        move_button = IconWdg(name='move me', icon=IconWdg.NAV)
        move_button.set_id("%s_handle" % (self.shad_name))
        move_button.add_class('move')

        move_button.add_style('float: left')
        move_button.add_style('padding: 2px 0 0 6px')
        if not web.is_IE():
            div.add(move_button)

        mbutton = IconButtonWdg(name='close window', icon=IconWdg.KILL)
        mbutton.set_class("moduleKillBtn")
        mbutton.add_event("onclick", self.layer.get_off_script())

        div.add(mbutton)

        if self.nav_links:
            back_link = HtmlElement.href("<<",
                                         "javascript:history.back()")
            back_link.add_style("font-size", "1.4em")

            for_link = HtmlElement.href(">>",
                                        "javascript:history.forward()")
            for_link.add_style("font-size", "1.4em")

            div.add(SpanWdg(back_link, css='med'))
            div.add(SpanWdg(for_link, css='med'))

        self.shadowbox.set_header(div)

        # add button and title_wdg to shadow box
        if self.title_wdg:
            title_wdg = DivWdg()
            title_wdg.set_class("moduleTitle")
            title_wdg.add(self.title_wdg)
            self.shadowbox.set_title_wdg(title_wdg)

        self.layer.add(self.shadowbox)
        self._add_widget(self.layer)
コード例 #5
0
ファイル: shadowbox_wdg.py プロジェクト: zieglerm/TACTIC
 def _get_loading_span(self):
     span = SpanWdg()
     span.add_style("display", "none")
     img = HtmlElement.img('/context/icons/common/loading.gif')
     img.add_style("height", "10px")
     msg_span = SpanWdg('loading')
     msg_span.set_class('small')
     span.add(msg_span)
     span.add(img)
     span.set_id(self.img_span_name)
     return span
コード例 #6
0
    def get_new_tab_wdg(my):
        widget = Widget()

        span = SpanWdg()
        swap = SwapDisplayWdg.get_triangle_wdg()
        title = SpanWdg("Tab Creation")
        span.add(swap)
        span.add(title)
        span.add_style("float: left")
        widget.add(span)
        widget.add(HtmlElement.br())

        # add the tab selector
        div = DivWdg()
        SwapDisplayWdg.create_swap_title(title, swap, div)

        tab_text = TextWdg("tab")
        tab_text.set_persistence()
        span = SpanWdg(css="med")
        span.add("Tab: ")
        span.add(tab_text)
        div.add(span)

        # parent
        index_text = TextWdg("parent_tab")
        index_text.set_persistence()
        span = SpanWdg(css="med")
        span.add("Parent Tab: ")
        span.add(index_text)
        span.add(
            HintWdg(
                "Enter the name of the tab that this will fall under. Leave empty to put on the main tab"
            ))
        div.add(span)

        # index
        index_text = TextWdg("index")
        index_text.set_attr("size", "4")
        index_text.set_persistence()
        span = SpanWdg(css="med")
        span.add("Index: ")
        span.add(index_text)
        span.add(
            HintWdg("Enter the numeric location for this tab to be placed"))
        div.add(span)

        WebContainer.register_cmd("CreateTabCmd")
        button = IconSubmitWdg("Create Tab", IconWdg.CREATE, True)
        div.add(button)

        widget.add(div)

        return widget
コード例 #7
0
    def set_text_link(self, widget, div, image_link):
        '''override how the text link is drawn'''
        div.add_style('float', 'left')
        div.add_style('margin-left', '10px')
        filename = os.path.basename(image_link)
        if len(filename) > 40:
            filename = "%s..." % (filename[0:40])

        span = SpanWdg(css='med')
        #href = HtmlElement.href(filename, image_link)
        href = SpanWdg(filename)
        href.add_color("color", "color")
        span.add(href)
        widget.add(span)
        span.add_tip('Right-click and choose [Save Link As..] to save to disk.')
コード例 #8
0
    def get_display(self):
        outer_div = DivWdg()
        outer_div.set_id('edit_instructions_{0}'.format(self.instructions_sobject.get_code()))

        # Get a list of the components the instructions are attached to
        attached_components = get_components_attached_to_instructions(self.instructions_sobject)
        component_div = DivWdg()
        title_span = SpanWdg()

        if attached_components:
            title_span.add('The following Components are attached to this Instructions Document:')
            component_div.add(title_span)

            component_list = HtmlElement.ul()

            for component in attached_components:
                li = HtmlElement.li()
                li.add('{0} ({1})'.format(component.get('name'), component.get_code()))
                component_list.add(li)

            component_div.add(component_list)
        else:
            title_span.add('Instructions are not currently attached to any Components')
            component_div.add(title_span)

        outer_div.add(component_div)
        outer_div.add(get_instructions_textarea_wdg(self.instructions_sobject))

        submit_button = SubmitWdg('Submit Changes')
        submit_button.add_behavior(self.submit_button_behavior())
        submit_button.add_style('display', 'block')

        outer_div.add(submit_button)

        return outer_div
コード例 #9
0
    def get_title(my):
        mode = my.get_option("mode")
        title = SpanWdg()

        #loader = LoaderButtonWdg()
        #loader.set_load_script( my.get_load_script() )
        #return loader
        search_type = my.get_search_type()
        cb_name = '%s_%s' % (search_type, my.CB_NAME)
        master_cb = CheckboxWdg('master_control')
        master_cb.add_behavior({
            'type':
            'click_up',
            'propagate_evt':
            True,
            'cbjs_action':
            '''
                var inputs = spt.api.Utility.get_inputs(bvr.src_el.getParent('.spt_table'),'%s','.spt_latest_%s');
                for (var i = 0; i < inputs.length; i++)
                    inputs[i].checked = bvr.src_el.checked;
                    ''' % (cb_name, mode)
        })
        title.add(master_cb)

        if mode == "input":
            title.add("Receive")
        else:
            title.add("Deliver")
        return title
コード例 #10
0
    def get_frame_rate_section(self):
        section_span = SpanWdg()

        section_span.add('Frame Rate: ')

        frame_rate_select = SelectWdg('frame_rate_select')
        frame_rate_select.set_id('frame_rate_code')
        frame_rate_select.add_style('width', '153px')
        frame_rate_select.add_style('display', 'inline-block')
        frame_rate_select.add_empty_option()

        frame_rate_search = Search('twog/frame_rate')
        frame_rates = frame_rate_search.get_sobjects()

        for frame_rate in frame_rates:
            frame_rate_select.append_option(frame_rate.get_value('name'), frame_rate.get_code())

        try:
            frame_rate_select.set_value(self.frame_rate_code)
        except AttributeError:
            pass

        section_span.add(frame_rate_select)

        return section_span
コード例 #11
0
ファイル: parallel_status.py プロジェクト: zieglerm/TACTIC
    def get_prefs(self):
        div = DivWdg('Bar Size: ')
        self.bar_select = FilterSelectWdg('progress_bar_size')
        bar_sizes = [x * 2 + 1 for x in xrange(6)]
        self.bar_select.set_option('values', bar_sizes)
        self.bar_select.set_option('default', '3')
        div.add(self.bar_select)
        self.bar_select_value = self.bar_select.get_value()

        self.label_select = FilterSelectWdg('Label_Format')
        self.label_select_value = self.label_select.get_value()
        self.label_select.set_option('values', 'reg|small|abbr')
        self.label_select.set_option('default', 'reg')

        span = SpanWdg('Label Format: ', css='small')
        span.add(self.label_select)
        div.add(span)

        self.desc_checkbox = FilterCheckboxWdg("Show Description", \
            'Show Description: ', css='small')
        self.desc_checkbox_value = self.desc_checkbox.get_value()

        div.add(self.desc_checkbox)

        self.include_sub_task = FilterCheckboxWdg("include_sub_task", \
            label="include sub tasks", css='small')
        self.include_sub_task_value = self.include_sub_task.is_checked()
        div.add(self.include_sub_task)
        return div
コード例 #12
0
    def get_related_wdg(my, aliases):
        div = DivWdg()
        div.add("<b>Related links</b>: &nbsp;&nbsp")
        div.add_style("margin-top: 5px")
        div.add_style("margin-bottom: 5px")
        div.add_style("margin-left: 10px")

        titles = [
            Common.get_display_title(x.replace("-", " ")) for x in aliases
        ]
        for alias, title in zip(aliases, titles):

            link_div = SpanWdg()
            div.add(link_div)
            link_div.add_color("background", "background")
            link_div.add(title)
            link_div.add_behavior({
                'type':
                'click_up',
                'cbjs_action':
                '''
                spt.help.set_top();
                spt.help.load_alias("%s");
                ''' % alias
            })
            link_div.add_class("spt_link")
            link_div.add_class("hand")

        return div
コード例 #13
0
    def _get_target_span(self):
        # get the target span
        search = Search(self.container_cls)
        self._order_search(search)
        groups = search.get_sobjects()
        if groups:
            self.container_sobj = groups[0]

        target_span = SpanWdg(css='med')
        group_table = Table(self.GROUP_TABLE_NAME, css='table')
        group_table.add_style('width', '30em')
        group_table.add_col(css='small')
        group_table.add_col(css='small')
        group_table.add_col()

        target_span.add(group_table)
        group_table.add_row_cell(search.get_search_type_obj()\
            .get_description(), "heading")
        checkbox = CheckboxWdg()
        checkbox.set_option("onclick", \
            "a=new Elements('container_ids');a.toggle_all(this);")
        group_table.add_row()
        group_table.add_cell(checkbox)
        col_name = group_table.get_next_col_name()

        toggle_control = HiddenRowToggleWdg(col_name=col_name,
                                            is_control=True,
                                            auto_index=True)

        group_table.add_cell(toggle_control)
        group_table.add_cell('MASTER CONTROL')

        remove_cmd = HiddenWdg(SObjectGroupCmd.REMOVE_CMD)
        self.add(remove_cmd)
        for group in groups:
            group_table.add_row()
            checkbox = CheckboxWdg("container_ids")
            checkbox.set_option("value", group.get_primary_key_value())

            toggle = HiddenRowToggleWdg(col_name, auto_index=True)
            toggle.store_event()

            group_details = ItemInContainerWdg(group, self.item_sobj,
                                               self.item_cls,
                                               self.grouping_cls)

            # set the target content of the toggle
            toggle.set_static_content(group_details)

            group_table.add_cell(checkbox)
            group_table.add_cell(toggle, add_hidden_wdg=True)
            group_table.add_cell(group.get_description())
            num_items = group_details.get_num_items()
            if num_items:
                td = group_table.add_cell("( %s )" % num_items, 'no_wrap')
                td.add_color(color)
            else:
                group_table.add_blank_cell()

        return target_span
コード例 #14
0
    def get_license_info_wdg(my):
        div = DivWdg()

        license = Environment.get_security().get_license()
        if my.first_error:
            return div
        #if not license.is_licensed():
        #    return div

        msg = DivWdg()
        div.add(msg)
        msg.add("The following describes the details of the installed license:<br/><br/>")


        info_wdg = DivWdg()
        div.add(info_wdg)
        info_wdg.add_style("margin: 10px 30px")
        info_wdg.add_style("font-size: 12px")

        version = license.get_data("tactic_version")
        if version:
            info_wdg.add("TACTIC Version: ")
            if version == "ALL":
                version = "ALL (Open Source)"
            info_wdg.add(version)
            info_wdg.add(HtmlElement.br(2))


        company = license.get_data("company")
        info_wdg.add("Licensed To: ")
        if company.find("Southpaw EPL") != -1:
            company = SpanWdg("<a name='license'>Eclipse Public License v1.0</a> &nbsp;")
            icon = IconWdg("EPL v1.0", IconWdg.ZOOM)
            company.add(icon)
            company.add_class("hand")
            company.add_behavior( {
                'type': 'click_up',
                'cbjs_action': '''
                    spt.help.load_alias("license")
                '''
            } )
        info_wdg.add(company)
        info_wdg.add(HtmlElement.br(2))

        info_wdg.add("Max Users: ")
        info_wdg.add(license.get_data("max_users") )
        info_wdg.add(HtmlElement.br(2))

        info_wdg.add("Current Users: ")
        info_wdg.add(license.get_current_users() )
        info_wdg.add(HtmlElement.br(2))

        info_wdg.add("Expiry Date: ")
        expiry_date = license.get_data("expiry_date")
        if not expiry_date:
            expiry_date = "Permanent"
        info_wdg.add(expiry_date)
        info_wdg.add(HtmlElement.br(2))

        return div
コード例 #15
0
    def get_display(self):
        #self.init()
        item_table = Table(css='minimal')
        item_table.add_style('margin-left', '30px')

        for item in self.items:
            item_table.add_row()
            space_td = item_table.add_blank_cell()

            item_td = item_table.add_cell(item.get_description())
            item_td.set_attr("nowrap", "1")

            delete = IconSubmitWdg("Remove from group", \
                "stock_stop-16.png",add_hidden=False)
            delete.add_event("onclick","document.form.remove_cmd.value=\
                '%s|%s';document.form.submit();" \
                % (self.group.get_primary_key_value(), item.get_primary_key_value()) )
            del_span = SpanWdg(css='med')
            del_span.add(delete)
            item_table.add_cell(del_span)
        if not self.items:
            item_table.add_blank_cell()

        self.add(item_table)
        return super(ItemInContainerWdg, self).get_display()
コード例 #16
0
    def get_instantiation_wdg(my):
        setting = my.get_default_setting()
        default_instantiation = setting.get('instantiation')

        div = DivWdg()
        is_unchecked = True
        default_cb = None
        for value in my.get_instantiation_options():
            name = my.get_element_name("instantiation")
            checkbox = CheckboxWdg(name)
            if value == default_instantiation:
                default_cb = checkbox

            checkbox.set_option("value", value)
            checkbox.set_persistence()
            if checkbox.is_checked():
                is_unchecked = False
            checkbox.add_behavior({
                'type':
                'click_up',
                'propagate_evt':
                True,
                "cbjs_action":
                "spt.toggle_checkbox(bvr, '.spt_ui_options', '%s')" % name
            })
            span = SpanWdg(checkbox, css='small')
            span.add(value)
            div.add(span)
        if is_unchecked:
            default_cb.set_checked()
        return div
コード例 #17
0
    def get_format_section(self):
        section_span = SpanWdg()

        section_span.add('Format: ')
        section_span.add(self.get_format_select_wdg())

        return section_span
コード例 #18
0
ファイル: filter_wdg.py プロジェクト: rajubuddha/TACTIC
    def get_display(my):

        if not my.columns:
            print my.options
            search_type = my.options.get("search_type")
            if search_type:
                my.set_columns_from_search_type(search_type)

        if not my.columns:
            my.columns = []

        span = SpanWdg()

        my.column_select.set_option("values", my.columns)
        my.column_select.set_persist_on_submit()
        span.add(my.column_select)

        relations = [
            "is", "is not", "contains", "does not contain", "is empty"
        ]
        my.relation_select.set_option("values", relations)
        my.relation_select.set_persist_on_submit()
        span.add(my.relation_select)

        my.value_text.set_persist_on_submit()
        span.add(my.value_text)

        return span
コード例 #19
0
    def add_file_behaviors(my, item_div, dirname, basename):
        item_div.add_class("spt_script_item")
        if not dirname:
            path = "///%s" % (basename)
        else:
            path = "%s/%s" % (dirname, basename)
        
        scripts = my.kwargs.get("scripts")
        script = scripts.get(path)
        if not script:
            item_div.add_style("background-color", "red")
            item_div.add_behavior({"type": "click_up",
                                 "cbjs_action" : '''spt.alert("Please remove leading / in this script path's Title attribute by using the Manage button.")'''})
            item_div.add_attr("title", "Please remove special characters like / in this script path")
            return
           
        script_code = script.get("code")
        language = script.get("language")
        item_div.add_attr("spt_script_code", script_code)
        item_div.add_style("background", "transparent")

        if language:
            span = SpanWdg()
            span.add_style("font-size: 9px")
            span.add_style("opacity: 0.2")
            span.add(" &nbsp; <i>(%s)</i>" % language)
            item_div.add(span)
コード例 #20
0
    def get_notes_wdg(my):
        widget = Widget()

        div = DivWdg(css="filter_box")
        columns = ['code', 'description']
        search_filter = SearchFilterWdg("note_search", columns=columns,\
            has_persistence=False)

        div.add(search_filter)
        sequence_filter = SequenceFilterWdg()

        div.add(sequence_filter)

        context_select = FilterSelectWdg("discussion_context")
        context_select.set_option("setting", "notes_preprod_context")
        context_select.add_empty_option("-- Any Context --")
        span = SpanWdg(css="med")
        span.add("Notes Context: ")
        span.add(context_select)
        hint = HintWdg('Submission notes for each shot are also included here')
        span.add(hint)
        div.add(span)

        widget.add(div)

        # create a search
        search = Search("prod/shot")
        sequence_filter.alter_search(search)

        search_filter.alter_search(search)

        table = TableWdg("prod/shot", "preprod_notes")
        table.set_search(search)
        widget.add(table)
        return widget
コード例 #21
0
ファイル: filter_wdg.py プロジェクト: zieglerm/TACTIC
    def get_display(self):

        if not self.columns:
            print self.options
            search_type = self.options.get("search_type")
            if search_type:
                self.set_columns_from_search_type(search_type)

        if not self.columns:
            self.columns = []

        span = SpanWdg()

        self.column_select.set_option("values", self.columns)
        self.column_select.set_persist_on_submit()
        span.add(self.column_select)

        relations = ["is", "is not", "contains", "does not contain", "is empty"]
        self.relation_select.set_option("values", relations)
        self.relation_select.set_persist_on_submit()
        span.add(self.relation_select)

        self.value_text.set_persist_on_submit()
        span.add(self.value_text)

        return span
コード例 #22
0
ファイル: filter_wdg.py プロジェクト: zieglerm/TACTIC
    def get_display(self):

        widget = Widget()

        if not self.select:
            return widget

        if not self.schema:
            Environment.add_warning("No schema defined")
            widget.add("No schema defined")
            return widget


        if not self.search_type:
            Environment.add_warning("HierarchicalFilterWdg: Cannot find current search_type")
            widget.add("Cannot find current search_type")
            return widget

        span = SpanWdg(css="med")
        parent_type = self.get_parent_type()
        if parent_type:
            parent_type_obj = SearchType.get(parent_type)
            span.add("%s: " % parent_type_obj.get_value("title"))

        # assume that there is a code in the parent
        self.select.add_empty_option("-- Select --")
        self.select.set_option("query", "%s|code|code" % self.parent_type)
        span.add(self.select)

        widget.add(span)

        return widget
コード例 #23
0
    def get_config_wdg(self):
        widget = Widget()

        search = Search("sthpw/widget_config")

        div = DivWdg(css="filter_box")

        span = SpanWdg(css="med")
        span.add("Search Type: ")

        select = FilterSelectWdg("config_search_type")
        select.add_empty_option("-- Select --")
        search_type_search = Search("sthpw/search_object")
        search_type_search.add_order_by("search_type")
        span.add(select)
        project = Project.get()
        project_type = project.get_base_type()
        filter = search.get_regex_filter("search_type",
                                         "login|task|note|timecard", "EQ")
        search_type_search.add_where('''
        namespace = '%s' or namespace = '%s' or %s
        ''' % (project_type, project.get_code(), filter))
        select.set_search_for_options(search_type_search,
                                      value_column='search_type')
        div.add(span)

        search_type_value = select.get_value()

        span = SpanWdg()
        view_text = TextWdg("view")
        view_text.set_persist_on_submit()
        span.add("View: ")
        span.add(view_text)
        div.add(span)
        widget.add(div)
        view = view_text.get_value()
        if view:
            search.add_filter("view", view)
        if search_type_value:
            search.add_filter("search_type", search_type_value)

        table = TableWdg("sthpw/widget_config")
        table.set_search(search)

        widget.add(table)

        return widget
コード例 #24
0
ファイル: base_section_wdg.py プロジェクト: zieglerm/TACTIC
    def get_link_wdg(self, element_name, config, options):
        attributes = config.get_element_attributes(element_name)
        title = self._get_title(config, element_name)

        default_access = "view"
        path = options.get('path')
        security = Environment.get_security()
        if not security.check_access(
                "side_bar", element_name, "view", default=default_access):
            return

        # backwards compatibility??
        #if not security.check_access("url", path, "view"):
        #    return

        link_wdg = DivWdg(css="hand")
        link_wdg.add_style("padding-top: 4px")

        link_wdg.add_attr("spt_title", title)
        link_wdg.add_attr("spt_icon", attributes.get("icon"))
        link_wdg.add_class("spt_side_bar_link")
        link_wdg.add_attr("spt_view", config.get_view())
        link_wdg.add_attr("spt_element_name", element_name)
        link_wdg.add_attr("spt_path", options['path'])

        # add the mouseover color change
        link_wdg.add_style("color: #292929")
        link_wdg.add_class("SPT_DTS")
        hover = link_wdg.get_color("background3", -10)
        link_wdg.add_event("onmouseover", "this.style.background='%s'" % hover)
        link_wdg.add_event("onmouseout", "this.style.background=''")
        link_wdg.add_class("spt_side_bar_element")

        link_wdg.add_looks("fnt_text")

        link_wdg.add_attr("spt_view", config.get_view())

        # add an invisible drop widget
        drop_wdg = self.get_drop_wdg()
        drop_wdg.add_style("margin-top: -3px")
        link_wdg.add(drop_wdg)

        span = SpanWdg()
        span.add_class("spt_side_bar_title")

        # add an icon
        icon = attributes.get("icon")
        if icon:
            icon = icon.upper()
            from pyasm.widget import IconWdg
            try:
                span.add(IconWdg(title, eval("IconWdg.%s" % icon)))
            except:
                pass

        span.add(title)
        link_wdg.add(span)

        return link_wdg
コード例 #25
0
    def get_client_section(self):
        section_div = DivWdg()

        client_span = SpanWdg()
        client_span.add_style('display', 'inline-block')
        client_span.add('Client: ')
        client_span.add(self.get_client_select())

        status_span = SpanWdg()
        status_span.add_style('display', 'inline-block')
        status_span.add('Status: ')
        status_span.add(self.get_status_select())

        section_div.add(client_span)
        section_div.add(status_span)

        return section_div
コード例 #26
0
    def get_episode_input_wdg(self):
        section_span = SpanWdg()
        section_span.add_style('display', 'inline-block')

        section_span.add('Episode: ')
        section_span.add(self.get_text_input_wdg('episode', 400))

        return section_span
コード例 #27
0
    def get_display(my):

        widget = Widget()

        div = DivWdg(css="filter_box")

        show_span = SpanWdg(css='med')
        show_span.add('Show All Types: ')
        checkbox = FilterCheckboxWdg('show_all_types')
        checkbox.set_persistence()
        show_span.add(checkbox)
        show_all_types = checkbox.get_value()
        div.add(show_span)

        span = SpanWdg(css="med")
        span.add("Search Type: ")

        select = SelectWdg("filter|search_type")
        select.add_empty_option("-- Select --")
        project = Project.get()
        project_type = project.get_base_type()
        search = Search("sthpw/search_object")
        if show_all_types:
            search.add_where('''
            namespace = '%s' or namespace = '%s' or search_type in ('sthpw/task')
            ''' % (project_type, project.get_code()))
        else:
            # show only the custom ones
            search.add_filter('namespace', project.get_code())

        search.add_order_by("title")
        sobjects = search.get_sobjects()

        select.set_sobjects_for_options(sobjects, "search_type", "title")
        #select.set_option("query", "sthpw/search_object|search_type|title")
        select.set_persistence()
        select.add_event("onchange", "document.form.submit()")
        search_type = select.get_value()
        span.add(select)
        div.add(span)

        # make sure the current selection exists
        try:
            SearchType.get(search_type)
        except SearchException, e:
            return div
コード例 #28
0
    def get_version_input_wdg(self):
        section_span = SpanWdg()
        section_span.add_style('display', 'inline-block')

        section_span.add('Version: ')
        section_span.add(self.get_text_input_wdg('version', 400))

        return section_span
コード例 #29
0
    def get_po_number_section(self):
        section_span = SpanWdg()
        section_span.add_style('display', 'inline-block')

        section_span.add('PO #: ')
        section_span.add(self.get_text_input_wdg('po_number', 100))

        return section_span
コード例 #30
0
    def get_video_aspect_ratio_section(self):
        section_span = SpanWdg()
        section_span.add_style('display', 'inline-block')

        section_span.add('Video Aspect Ratio: ')
        section_span.add(self.get_video_aspect_ratio_select_wdg())

        return section_span