本文整理汇总了Python中pyasm.web.Table.set_max_width方法的典型用法代码示例。如果您正苦于以下问题:Python Table.set_max_width方法的具体用法?Python Table.set_max_width怎么用?Python Table.set_max_width使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pyasm.web.Table
的用法示例。
在下文中一共展示了Table.set_max_width方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: add_unassigned_instances
# 需要导入模块: from pyasm.web import Table [as 别名]
# 或者: from pyasm.web.Table import set_max_width [as 别名]
def add_unassigned_instances(my, widget, shot_inst_names):
''' add the unassigned instances into a SwapDisplayWdg '''
info = []
session = SessionContents.get()
if not session:
return ""
tactic_nodes = session.get_instance_names(is_tactic_node=True)
non_tactic_nodes = session.get_node_names(is_tactic_node=False)
"""
title = HtmlElement.b('Unassigned instances')
widget.add(title)
# this is just a filler for now, can be any sobjects
snapshots = []
for tactic_node in tactic_nodes:
if tactic_node not in shot_inst_names:
session_version = session.get_version(tactic_node)
session_snap = session.get_snapshot(tactic_node)
if session_snap:
snapshots.append(session_snap)
info.append({'session_version': session_version, 'instance':\
tactic_node})
div = DivWdg(id="unassigned_table")
SwapDisplayWdg.create_swap_title( title, swap, div)
table = TableWdg('sthpw/snapshot', 'session_items')
table.set_show_property(False)
table.set_aux_data(info)
table.set_sobjects(snapshots)
div.add(table)
widget.add(div)
widget.add(HtmlElement.br())
"""
# Add other non-tactic nodes
swap2 = SwapDisplayWdg.get_triangle_wdg()
title2 = HtmlElement.b('Other Nodes')
div2 = DivWdg(id="other_node_div")
widget.add(swap2)
widget.add(title2)
SwapDisplayWdg.create_swap_title( title2, swap2, div2)
hidden_table = Table(css='table')
div2.add(hidden_table)
hidden_table.set_max_width()
for node in non_tactic_nodes:
hidden_table.add_row()
hidden_table.add_cell(node)
hidden_table.add_blank_cell()
widget.add(div2)
示例2: get_item_wdg
# 需要导入模块: from pyasm.web import Table [as 别名]
# 或者: from pyasm.web.Table import set_max_width [as 别名]
def get_item_wdg(my, sobject):
div = DivWdg()
div.add_class("spt_item_top")
div.add_style("padding: 10px")
SmartMenu.assign_as_local_activator( div, 'DG_DROW_SMENU_CTX' )
div.add_class("spt_table_row")
div.add_attr("spt_search_key", sobject.get_search_key(use_id=True))
div.add_attr("spt_search_code", sobject.get_code())
name = sobject.get_value("name", no_exception=True)
if not name:
name = sobject.get_code()
div.add_attr("spt_name", name)
table = Table()
div.add(table)
table.set_max_width()
tr = table.add_row()
width = my.kwargs.get("preview_width")
if not width:
width = "240px"
td = table.add_cell()
td.add_style("width: %s" % width);
td.add_style("vertical-align: top")
"""
from tile_layout_wdg import ThumbWdg2
thumb_div = DivWdg()
#td.add(thumb_div)
thumb_div.add_border()
thumb_div.set_box_shadow("0px 0px 5px")
thumb_div.add_color("background", "background", -5)
thumb_div.add_class("spt_item_content")
#thumb_div.add_style("min-height: 120px")
thumb = ThumbWdg2()
thumb_div.add(thumb)
thumb.set_sobject(sobject)
"""
tile_wdg = my.tile_layout.get_tile_wdg(sobject)
td.add(tile_wdg)
info_div = my.get_info_wdg(sobject)
td = table.add_cell(info_div)
td.add_style("vertical-align: top")
return div
示例3: get_display
# 需要导入模块: from pyasm.web import Table [as 别名]
# 或者: from pyasm.web.Table import set_max_width [as 别名]
def get_display(my):
top = my.top
top.add_style("padding: 10px")
top.add_color("background", "background")
top.add_style("width: 400px")
inner = DivWdg()
top.add(inner)
inner.add("The following projects have databases that are out of date with this version of TACTIC")
server_version = Environment.get_release_version()
server_div = DivWdg()
inner.add(server_div)
server_div.add("Installed TACTIC Version: ")
server_div.add(server_version)
server_div.add_style("padding: 20px")
server_div.add_style("font-weight: bold")
search = Search("sthpw/project")
projects = search.get_sobjects()
projects_div = DivWdg()
inner.add(projects_div)
table = Table()
projects_div.add(table)
table.add_style("margin: 20px")
table.set_max_width()
for project in projects:
project_code = project.get_code()
if project_code == 'admin':
continue
table.add_row()
project_version = project.get_value("last_version_update")
if project_version < server_version:
td = table.add_cell()
td.add(project_code)
td = table.add_cell()
if not project_version:
td.add("-")
else:
td.add(project_version)
button = ActionButtonWdg(title="Update")
inner.add(button)
button.add_behavior( {
'type': 'click_up',
'cbjs_action': '''
var server = TacticServerStub.get();
var cmd = 'tactic.ui.app.update_wdg.UpdateCbk';
server.execute_cmd(cmd);
'''
} )
return top
示例4: init
# 需要导入模块: from pyasm.web import Table [as 别名]
# 或者: from pyasm.web.Table import set_max_width [as 别名]
def init(my):
my.item_cls = my.kwargs.get('left_search_type')
my.container_cls = my.kwargs.get('right_search_type')
my.grouping_cls = my.kwargs.get('search_type')
my.item_sobj = my.container_sobj = None
# List the items
search = Search(my.item_cls)
my._order_search(search)
items = search.get_sobjects()
if items:
my.item_sobj = items[0]
#select = MultiSelectWdg("item_ids")
#select.set_search_for_options(search,"login", "get_full_name()")
user_span = SpanWdg(css='med')
user_table = Table(css='table')
user_table.add_style("margin-left: 6px")
user_table.set_max_width()
user_table.add_col(css='small')
user_table.add_col()
user_table.add_style("min-width: 14em")
user_table.add_row_cell(search.get_search_type_obj()\
.get_description(), "heading")
for item in items:
user_table.add_row()
checkbox = CheckboxWdg("item_ids")
checkbox.set_option("value", item.get_primary_key_value() )
user_table.add_cell( checkbox )
project_code = item.get_value("project_code", no_exception=True)
if project_code:
user_table.add_cell( "[ %s ]" % project_code )
else:
user_table.add_cell( "[ * ]" )
user_table.add_cell( item.get_description() )
user_span.add(user_table)
# control widget in the middle
control_div = DivWdg()
control_div.add_style('padding: 100px 10px 0 10px')
button = IconSubmitWdg(my.ADD_LABEL, "stock_insert-slide.png", True)
button.add_style('padding: 2px 30px 4px 30px')
control_div.add(button)
main_table = Table(css='collapse')
main_table.set_max_width()
main_table.add_row(css='plain_bg')
main_table.add_cell(user_span, 'valign_top')
td = main_table.add_cell(control_div, 'valign_top')
td.add_style('width','12em')
main_table.add_cell(my._get_target_span(), 'valign_top')
my.add(main_table)
# register command here
if my.item_sobj and my.container_sobj:
marshaller = WebContainer.register_cmd("pyasm.widget.SObjectGroupCmd")
marshaller.set_option("grouping_search_type", my.grouping_cls)
marshaller.set_option("item_foreign_key", my.item_sobj.get_foreign_key())
marshaller.set_option("container_foreign_key", my.container_sobj.get_foreign_key())
示例5: get_display
# 需要导入模块: from pyasm.web import Table [as 别名]
# 或者: from pyasm.web.Table import set_max_width [as 别名]
def get_display(my):
my.sobject = my.get_sobject()
top = DivWdg()
top.add_class("spt_detail_top")
top.add_color("background", "background")
top.add_color("color", "color")
if not my.sobject:
top.add("No SObject defined for this widget")
return top
if my.parent:
my.search_type = my.parent.get_base_search_type()
my.search_key = SearchKey.get_by_sobject(my.parent)
top.add_attr("spt_parent_key", my.search_key)
my.pipeline_code = my.parent.get_value("pipeline_code", no_exception=True)
my.full_search_type = my.parent.get_search_type()
else:
my.pipeline_code = my.sobject.get_value("pipeline_code", no_exception=True)
my.search_type = my.sobject.get_base_search_type()
my.search_key = SearchKey.get_by_sobject(my.sobject)
my.full_search_type = my.sobject.get_search_type()
if not my.pipeline_code:
my.pipeline_code = 'default'
top.add_style("text-align: left")
my.set_as_panel(top)
table = Table()
#from tactic.ui.container import ResizableTableWdg
#table = ResizableTableWdg()
table.add_color("background", "background")
table.add_color("color", "color")
top.add(table)
table.set_max_width()
# add the title
tr, td = table.add_row_cell()
title_wdg = my.get_title_wdg()
td.add(title_wdg)
table.add_row()
# left
td = table.add_cell()
td.add_style("width: 300px")
td.add_style("min-width: 300px")
td.add_style("vertical-align: top")
div = DivWdg()
td.add(div)
div.add_class("spt_sobject_detail_top")
thumb_table = Table()
div.add(thumb_table)
thumb_table.add_row()
from tactic.ui.panel import ThumbWdg2
thumb = ThumbWdg2()
# use a larger version for clearer display
#thumb.set_icon_type('web')
if my.parent:
thumb.set_sobject(my.parent)
search_key = my.parent.get_search_key()
else:
thumb.set_sobject(my.sobject)
search_key = my.sobject.get_search_key()
gallery_div = DivWdg()
div.add( gallery_div )
gallery_div.add_class("spt_tile_gallery")
thumb_table.add_behavior( {
'type': 'click_up',
'search_key': search_key,
'cbjs_action': '''
var top = bvr.src_el.getParent(".spt_sobject_detail_top");
var gallery_el = top.getElement(".spt_tile_gallery");
var class_name = 'tactic.ui.widget.gallery_wdg.GalleryWdg';
var kwargs = {
search_key: bvr.search_key,
search_keys: [bvr.search_key],
};
spt.panel.load(gallery_el, class_name, kwargs);
''' } )
# prefer to see the original image, then web
#thumb.set_option('image_link_order', 'main|web|icon')
#thumb.set_option("detail", "false")
#thumb.set_option("icon_size", "100%")
#.........这里部分代码省略.........
示例6: get_display
# 需要导入模块: from pyasm.web import Table [as 别名]
# 或者: from pyasm.web.Table import set_max_width [as 别名]
def get_display(my):
search_key = my.kwargs.get("search_key")
snapshot = my.kwargs.get("snapshot")
if snapshot:
my.snapshot = snapshot
else:
my.snapshot = SearchKey.get_by_search_key(search_key)
assert my.snapshot
metadata = my.snapshot.get_metadata()
top = my.top
top.add_color("background", "background")
table = Table()
table.set_max_width()
top.add(table)
table.set_unique_id()
table.add_border()
table.add_smart_styles("spt_cell", {
'padding': '3px'
} )
tr = table.add_row()
tr.add_gradient("background", "background3")
th = table.add_header("Property")
th.add_style("min-width: 200px")
th.add_style("padding: 5px")
th = table.add_header("Value")
th.add_style("min-width: 400px")
th.add_style("padding: 5px")
keys = metadata.get("__keys__")
if not keys:
keys = metadata.keys()
empty = False
if not keys:
empty = True
keys = ['','','','','','','']
table.add_smart_styles("spt_cell", {
'height': '20px'
} )
for i, key in enumerate(keys):
value = metadata.get(key)
title = Common.get_display_title(key)
tr = table.add_row()
if i % 2:
tr.add_color("background", "background")
tr.add_color("color", "color")
else:
tr.add_color("background", "background", -8)
tr.add_color("color", "color")
td = table.add_cell()
td.add_class("spt_cell")
td.add(title)
td = table.add_cell()
td.add_class("spt_cell")
td.add(value)
if empty:
div = DivWdg()
top.add(div)
div.add_style("height: 30px")
div.add_style("width: 150px")
div.add_style("margin-top: -110px")
div.center()
div.add("<b>No Metadata</b>")
div.add_border()
div.add_color("background", "background3")
div.add_color("color", "color3")
div.add_style("padding: 20px")
div.add_style("text-align: center")
top.add_style("min-height: 200px")
return top
示例7: get_display
# 需要导入模块: from pyasm.web import Table [as 别名]
# 或者: from pyasm.web.Table import set_max_width [as 别名]
#.........这里部分代码省略.........
div = DivWdg()
top.add(div)
div.add_border()
div.add_style("min-height: 180px")
div.add_style("width: 600px")
div.add_style("margin: 30px auto")
div.add_style("padding: 20px")
div.add_color("background", "background3")
icon = IconWdg( "WARNING", IconWdg.WARNING )
div.add(icon)
div.add("<b>No Searchable Types have been created</b>")
div.add("<br/><br/>")
div.add("Searchables Types contain lists of items that are managed in this project. Each item will automatically have the ability to have files checked into it, track tasks and status and record work hours.")
div.add("<br/>"*2)
div.add("For more information, read the help docs: ")
from tactic.ui.app import HelpButtonWdg
help = HelpButtonWdg(alias="main")
div.add(help)
div.add("<br/>")
div.add("Click on the 'Add' button above to start adding new types.")
return top
div = DivWdg()
top.add(div)
#div.add_style("max-height: 300px")
#div.add_style("overflow-y: auto")
table = Table()
div.add(table)
table.add_style("margin-top: 10px")
table.set_max_width()
# group mouse over
table.add_relay_behavior( {
'type': "mouseover",
'bvr_match_class': 'spt_row',
'cbjs_action': "spt.mouse.table_layout_hover_over({}, {src_el: bvr.src_el, add_color_modifier: -2})"
} )
table.add_relay_behavior( {
'type': "mouseout",
'bvr_match_class': 'spt_row',
'cbjs_action': "spt.mouse.table_layout_hover_out({}, {src_el: bvr.src_el})"
} )
tr = table.add_row()
tr.add_color("color", "color")
tr.add_gradient("background", "background", -10)
th = table.add_header("")
th.add_style("text-align: left")
th = table.add_header("Title")
th.add_style("text-align: left")
th = table.add_header("# Items")
th.add_style("text-align: left")
th = table.add_header("View")
th.add_style("text-align: left")
th = table.add_header("Add")
th.add_style("text-align: left")
th = table.add_header("Import")
th.add_style("text-align: left")
示例8: get_new_custom_widget
# 需要导入模块: from pyasm.web import Table [as 别名]
# 或者: from pyasm.web.Table import set_max_width [as 别名]
def get_new_custom_widget(my, search_type, view):
div = DivWdg()
div.add_style('width: 500px')
mode_select = SelectWdg("custom_mode")
mode_select.add_class("spt_custom_mode")
mode_select.set_option("values", "simple|xml")
mode_select.set_option("labels", "Simple|XML")
mode_select.add_class("spt_input")
behavior = {
'type': 'change',
'cbfn_action': 'spt.custom_property_adder.switch_property_mode'
}
mode_select.add_behavior(behavior)
div.add("Mode: ")
div.add(mode_select)
div.add("<br/><br/>")
custom_table = Table()
custom_table.add_color("color", "color")
custom_table.set_max_width()
mode = "simple"
my.handle_simple_mode(custom_table, mode)
#my.handle_widget_mode(custom_table, mode)
my.handle_xml_mode(custom_table, mode)
div.add(custom_table)
div.add("<br/>")
custom_table = Table()
custom_table.center()
custom_table.add_row()
from tactic.ui.widget import ActionButtonWdg
submit = ActionButtonWdg(title="Add/Next")
behavior = {
'type': 'click',
'mouse_btn': 'LMB',
'cbfn_action': 'spt.custom_property_adder.add_property_cbk',
'search_type': my.search_type,
'view': view
}
submit.add_behavior(behavior)
td = custom_table.add_cell(submit)
behavior['exit'] = 'true'
submit_exit = ActionButtonWdg(title="Add/Exit")
submit_exit.add_behavior(behavior)
custom_table.add_cell(submit_exit)
cancel = ActionButtonWdg(title="Cancel")
behavior = {
'type': 'click_up',
'cbjs_action': "spt.popup.close('New Table Column')"
}
cancel.add_behavior(behavior)
custom_table.add_cell(cancel)
div.add(custom_table)
return div
示例9: ResizableTableWdg
# 需要导入模块: from pyasm.web import Table [as 别名]
# 或者: from pyasm.web.Table import set_max_width [as 别名]
class ResizableTableWdg(BaseRefreshWdg):
def __init__(self, **kwargs):
self.table = Table()
self.table.add_style("border-collapse: collapse")
self.table.add_style("padding: 0px")
self.table.set_attr("cellpadding", "0px")
self.table.set_attr("cellspacing", "0px")
self.is_first_row = True
self.hilight = self.table.get_color("background", -40)
super(ResizableTableWdg, self).__init__(**kwargs)
def set_style(self, name, value=None):
self.table.set_style(name, value)
def set_max_width(self):
self.table.set_max_width()
def add_class(self, name):
self.table.add_class(name)
def get_display(self):
top = self.top
self.table.add_class("spt_resizable_table_top")
self.table.add_behavior( {
'type': 'load',
'cbjs_action': self.get_onload_js()
} )
self.table.add_behavior( {
'type': 'load',
'cbjs_action': '''
var resizable_cells = bvr.src_el.getElements(".spt_resizable_cell");
for (var i = 0; i < resizable_cells.length; i++) {
var resizable_el = resizable_cells[i].getElement(".spt_resizable");
if (!resizable_el) {
continue;
}
var size = resizable_cells[i].getSize();
resizable_el.setStyle("width", size.x);
resizable_el.setAttribute("width", size.x);
}
'''
} )
top.add(self.table)
return top
def set_keep_table_size(self):
self.table.add_class("spt_resizable_keep_size")
def add_color(self, color, modifier=0):
self.table.add_color(color, modifier)
def add_border(self, modifier=0):
self.table.add_border(modifier=modifier)
def add_style(self, name, value=None):
self.table.add_style(name, value=value)
def add_row(self, resize=True):
# add resize row
if not self.is_first_row and resize == True:
tr, td = self.table.add_row_cell()
td.add_style("height: 3px")
td.add_style("min-height: 3px")
td.add_style("cursor: n-resize")
tr.add_behavior( {
'type': 'drag',
'cb_set_prefix': 'spt.resizable_table.row_drag'
} )
tr.add_behavior( {
'type': 'hover',
'hilight': self.hilight,
'cbjs_action_over': '''
var color = bvr.src_el.getStyle("background-color");
bvr.src_el.setStyle("background-color", bvr.hilight);
bvr.src_el.setAttribute("spt_last_background", color);
''',
'cbjs_action_out': '''
var color = bvr.src_el.getAttribute("spt_last_background");
bvr.src_el.setStyle("background-color", color);
'''
} )
#.........这里部分代码省略.........
示例10: get_versions_wdg
# 需要导入模块: from pyasm.web import Table [as 别名]
# 或者: from pyasm.web.Table import set_max_width [as 别名]
def get_versions_wdg(self):
div = DivWdg()
div.add_class("spt_imports")
title_wdg = DivWdg()
div.add(title_wdg)
title_wdg.add("Imports found:")
title_wdg.add_style("padding: 0px 0px 8px 0px")
base_dir = self.kwargs.get("base_dir")
imports_dir = "%s/imports" % base_dir
if not os.path.exists(imports_dir):
imports_dir = base_dir
basenames = os.listdir(imports_dir)
basenames.sort()
basenames.reverse()
div.add_relay_behavior( {
'type': 'mouseup',
'bvr_match_class': "spt_import_item",
'cbjs_action': '''
var top = bvr.src_el.getParent(".spt_imports");
var els = top.getElements(".spt_import_info");
for ( var i = 0; i < els.length; i++) {
spt.hide(els[i]);
}
var el = bvr.src_el.getElement(".spt_import_info");
spt.show(el);
'''
} )
# find all the zip files
count = 0
for basename in basenames:
if not basename.endswith(".txt"):
continue
if basename.find("-files-") != -1:
continue
if basename.find("-data-") != -1:
continue
version_wdg = DivWdg()
div.add(version_wdg)
version_wdg.add_style("padding: 3px 3px 3px 12px")
version_wdg.add_class("spt_import_item")
radio = RadioWdg("basename")
version_wdg.add(radio)
radio.set_option("value", basename)
if not count:
radio.set_checked()
version_wdg.add(basename)
version_wdg.add("<br/>")
# add info
path = "%s/%s" % (imports_dir, basename)
f = open(path)
data = f.read()
f.close()
data = jsonloads(data)
table = Table()
version_wdg.add(table)
table.add_class("spt_import_info")
if count:
table.add_style("display: none")
table.set_max_width()
table.add_style("margin-left: 40px")
table.add_style("margin-right: 20px")
version_wdg.add(table)
for name, value in self.data.items():
name = Common.get_display_title(name)
table.add_row()
table.add_cell(name)
table.add_cell(value)
count += 1
if count == 0:
msg_wdg = DivWdg()
div.add(msg_wdg)
#.........这里部分代码省略.........
示例11: get_import_wdg
# 需要导入模块: from pyasm.web import Table [as 别名]
# 或者: from pyasm.web.Table import set_max_width [as 别名]
def get_import_wdg(self):
div = DivWdg()
if self.data:
div.add("<br/>"*2)
div.add("The following TACTIC share was found: ")
div.add("<br/>"*2)
data_input = TextAreaWdg("data")
data_input.add_style("display: none")
div.add(data_input)
#print "xxxx: ", self.data
data_str = jsondumps(self.data)
#data_str = data_str.replace('"', "'")
print "data: ", data_str
data_input.set_value(data_str)
table = Table()
div.add(table)
table.set_max_width()
table.add_style("margin-left: 20px")
table.add_style("margin-right: 20px")
for name, value in self.data.items():
name = Common.get_display_title(name)
table.add_row()
table.add_cell(name)
table.add_cell(value)
div.add("<br/>"*2)
div.add( self.get_versions_wdg() )
div.add("<br/>"*2)
# check to see if the project exists
project_code = self.data.get("project_code")
project_code = self.data.get("projects")
project = Project.get_by_code(project_code)
#if project:
if False:
msg_div = DivWdg()
div.add(msg_div)
msg_div.add_style("padding: 20px")
msg_div.add_color("background", "background3")
msg_div.add_color("color", "color")
msg_div.add_border()
icon = IconWdg("WARNING", IconWdg.WARNING)
msg_div.add(icon)
icon.add_style("float: left")
msg_div.add("The project with code [%s] already exists. You must remove the installed project before trying to import this one." % project_code)
return div
if self.data.get("is_encrypted") == "true":
div.add("The transactions in this share is encrypted. Please provide an encryption key to decrypt the transactions<br/><br/>")
div.add("Encryption Key: ")
text = TextWdg("encryption_key")
div.add(text)
div.add("<br/>"*2)
button = ActionButtonWdg(title="Import >>")
button.add_style("float: right")
div.add(button)
div.add("<br/>"*2)
button.add_behavior( {
'type': 'click_up',
'project_code': project_code,
'cbjs_action': '''
spt.app_busy.show("Importing Project "+bvr.project_code+"...");
var top = bvr.src_el.getParent(".spt_sync_import_top");
var values = spt.api.Utility.get_input_values(top, null, false);
var cmd = "tactic.ui.sync.SyncImportCmd";
var server = TacticServerStub.get();
server.execute_cmd(cmd, values, {}, {use_transaction: false});
spt.notify.show_message("Finished importing project");
spt.app_busy.hide();
document.location = '/tactic/'+bvr.project_code;
'''
} )
return div
示例12: get_display
# 需要导入模块: from pyasm.web import Table [as 别名]
# 或者: from pyasm.web.Table import set_max_width [as 别名]
def get_display(self):
web = WebContainer.get_web()
palette = web.get_palette()
widget = DivWdg()
widget.add_style("width: 100%")
widget.add_style("text-align: center")
from tactic.ui.app import PageHeaderWdg
header = PageHeaderWdg(show_project=False)
widget.add( header )
security = Environment.get_security()
search = Search("sthpw/project")
search.add_where("\"code\" not in ('sthpw', 'admin', 'unittest')")
search.add_where("\"type\" not in ('resource')")
# hide template projects
if security.check_access("builtin", "view_site_admin", "allow") or security.check_access("builtin", "view_template_projects", "allow"):
pass
else:
search.add_op("begin")
search.add_filter("is_template", True, op='!=')
search.add_filter("is_template", 'NULL', quoted=False, op='is')
search.add_op("or")
search.add_order_by("category")
projects = search.get_sobjects()
num = len(projects)
# sort by project
if num < 5:
columns = 1
icon_size = 90
width = 500
elif num < 15:
columns = 2
icon_size = 60
width = 700
else:
columns = 3
icon_size = 45
width = 800
div = DivWdg()
div.add_style("margin-left: auto")
div.add_style("margin-right: auto")
#div.add_style("width: 520px")
div.center()
widget.add(div)
#logo = TacticLogoWdg()
#div.add(logo)
div.add("<br/>"*3)
bg_color = palette.color("background")
#div.add_color("color", "color")
from tactic.ui.container import RoundedCornerDivWdg
div = RoundedCornerDivWdg(hex_color_code=bg_color,corner_size="10")
div.set_dimensions( width_str='%spx' % width, content_height_str='50px' )
div.add_border()
div.add_style("overflow: hidden")
div.set_box_shadow()
div.add_style("margin-left: auto")
div.add_style("margin-right: auto")
div.add_style("width: %spx" % width)
table = Table()
table.set_max_width()
table.add_style("margin-left: auto")
table.add_style("margin-right: auto")
table.add_style("background-color: %s" % bg_color)
table.add_color("color", "color")
tr, td = table.add_row_cell()
logo_div = DivWdg()
logo_div.add_gradient("background", "background3", -5, -10)
td.add(logo_div)
logo = TacticLogoWdg()
logo_div.add(logo)
logo_div.add_style("margin: -6 -6 6 -6")
app_name = WebContainer.get_web().get_app_name()
security = Environment.get_security()
last_category = None
has_category = False
index = 0
# if TACTIC has not been set up, show the configuration page
# FIXME: what is the requirement for is_installed?
config_path = Config.get_config_path()
if not os.path.exists(config_path):
#.........这里部分代码省略.........
示例13: get_display
# 需要导入模块: from pyasm.web import Table [as 别名]
# 或者: from pyasm.web.Table import set_max_width [as 别名]
def get_display(my):
div = DivWdg()
sobject = my.get_sobject_from_kwargs()
if not sobject:
div.add("SObject not found")
return div
search_type_obj = sobject.get_search_type_obj()
title = search_type_obj.get_title()
title_wdg = DivWdg()
title_wdg.add_style("font-size: 1.8em")
title_wdg.add("%s: %s" % (title, sobject.get_code() ) )
div.add(title_wdg)
div.add(HtmlElement.hr())
table = Table()
table.set_max_width()
col1 = table.add_col()
col1.add_style('width: 200px')
col2 = table.add_col()
col2.add_style('width: 320px')
col3 = table.add_col()
col3.add_style('width: 400px')
table.add_row()
from pyasm.widget import ThumbWdg, DiscussionWdg, SObjectTaskTableElement
td = table.add_cell()
td.add_style("vertical-align: top")
td.add_style("border-right: solid 1px")
title = DivWdg()
title.add_class("maq_search_bar")
#x = DivWdg("[?] [x]")
#x.add_style("float: right")
#title.add(x)
title.add("Info")
td.add(title)
thumb = ThumbWdg()
thumb.set_sobject(sobject)
thumb.set_option("detail", "false")
td.add(thumb)
from pyasm.prod.web import AssetInfoWdg
info = AssetInfoWdg()
info.thumb = thumb
info.set_sobject(sobject)
td.add(info)
# tasks
td = table.add_cell()
td.add_style("vertical-align: top")
td.add_style("padding-left: 5px")
td.add_style("border-right: solid 1px")
title = DivWdg()
title.add_class("maq_search_bar")
#x = DivWdg("[x]")
#x.add_style("float: right")
#title.add(x)
title.add("Tasks")
td.add(title)
task_wdg = SObjectTaskTableElement()
task_wdg.set_sobject(sobject)
td.add(task_wdg)
td.add_style('cell-padding','10')
# discussion
td = table.add_cell()
#td.add_style("min-width: 300px")
#td.add_style("width: 600px")
td.add_style("vertical-align: top")
td.add_style("padding-left: 5px")
td.add_style("border-right: solid 1px")
title = DivWdg()
title.add_class("maq_search_bar")
#x = DivWdg("[x]")
#x.add_style("float: right")
#title.add(x)
title.add("Notes")
td.add(title)
discussion_wdg = DiscussionWdg()
discussion_wdg.preprocess()
discussion_wdg.set_sobject(sobject)
td.add(discussion_wdg)
note_panel = discussion_wdg.get_note_menu()
td.add(note_panel)
div.add(table)
div.add(HtmlElement.hr())
div.add(HtmlElement.br(clear="all"))
title_wdg = DivWdg()
title_wdg.add_class("maq_search_bar")
#x = DivWdg("[x]")
#.........这里部分代码省略.........
示例14: get_tables_wdg
# 需要导入模块: from pyasm.web import Table [as 别名]
# 或者: from pyasm.web.Table import set_max_width [as 别名]
def get_tables_wdg(self):
div = DivWdg()
div.set_name("Tables")
div.add("In order to fully register a database, you must bind it to a TACTIC project")
div.add("<br/>")
project_code = "mongodb"
database = "test_database"
db_resource = DbResource(
server='localhost',
vendor='MongoDb',
database=database
)
try:
connect = DbContainer.get(db_resource)
except Exception as e:
div.add("Could not connect")
div.add_style("padding: 30px")
div.add("<br/>"*2)
div.add(str(e))
return div
# Bind project to this resource
database_text = TextWdg("database")
div.add("Database: ")
div.add(database_text)
div.add("<br/>"*2)
project_text = TextWdg("project")
div.add("Project Code: ")
div.add(project_text)
div.add("<br/>")
div.add("<hr/>")
# connect and introspect the tables in this database
tables = connect.get_tables()
table = Table()
div.add(table)
table.set_max_width()
for table_name in tables:
table.add_row()
search_type = "table/%s?project=%s" % (table_name, project_code)
td = table.add_cell()
icon = IconWdg("View Table", IconWdg.FOLDER_GO)
td.add(icon)
icon.add_behavior( {
'type': 'click_up',
'search_type': search_type,
'cbjs_action': '''
var class_name = 'tactic.ui.panel.ViewPanelWdg';
var kwargs = {
search_type: bvr.search_type
}
spt.panel.load_popup("table", class_name, kwargs);
'''
} )
td = table.add_cell()
td.add(table_name)
td = table.add_cell()
search = Search(search_type)
count = search.get_count()
td.add(" %s item/s" % count)
columns = search.get_columns()
td = table.add_cell()
td.add(columns)
# search_type
td = table.add_cell()
text = TextWdg("search_type")
td.add(text)
new_search_type = "%s/%s" % (project_code, table_name)
text.set_value(new_search_type)
register_div = DivWdg()
div.add(register_div)
register_div.add_style("padding: 20px")
#.........这里部分代码省略.........
示例15: get_display
# 需要导入模块: from pyasm.web import Table [as 别名]
# 或者: from pyasm.web.Table import set_max_width [as 别名]
def get_display(my):
my.search_type = my.kwargs.get('search_type')
my.texture_search_type = my.kwargs.get('texture_search_type')
assert my.search_type
app_name = WebContainer.get_web().get_selected_app()
# add an outside box
top = DivWdg(css='spt_view_panel')
#div = DivWdg(css="maq_search_bar")
div = DivWdg()
div.add_color("background", "background2", -15)
my.set_as_panel(top)
top.add(div)
div.add_style("margin: 5px")
div.add_style("padding: 10px")
div.add_style("font-style: bold")
process_div = DivWdg()
process_div.add_style("padding-left: 10px")
div.add(process_div)
process_div.add( my.get_process_wdg(my.search_type))
process_div.add( my.get_context_filter_wdg() )
process_div.add(HtmlElement.br(clear="all"))
div.add( HtmlElement.br() )
checkin_options = DivWdg(css='spt_ui_options')
checkin_options.add_style("padding: 10px")
swap = SwapDisplayWdg()
#swap.set_off()
title = SpanWdg("Check in Options")
SwapDisplayWdg.create_swap_title(title, swap, checkin_options, is_open=False)
div.add(swap)
div.add(title)
checkin_options.add( my.get_file_type_wdg() )
checkin_options.add( my.get_snapshot_type_wdg() )
checkin_options.add(HtmlElement.br(1))
checkin_options.add( my.get_export_method_wdg() )
checkin_options.add( my.get_checkin_as_wdg() )
#my.add( my.get_render_icon_wdg() )
# For different export methods
checkin_options.add( my.get_currency_wdg() )
checkin_options.add( my.get_reference_option())
checkin_options.add( my.get_auto_version_wdg())
checkin_options.add( my.get_texture_option(app=app_name))
checkin_options.add( my.get_handoff_wdg())
if not my.context_select.get_value(for_display=True):
my.add(DivWdg('A context must be selected.', css='warning'))
return
div.add(checkin_options)
top.add( my.get_introspect_wdg() )
top.add(HtmlElement.br(2))
# create the interface
table = Table()
table.set_max_width()
#table.set_class("table")
table.add_color('background','background2')
#table.add_style('line-height','3.0em')
#table.add_row(css='smaller')
tr = table.add_row(css='smaller')
tr.add_style('height', '3.5em')
table.add_header(" ")
table.add_header(" ")
th = table.add_header("Instance")
th.add_style('text-align: left')
table.add_header(my.get_checkin())
table.add_header("Sandbox")
tr.add_color('background','background2', -15)
# get session and handle case where there is no session
my.session = SessionContents.get()
if my.session == None:
instance_names = []
asset_codes = []
node_names = []
else:
instance_names = my.session.get_instance_names()
asset_codes = my.session.get_asset_codes()
node_names = my.session.get_node_names()
#.........这里部分代码省略.........