本文整理汇总了Python中pyasm.widget.TextWdg.add_class方法的典型用法代码示例。如果您正苦于以下问题:Python TextWdg.add_class方法的具体用法?Python TextWdg.add_class怎么用?Python TextWdg.add_class使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pyasm.widget.TextWdg
的用法示例。
在下文中一共展示了TextWdg.add_class方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: get_add_chat_wdg
# 需要导入模块: from pyasm.widget import TextWdg [as 别名]
# 或者: from pyasm.widget.TextWdg import add_class [as 别名]
def get_add_chat_wdg(my):
div = DivWdg()
div.add_border()
div.add_style("padding: 20px")
div.add_class("spt_add_chat_top")
div.add("User: ")
text = TextWdg("user")
div.add(text)
text.add_class("spt_add_chat_user")
add_button = ActionButtonWdg(title="Start Chat")
div.add(add_button)
add_button.add_behavior( {
'type': 'click_up',
'cbjs_action': '''
var top = bvr.src_el.getParent(".spt_add_chat_top");
var el = top.getElement(".spt_add_chat_user");
var user = el.value;
if (!user) {
alert("Specify a valid user to chat with");
return;
}
// new chat
var server = TacticServerStub.get();
var category = "chat";
var class_name = 'tactic.ui.app.ChatCmd';
var kwargs = {
users: [user]
}
server.execute_cmd(class_name, kwargs);
spt.panel.refresh(bvr.src_el);
'''
} )
return div
示例2: get_display
# 需要导入模块: from pyasm.widget import TextWdg [as 别名]
# 或者: from pyasm.widget.TextWdg import add_class [as 别名]
def get_display(my):
assert my.load_script
widget = DivWdg()
widget.add_style('float', 'right')
load_button = TextOptionBtnWdg(label=' Load ', size='medium')
load_button.get_top_el().add_style('float', 'left')
load_button.get_top_el().set_id(my.LOAD_BUTTON_ID)
load_button.add_behavior(
{'type': "click_up",
"cbjs_action":
"setTimeout(function() {%s}, 200) "% my.load_script
})
widget.add(load_button)
arrow_button = load_button.get_option_widget()
#widget.add(arrow_button)
suffix = "ASSET_LOADER_FUNCTIONS"
menus_in = [ my.smart_menu_data ]
SmartMenu.add_smart_menu_set( arrow_button, menus_in)
SmartMenu.assign_as_local_activator(arrow_button, None, True)
#SmartMenu.attach_smart_context_menu( load_button, menus_in, False )
x_div = FloatDivWdg("x")
x_div.add_color('color','color')
x_div.add_style('margin-right: 6px')
widget.add(x_div)
multiplier = TextWdg()
multiplier.set_id("load_multiplier")
multiplier.set_option("size", "1.5")
multiplier.add_style("font-size: 0.8em")
multiplier.add_style("float: left")
multiplier.add_class("load_multiplier")
widget.add( multiplier )
return widget
示例3: get_upload_wdg
# 需要导入模块: from pyasm.widget import TextWdg [as 别名]
# 或者: from pyasm.widget.TextWdg import add_class [as 别名]
#.........这里部分代码省略.........
var info = spt.panel.load('csv_import_main', class_name, {}, values);
spt.app_busy.hide();
}
catch(e) {
spt.alert(spt.exception.handler(e));
}
}
else {
alert('Error: file object cannot be found.')
}
spt.app_busy.hide();'''%ticket
from tactic.ui.input import UploadButtonWdg
browse = UploadButtonWdg(name='new_csv_upload', title="Browse", tip="Click to choose a csv file",\
on_complete=on_complete, ticket=ticket)
browse.add_style('float: left')
msg.add(browse)
# this is now only used in the copy and paste Upload button for backward-compatibility
upload_wdg = SimpleUploadWdg(key=key, show_upload=False)
upload_wdg.add_style('display: none')
msg.add(upload_wdg)
#widget.add(span)
msg.add("<br/><br/>-- OR --</br/><br/>")
msg.add("<b>Published URL: </b>")
text = TextWdg("web_url")
msg.add(text)
msg.add("<br/><br/>-- OR --</br/><br/>")
msg.add("<b>Copy and Paste from a Spreadsheet: </b>")
text = TextAreaWdg("data")
text.add_style('width: 33em')
text.add_class("spt_import_cut_paste")
msg.add(text)
button = ActionButtonWdg(title="Parse")
button.add_style("margin: 5px auto")
msg.add(button)
button.add_behavior( {
'type': 'click_up',
'cbjs_action': '''
var top = bvr.src_el.getParent(".spt_import_top");
var el = top.getElement(".spt_import_cut_paste");
var applet = spt.Applet.get();
var value = el.value;
var csv = [];
// convert to a csv file!
lines = value.split("\\n");
for (var i = 0; i < lines.length; i++) {
if (lines[i] == '') {
continue;
}
var parts = lines[i].split("\\t");
var new_line = [];
for (var j = 0; j < parts.length; j++) {
if (parts[j] == '') {
new_line.push('');
}
else {
new_line.push('"'+parts[j]+'"');
}
}
new_line = new_line.join(",");
csv.push(new_line);
}
csv = csv.join("\\n")
// FIXME: need to get a local temp directory
var path = spt.browser.os_is_Windows() ? "C:/sthpw/copy_n_paste.csv" : "/tmp/sthpw/copy_n_paste.csv";
applet.create_file(path, csv);
// upload the file
applet.upload_file(path)
applet.rmtree(path);
var top = bvr.src_el.getParent(".spt_import_csv");
var hidden = top.getElement(".spt_upload_hidden");
hidden.value = path;
var file_name = spt.path.get_basename(hidden.value);
file_name = spt.path.get_filesystem_name(file_name);
var class_name = 'tactic.ui.widget.CsvImportWdg';
var values = spt.api.Utility.get_input_values('csv_import_main');
values['is_refresh'] = true;
values['file_name'] = file_name;
var info = spt.panel.load('csv_import_main', class_name, {}, values);
'''
} )
return widget
示例4: get_display
# 需要导入模块: from pyasm.widget import TextWdg [as 别名]
# 或者: from pyasm.widget.TextWdg import add_class [as 别名]
def get_display(my):
top = my.top
my.set_as_panel(top)
top.add_behavior( {
'type': 'load',
'cbjs_action': '''
spt.named_events.fire_event("side_bar|hide")
'''
} )
top.add_style("width: 100%")
top.add_color("background", "background", -10)
top.add_style("padding-top: 10px")
top.add_style("padding-bottom: 50px")
top.add_class("spt_project_top")
inner = DivWdg()
top.add(inner)
inner.add_style("width: 700px")
inner.add_style("float: center")
inner.add_border()
inner.center()
inner.add_style("padding: 30px")
inner.add_color("background", "background")
from tactic.ui.container import WizardWdg
title = DivWdg()
title.add("Create A New Project")
wizard = WizardWdg(title=title, width="100%")
inner.add(wizard)
help_button = ActionButtonWdg(title="?", tip="Create Project Help", size='s')
title.add(help_button)
help_button.add_style("float: right")
help_button.add_style("margin-top: -20px")
help_button.add_style("margin-right: -10px")
help_button.add_behavior({
'type': 'click_up',
'cbjs_action': '''
spt.help.set_top();
spt.help.load_alias("create-new-project");
'''
})
info_page = DivWdg()
wizard.add(info_page, 'Info')
info_page.add_class("spt_project_top")
info_page.add_style("font-size: 12px")
info_page.add_color("background", "background")
info_page.add_color("color", "color")
info_page.add_style("padding: 20px")
from tactic.ui.input import TextInputWdg
info_page.add("<b>Project Title:</b> ")
text = TextWdg("project_title")
text.add_behavior( {
'type': 'blur',
'cbjs_action': '''
if (bvr.src_el.value == '') {
spt.alert("You must enter a project title");
return;
}
'''})
#text = TextInputWdg(title="project_title")
info_page.add(text)
text.add_style("width: 250px")
info_page.add(HtmlElement.br(3))
span = DivWdg()
info_page.add(span)
span.add_style("padding: 20px 20px 20px 20px")
span.add(IconWdg("INFO", IconWdg.CREATE))
span.add_color("background", "background3")
span.add("The project title can be descriptive and contain spaces and special characters.")
info_page.add("<br/><br/><hr/><br/><br/>")
text.add_behavior( {
'type': 'change',
'cbjs_action': '''
var title = bvr.src_el.value;
if (title.length > 100) {
spt.alert("Title cannot exceed 100 characters.");
return;
}
var code = spt.convert_to_alpha_numeric(title);
code = code.substring(0,30);
var top = bvr.src_el.getParent(".spt_project_top");
var code_el = top.getElement(".spt_project_code");
code_el.value = code;
'''
#.........这里部分代码省略.........
示例5: get_display
# 需要导入模块: from pyasm.widget import TextWdg [as 别名]
# 或者: from pyasm.widget.TextWdg import add_class [as 别名]
def get_display(my):
top = DivWdg()
top.add_class("spt_top")
dialog = DialogWdg()
dialog_id = dialog.get_id()
# create the button
button = DivWdg()
button.add_style("padding: 5px")
button.add_style("width: 30px")
button.add_style("text-align: center")
button.add_style("float: left")
button.add_gradient("background", "background")
button.add_border()
top.add(button)
icon = IconWdg("Press Me", IconWdg.ZOOM)
icon.add_style("float: left")
button.add(icon)
icon = IconWdg("Press Me", IconWdg.INFO_OPEN_SMALL)
icon.add_style("margin-left: -9px")
button.add(icon)
button.add_behavior( {
'type': 'click_up',
'dialog_id': dialog_id,
'cbjs_action': '''
var pos = bvr.src_el.getPosition();
var el = $(bvr.dialog_id);
el.setStyle("left", pos.x+1);
el.setStyle("top", pos.y+32);
el.setStyle("display", "");
'''
} )
# defined the dialog
top.add(dialog)
dialog.add_title("Search Limit")
table = Table()
table.add_color("color", "color2")
dialog.add(table)
table.add_row()
td = table.add_cell()
td.add("Search Limit: ")
td = table.add_cell()
select = SelectWdg("search_limit")
select.set_option("values", "5|10|20|50|100|200|Custom")
td.add(select)
save_button = ProdIconButtonWdg("Save")
td.add(save_button)
cancel_script = dialog.get_cancel_script();
save_button.add_behavior( {
'type': 'click_up',
'cbjs_action': '''
var dialog_top = bvr.src_el.getParent(".spt_dialog_top");
var values = spt.api.get_input_values(dialog_top);
var top = spt.get_parent(bvr.src_el, ".spt_top");
var input = top.getElement(".spt_search_limit");
input.value = values.search_limit;
%s
''' % cancel_script
} )
text = TextWdg("search_limit")
text.add_class("spt_search_limit")
top.add(text)
return top
示例6: get_set_limit_wdg
# 需要导入模块: from pyasm.widget import TextWdg [as 别名]
# 或者: from pyasm.widget.TextWdg import add_class [as 别名]
def get_set_limit_wdg(my):
limit_content = DivWdg()
limit_content.add_style("font-size: 10px")
#limit_content.add_style("padding", "5px")
#limit_content.add_border()
limit_content.add("Show ")
limit_select = SelectWdg("limit_select")
limit_select.add_class("spt_search_limit_select")
limit_select.set_option("values", "10|20|50|100|200|Custom")
limit_select.add_style("font-size: 10px")
limit_content.add(limit_select)
limit_content.add(" items per page<br/>")
if my.search_limit in [10,20,50,100,200]:
limit_select.set_value(my.search_limit)
is_custom = False
else:
limit_select.set_value("Custom")
is_custom = True
limit_select.add_behavior( {
'type': 'click_up',
'cbjs_action': '''
var top = bvr.src_el.getParent(".spt_search_limit_top");
var value = bvr.src_el.value;
var custom = top.getElement(".spt_search_limit_custom");
if (value == 'Custom') {
custom.setStyle("display", "");
}
else {
custom.setStyle("display", "none");
}
'''
} )
custom_limit = DivWdg()
limit_content.add(custom_limit)
custom_limit.add_class("spt_search_limit_custom")
custom_limit.add("<br/>Custom: ")
text = TextWdg("custom_limit")
text.add_class("spt_search_limit_custom_text")
text.add_style("width: 50px")
if not is_custom:
custom_limit.add_style("display: none")
else:
text.set_value(my.search_limit)
custom_limit.add(text)
text.add(" items")
behavior = {
'type': 'keydown',
'cbjs_action': '''
if (evt.key=='enter') {
// register this as changed item
var value = bvr.src_el.value;
if (isNaN(value) || value.test(/[\.-]/)) {
spt.error('You have to use an integer.');
}
}
'''}
text.add_behavior(behavior)
return limit_content
示例7: handle_item_div
# 需要导入模块: from pyasm.widget import TextWdg [as 别名]
# 或者: from pyasm.widget.TextWdg import add_class [as 别名]
def handle_item_div(my, item_div, dirname, basename):
table = Table()
item_div.add(table)
table.add_row()
table.add_style("width: 100%")
icon_string = my.get_file_icon(dirname, basename)
icon_div = DivWdg()
td = table.add_cell(icon_div)
td.add_style("width: 15px")
icon = IconWdg("%s/%s" % (dirname, basename), icon_string)
icon_div.add(icon)
icon_div.add_style("float: left")
icon_div.add_style("margin-top: -1px")
path = "%s/%s" % (dirname, basename)
status = my.path_info.get(path)
margin_left = -16
if status == 'same':
check = IconWdg( "No Changes", IconWdg.CHECK, width=12 )
elif status == 'added':
check = IconWdg( "Added", IconWdg.NEW, width=16 )
margin_left = -18
elif status == 'unversioned':
check = IconWdg( "Unversioned", IconWdg.HELP, width=12 )
elif status == 'missing':
check = IconWdg( "Missing", IconWdg.WARNING, width=12 )
elif status == 'editable':
check = IconWdg( "Editable", IconWdg.EDIT, width=12 )
elif status == 'modified':
check = IconWdg( "Modified", IconWdg.WARNING, width=12 )
else:
check = IconWdg( "Error (unknown status)", IconWdg.ERROR, width=12 )
if check:
td = table.add_cell(check)
td.add_style("width: 3px")
check.add_style("float: left")
check.add_style("margin-left: %spx" % margin_left)
check.add_style("margin-top: 4px")
item_div.add_color("color", "color", [0, 0, 50])
if status == 'missing':
item_div.add_style("opacity: 0.3")
else:
item_div.add_style("opacity: 0.8")
name_div = DivWdg()
td = table.add_cell(name_div)
name_div.add(basename)
name_div.add_style("float: left")
if status != "same":
name_div.add(" <i style='opacity: 0.5; font-size: 10px'>(%s)</i>" % status)
spath = path.replace(" ", "_")
# add the size of the file
size_div = DivWdg()
td = table.add_cell(size_div)
td.add_style("width: 60px")
size = my.sizes.get(spath)
if size is None or size == -1:
size_div.add("-")
else:
size_div.add(FormatValue().get_format_value(size, 'KB'))
size_div.add_style("margin-right: 5px")
size_div.add_style('text-align: right')
# FIXME: this still is needed right now, although really used.
my.subcontext_options = []
if not my.subcontext_options:
subcontext = TextWdg("subcontext")
subcontext = HiddenWdg("subcontext")
subcontext.add_class("spt_subcontext")
subcontext.add_style("float: right")
else:
subcontext = SelectWdg("subcontext")
subcontext = HiddenWdg("subcontext")
subcontext.set_option("show_missing", False)
subcontext.set_option("values", my.subcontext_options)
subcontext.add_empty_option("----")
#.........这里部分代码省略.........
示例8: get_display
# 需要导入模块: from pyasm.widget import TextWdg [as 别名]
# 或者: from pyasm.widget.TextWdg import add_class [as 别名]
def get_display(my):
web = WebContainer.get_web()
top = my.top
top.add_class("spt_ace_editor_top")
script = my.kwargs.get("custom_script")
if script:
language = script.get_value("language")
else:
language = my.kwargs.get("language")
if not language:
language = 'javascript'
code = my.kwargs.get("code")
if not code:
code = ""
show_options = my.kwargs.get("show_options")
if show_options in ['false', False]:
show_options = False
else:
show_options = True
options_div = DivWdg()
top.add(options_div)
if not show_options:
options_div.add_style("display: none")
options_div.add_color("background", "background3")
options_div.add_border()
options_div.add_style("text-align: center")
options_div.add_style("padding: 2px")
select = SelectWdg("language")
select.add_style("width: 100px")
select.add_style("display: inline")
options_div.add(select)
select.add_class("spt_language")
select.set_option("values", "javascript|python|expression|xml")
select.add_behavior( {
'type': 'change',
'editor_id': my.get_editor_id(),
'cbjs_action': '''
spt.ace_editor.set_editor(bvr.editor_id);
var value = bvr.src_el.value;
spt.ace_editor.set_language(value);
//register_change(bvr);
'''
} )
select = SelectWdg("font_size")
select.add_style("width: 100px")
select.add_style("display: inline")
options_div.add(select)
select.set_option("labels", "8 pt|9 pt|10 pt|11 pt|12 pt|14 pt|16 pt")
select.set_option("values", "8 pt|9pt|10pt|11pt|12pt|14pt|16pt")
select.set_value("10pt")
select.add_behavior( {
'type': 'click_up',
'editor_id': my.get_editor_id(),
'cbjs_action': '''
spt.ace_editor.set_editor(bvr.editor_id);
var editor = spt.ace_editor.editor;
var editor_id = spt.ace_editor.editor_id;
var value = bvr.src_el.value;
$(editor_id).setStyle("font-size", value)
//editor.resize();
'''
} )
select = SelectWdg("keybinding")
select.add_style("width: 100px")
#options_div.add(select)
select.set_option("labels", "Ace|Vim|Emacs")
select.set_option("values", "ace|vim|emacs")
select.set_value("10pt")
select.add_behavior( {
'type': 'change',
'editor_id': my.get_editor_id(),
'cbjs_action': '''
spt.ace_editor.set_editor(bvr.editor_id);
var editor = spt.ace_editor.editor;
var editor_id = spt.ace_editor.editor_id;
var vim = require("ace/keyboard/keybinding/vim").Vim;
editor.setKeyboardHandler(vim)
'''
} )
editor_div = DivWdg()
top.add(editor_div)
#.........这里部分代码省略.........
示例9: get_page_three
# 需要导入模块: from pyasm.widget import TextWdg [as 别名]
# 或者: from pyasm.widget.TextWdg import add_class [as 别名]
def get_page_three(my):
# draw a Movement insert page, followed by Add Tape and Add Physel at the bottom
div = DivWdg()
div.add_class('twog_order_top')
edit_wdg = EditWdg(element_name='general', mode='insert', search_type='twog/movement',\
title='Add Movement',view='insert', widget_key='edit_layout', cbjs_insert_path='movement/add_item')
movement_div = edit_wdg
div.add(movement_div)
div.add(HtmlElement.br(2))
add_div = DivWdg()
add_div.add_class('move_add')
div.add(add_div)
table = Table()
table.add_style('width','100%')
add_div.add(table)
table.add_row()
select = MovementSelectWdg(name='movement_select')
table.add_row_cell(select)
table.add_row()
td = table.add_cell('Add Tape(s)')
td.add_style('width','300px')
td = table.add_cell('Add Physel(s)')
td.add_style('width','300px')
table.add_row()
text = TextWdg('add_tape')
text.add_class('move_add_tape')
text.add_style('float: left')
td = table.add_cell(text)
button = ActionButtonWdg(tip='add', title='+')
bvr = {'type':'click_up',
'cbjs_action': '''var parent = spt.api.get_parent(bvr.src_el, '.move_add');
var text = spt.api.get_element(parent, '.move_add_tape');
var movement_sel = spt.api.get_element(parent, '.twog_move_select');
var server = TacticServerStub.get();
try {
if (!text.value) {
spt.alert('Tape code is empty.');
return;
}
else {
var tape_sk = server.build_search_key('twog/tape', text.value);
try {
var tape = server.get_by_search_key(tape_sk);
}
catch(e) {
// this above should raise an error already if it doesn't exist
spt.error('This tape does not exist in the system.');
return;
}
}
if (!movement_sel.value) {
spt.alert('You need to select a Movement.');
return;
}
server.insert('twog/asset_to_movement', {'tape_code':text.value,
'movement_code':movement_sel.value});
} catch(e) {
spt.alert(spt.exception.handler(e));
}'''}
button.add_behavior(bvr)
td.add(button)
text = TextWdg('add_physel')
text.add_style('float: left')
td = table.add_cell(text)
button = ActionButtonWdg(tip='add', title='+')
button.add_behavior(bvr)
td.add(button)
div.add(HtmlElement.br(2))
# finally add the asset_to_movement table layout
association_div = DivWdg(HtmlElement.b('Assets in Movement'))
div.add(association_div)
div.add(HtmlElement.br())
layout = FastTableLayoutWdg(search_type='twog/asset_to_movement', view='table')
div.add(layout)
return div
示例10: get_display
# 需要导入模块: from pyasm.widget import TextWdg [as 别名]
# 或者: from pyasm.widget.TextWdg import add_class [as 别名]
def get_display(my):
widget = DivWdg(id='new_item_panel')
widget.add_class("new_item_panel")
widget.add_class("spt_new_item_top")
div = DivWdg()
div.add_color("background", "background")
div.add_color("color", "color")
div.add_style("padding", "5px")
div.add_border()
if my.is_personal:
is_personal = 'true'
else:
is_personal = 'false'
if my.type == 'new_folder':
#div.set_attr('spt_view', 'new_folder')
div.add(HtmlElement.b('Create New Folder'))
div.add(HtmlElement.br(2))
"""
# add exisiting views in the div for checking with client's input
# add exiting views:
from panel_wdg import ViewPanelSaveWdg
views = ViewPanelSaveWdg.get_existing_views(my.is_personal)
hidden = HiddenWdg('existing_views', '|'.join(views))
div.add(hidden)
"""
text2 = TextWdg("new_title")
text2.add_class("spt_new_item_title")
span = SpanWdg("Title: ")
span.set_id('create_new_title')
#span.add_style('display: none')
span.add_style('padding-left: 8px')
span.add(text2)
div.add(span)
div.add(HtmlElement.br(2))
div.add_style("width: 350px")
action = '''
var top = bvr.src_el.getParent(".spt_new_item_top");
var name_el = top.getElement(".spt_new_item_name");
var title = bvr.src_el.value;
var name = title.replace(/[\[email protected]#$%^&*()'"]/g, "");
name = name.replace(/ /g, "_");
name = name.toLowerCase();
name_el.value = name;
'''
# change the name based on the title
text2.add_behavior( {
'type': 'change',
'cbjs_action': action
} )
div.add("The name of the folder is a hidden name that is used by other elements to refer to uniquely to this item.<br/><br/>")
text = TextWdg('new_name')
text.add_class("spt_new_item_name")
span = SpanWdg('Name: ')
span.add(text)
div.add(span)
div.add(HtmlElement.br(2))
#script = "spt.side_bar.manage_section_action_cbk({'value':'predefined'},'project_view');"
#link = HtmlElement.js_href(script, data='[ Predefined View ]')
#div3 = DivWdg('Optional: drag existing elements from Project Views or %s into this new folder' %link.get_buffer_display())
#div.add(div3)
#item_div = DivWdg(css='spt_new_item spt_side_bar_content')
#div.add(item_div)
div.add("<hr/>")
#save_div = SpanWdg(css='med hand')
#div.add(save_div)
#save_div.add(IconWdg('Save Folder', IconWdg.SAVE))
save_button = ActionButtonWdg(title='Create', tip='Create a new folder')
div.add(save_button)
bvr = {
"type": "click_up",
"view": my.view,
"is_personal": is_personal == 'true',
'cbjs_action': '''
var top = bvr.src_el.getParent(".spt_new_item_top");
var name_el = top.getElement(".spt_new_item_name");
var name_value = name_el.value;
if (name_value == "") {
var title_el = top.getElement(".spt_new_item_title");
var title = title_el.value;
var name = spt.convert_to_alpha_numeric(title);
name_el.value = name;
}
if (name_value == "") {
spt.alert("Please fill in a value for name.");
#.........这里部分代码省略.........
示例11: handle_widget_mode
# 需要导入模块: from pyasm.widget import TextWdg [as 别名]
# 或者: from pyasm.widget.TextWdg import add_class [as 别名]
def handle_widget_mode(my, custom_table, mode):
tbody = custom_table.add_tbody()
tbody.add_class("spt_custom_widget")
if mode != 'widget':
tbody.add_style('display: none')
# add the name
name_text = TextWdg("custom_name")
name_text.add_class("spt_input")
custom_table.add_row()
custom_table.add_cell("Name: ")
custom_table.add_cell(name_text)
# add title
custom_table.add_row()
title_wdg = TextWdg("custom_title")
title_wdg.add_attr("size", "50")
custom_table.add_cell( "Title: " )
custom_table.add_cell( title_wdg )
# add description
custom_table.add_row()
description_wdg = TextAreaWdg("custom_description")
custom_table.add_cell( "Description: " )
custom_table.add_cell( description_wdg )
# add widget class
custom_table.add_row()
class_wdg = TextWdg("custom_class")
class_wdg.add_attr("size", "50")
custom_table.add_cell( "Widget Class: " )
custom_table.add_cell( class_wdg )
# add options
custom_table.add_row()
td = custom_table.add_cell()
td.add("Options")
td = custom_table.add_cell()
div = DivWdg()
div.set_id("another_list_options")
div.add_style("display: block")
div.add_style("margin-top: 10px")
# TODO: this class should not be in prod!!
from pyasm.prod.web import SearchTypeSelectWdg
div.add("Name: ")
option_name_text = TextWdg("option_name")
div.add(option_name_text)
div.add(" ")
div.add("Value: ")
option_value_text = TextWdg("option_value")
div.add(option_value_text)
td.add(div)
td.add(div)
td.add(div)
custom_table.close_tbody()
示例12: get_scale_wdg
# 需要导入模块: from pyasm.widget import TextWdg [as 别名]
# 或者: from pyasm.widget.TextWdg import add_class [as 别名]
def get_scale_wdg(my):
if my.scale_called == True:
return None
my.scale_called = True
show_scale = my.kwargs.get("show_scale")
div = DivWdg()
if show_scale in [False, 'false']:
div.add_style("display: none")
div.add_style("padding: 5px")
div.add_class("spt_table_search")
hidden = HiddenWdg("prefix", "tile_layout")
div.add(hidden)
div.add_behavior( {
'type': 'load',
'scale_prefix': my.scale_prefix,
'default_scale': my.scale,
'aspect_ratio': my.aspect_ratio,
'cbjs_action': '''
spt.tile_layout = {}
spt.tile_layout.layout = null;
spt.tile_layout.set_layout = function(layout) {
if (!layout.hasClass("spt_layout")) {
layout = layout.getParent(".spt_layout");
}
spt.tile_layout.layout = layout;
return layout;
}
spt.tile_layout.get_scale = function() {
var scale_value = spt.tile_layout.layout.getElement(".spt_scale_value");
var value = scale_value.value;
value = parseInt(value);
return value;
}
spt.tile_layout.set_scale = function(scale) {
var scale_value = spt.tile_layout.layout.getElement(".spt_scale_value");
scale_value.value = scale;
var size_x = bvr.aspect_ratio[0]*scale/100;
var size_y = bvr.aspect_ratio[1]*scale/100;
//var top = bvr.src_el.getParent(".spt_tile_layout_top");
var top = spt.tile_layout.layout;
var els = top.getElements(".spt_tile_content");
for (var i = 0; i < els.length; i++) {
var el = els[i];
el.setStyle( "width", size_x);
el.setStyle( "height", size_y);
}
var container_id = "tile_layout::scale"+bvr.scale_prefix;
spt.container.set_value( container_id, scale);
}
spt.tile_layout.drag_start_x = null;
spt.tile_layout.drag_start_value = null;
spt.tile_layout.drag_setup = function(evt, bvr, mouse_411) {
spt.tile_layout.set_layout(bvr.src_el);
spt.tile_layout.drag_start_x = mouse_411.curr_x;
var src_el = spt.behavior.get_bvr_src( bvr );
if (!src_el.value) {
src_el.value = 0;
}
spt.tile_layout.drag_start_value = src_el.value;
src_el.focus();
src_el.select();
}
spt.tile_layout.drag_motion = function(evt, bvr, mouse_411) {
var start_value = spt.tile_layout.drag_start_value;
if (isNaN(parseInt(start_value))) {
return;
}
var dx = mouse_411.curr_x - spt.tile_layout.drag_start_x;
var increment = parseInt(dx / 5);
var multiplier;
if (increment < 0)
multiplier = 0.975;
else
multiplier = 1 / 0.975;
increment = Math.abs(increment);
var scale = spt.tile_layout.drag_start_value;
for (var i = 0; i < increment; i++) {
scale = scale * multiplier;
}
if (scale > 400)
scale = 400;
scale = parseInt(scale);
spt.tile_layout.set_scale(scale);
}
spt.tile_layout.setup_control = function() {
#.........这里部分代码省略.........
示例13: get_scale_wdg
# 需要导入模块: from pyasm.widget import TextWdg [as 别名]
# 或者: from pyasm.widget.TextWdg import add_class [as 别名]
def get_scale_wdg(my):
show_scale = my.kwargs.get("show_scale")
div = DivWdg()
if show_scale in [False, 'false']:
div.add_style("display: none")
div.add_style("padding: 5px")
div.add_class("spt_table_search")
hidden = HiddenWdg("prefix", "tile_layout")
div.add(hidden)
div.add_behavior( {
'type': 'load',
'cbjs_action': '''
spt.tile_layout = {}
spt.tile_layout.layout = null;
spt.tile_layout.set_layout = function(layout) {
if (!layout.hasClass("spt_layout")) {
layout = layout.getParent(".spt_layout");
}
spt.tile_layout.layout = layout;
return layout;
}
spt.tile_layout.get_scale = function() {
var scale_value = spt.tile_layout.layout.getElement(".spt_scale_value");
var value = scale_value.value;
value = parseInt(value);
return value;
}
spt.tile_layout.set_scale = function(scale) {
var scale_value = spt.tile_layout.layout.getElement(".spt_scale_value");
scale_value.value = scale;
var size_x = 240*scale/100;
var size_y = 160*scale/100;
//var top = bvr.src_el.getParent(".spt_tile_layout_top");
var top = spt.tile_layout.layout;
var els = top.getElements(".spt_tile_content");
for (var i = 0; i < els.length; i++) {
var el = els[i];
el.setStyle( "width", size_x);
el.setStyle( "height", size_y);
}
spt.container.set_value("tile_layout::scale", scale);
}
spt.tile_layout.drag_start_x = null;
spt.tile_layout.drag_start_value = null;
spt.tile_layout.drag_setup = function(evt, bvr, mouse_411) {
spt.tile_layout.set_layout(bvr.src_el);
spt.tile_layout.drag_start_x = mouse_411.curr_x;
var src_el = spt.behavior.get_bvr_src( bvr );
if (!src_el.value) {
src_el.value = 0;
}
spt.tile_layout.drag_start_value = src_el.value;
src_el.focus();
src_el.select();
}
spt.tile_layout.drag_motion = function(evt, bvr, mouse_411) {
var start_value = spt.tile_layout.drag_start_value;
if (isNaN(parseInt(start_value))) {
return;
}
var dx = mouse_411.curr_x - spt.tile_layout.drag_start_x;
var increment = parseInt(dx / 5);
var multiplier;
if (increment < 0)
multiplier = 0.975;
else
multiplier = 1 / 0.975;
increment = Math.abs(increment);
var scale = spt.tile_layout.drag_start_value;
for (var i = 0; i < increment; i++) {
scale = scale * multiplier;
}
scale = parseInt(scale);
spt.tile_layout.set_scale(scale);
}
''' } )
div.add_behavior( {
'type': 'load',
'cbjs_action': '''
#.........这里部分代码省略.........
示例14: get_display
# 需要导入模块: from pyasm.widget import TextWdg [as 别名]
# 或者: from pyasm.widget.TextWdg import add_class [as 别名]
def get_display(my):
search_type_obj = SearchType.get(my.search_type)
sobj_title = search_type_obj.get_title()
my.color_mode = my.kwargs.get("color_mode")
if not my.color_mode:
my.color_mode = "default"
top_div = my.top
top_div.add_class("spt_edit_top")
if not my.is_refresh:
my.set_as_panel(top_div)
content_div = DivWdg()
content_div.add_class("spt_edit_top")
content_div.add_class("spt_edit_form_top")
content_div.set_attr("spt_search_key", my.search_key)
if not Container.get_dict("JSLibraries", "spt_edit"):
content_div.add_behavior( {
'type': 'load',
'cbjs_action': my.get_onload_js()
} )
layout_view = my.kwargs.get("layout_view")
if layout_view:
layout_wdg = my.get_custom_layout_wdg(layout_view)
content_div.add(layout_wdg)
return content_div
# add close listener
# NOTE: this is an absolute search, but is here for backwards
# compatibility
content_div.add_named_listener('close_EditWdg', '''
var popup = bvr.src_el.getParent( ".spt_popup" );
if (popup)
spt.popup.close(popup);
''')
attrs = my.config.get_view_attributes()
default_access = attrs.get("access")
if not default_access:
default_access = "edit"
project_code = Project.get_project_code()
security = Environment.get_security()
base_key = search_type_obj.get_base_key()
key = {
'search_type': base_key,
'project': project_code
}
access = security.check_access("sobject", key, "edit", default=default_access)
if not access:
my.is_disabled = True
else:
my.is_disabled = False
disable_wdg = None
if my.is_disabled:
# TODO: This overlay doesn't work in IE, size, position,
# and transparency all fail.
disable_wdg = DivWdg(id='edit_wdg')
disable_wdg.add_style("position: absolute")
disable_wdg.add_style("height: 90%")
disable_wdg.add_style("width: 100%")
disable_wdg.add_style("left: 0px")
#disable_wdg.add_style("bottom: 0px")
#disable_wdg.add_style("top: 0px")
disable_wdg.add_style("opacity: 0.2")
disable_wdg.add_style("background: #fff")
#disable_wdg.add_style("-moz-opacity: 0.2")
disable_wdg.add_style("filter: Alpha(opacity=20)")
disable_wdg.add("<center>EDIT DISABLED</center>")
content_div.add(disable_wdg)
attrs = my.config.get_view_attributes()
#inner doesn't get styled.
inner = DivWdg()
content_div.add(inner)
menu = my.get_header_context_menu()
menus = [menu.get_data()]
menus_in = {
'HEADER_CTX': menus,
}
SmartMenu.attach_smart_context_menu( inner, menus_in, False )
#insert the header before body into inner
#.........这里部分代码省略.........
示例15: get_display
# 需要导入模块: from pyasm.widget import TextWdg [as 别名]
# 或者: from pyasm.widget.TextWdg import add_class [as 别名]
def get_display(self):
top = DivWdg()
top.add_color("background", "background")
top.add_color("color", "color")
top.add_style("min-width: 600px")
os_name = os.name
top.set_unique_id()
top.add_smart_style("spt_info_title", "background", self.top.get_color("background3"))
top.add_smart_style("spt_info_title", "padding", "3px")
top.add_smart_style("spt_info_title", "font-weight", "bold")
# server
title_div = DivWdg()
top.add(title_div)
title_div.add("Server")
title_div.add_class("spt_info_title")
os_div = DivWdg()
top.add(os_div)
os_info = platform.uname()
try:
os_login = os.getlogin()
except Exception:
os_login = os.environ.get("LOGNAME")
table = Table()
table.add_color("color", "color")
table.add_style("margin: 10px")
os_div.add(table)
for i, title in enumerate(['OS','Node Name','Release','Version','Machine']):
table.add_row()
td = table.add_cell("%s: " % title)
td.add_style("width: 150px")
table.add_cell( os_info[i] )
table.add_row()
table.add_cell("CPU Count: ")
try :
import multiprocessing
table.add_cell( multiprocessing.cpu_count() )
except (ImportError, NotImplementedError):
table.add_cell( "n/a" )
table.add_row()
table.add_cell("Login: ")
table.add_cell( os_login )
# python
title_div = DivWdg()
top.add(title_div)
title_div.add("Python")
title_div.add_class("spt_info_title")
table = Table()
table.add_color("color", "color")
table.add_style("margin: 10px")
top.add(table)
table.add_row()
td = table.add_cell("Version: ")
td.add_style("width: 150px")
table.add_cell( sys.version )
# client
title_div = DivWdg()
top.add(title_div)
title_div.add("Client")
title_div.add_class("spt_info_title")
web = WebContainer.get_web()
user_agent = web.get_env("HTTP_USER_AGENT")
table = Table()
table.add_color("color", "color")
table.add_style("margin: 10px")
top.add(table)
table.add_row()
td = table.add_cell("User Agent: ")
td.add_style("width: 150px")
table.add_cell( user_agent )
table.add_row()
td = table.add_cell("TACTIC User: ")
table.add_cell( web.get_user_name() )
top.add('<br/>')
self.handle_load_balancing(top)
#.........这里部分代码省略.........