/** * Draw the controls for the form. * @param FORM_RENDERER $renderer * @access private */ protected function _draw_controls($renderer) { $renderer->default_control_height = '75px'; $renderer->start(); $props = $renderer->make_list_properties(); $props->add_item('bool1', 1); $props->add_item('bool2', 1); $props->items_per_row = 4; $renderer->draw_check_boxes_row('Options', $props); $renderer->start_row('Text', 'text-line'); $text_props = new FORM_TEXT_CONTROL_OPTIONS(); $text_props->css_class = 'small'; echo $renderer->date_as_html('date'); echo ' '; echo $renderer->text_line_as_html('name', $text_props); $renderer->finish_row(); $renderer->draw_text_box_row('description'); $renderer->start_block(''); $props = $renderer->make_list_properties(); $props->show_descriptions = true; $props->css_class = 'small'; $props->add_item('Option One', 0, 'Description for option one.'); $props->add_item('Option Two', 1, 'Description for option two.'); $renderer->draw_radio_group_row('select', $props); $field = $this->field_at('select'); $renderer->start_row('Menus', 'text-line'); echo $renderer->drop_down_as_html('select', $props); echo ' '; $field->required = true; echo $renderer->drop_down_as_html('select', $props); $renderer->finish_row(); $renderer->start_row('Lists'); $field->required = false; echo $renderer->list_box_as_html('select', $props); echo ' '; $field->required = true; echo $renderer->list_box_as_html('select', $props); $renderer->finish_row(); $renderer->finish_block(); $renderer->draw_submit_button_row(); $renderer->finish(); }
/** * @param FORM_RENDERER $renderer * @access private */ protected function _draw_attachment_selector($renderer) { $attachments = $this->_attachments(); if (sizeof($attachments)) { $props = $renderer->make_list_properties(); $props->css_class = 'small'; foreach ($attachments as $att) { $props->add_item($att->title_as_plain_text(), $att->file_name); } $attachment_control = $renderer->drop_down_as_html('attachments', $props); $props = $renderer->make_list_properties(); $props->add_item('None', 'none'); $props->add_item('Left', 'left'); $props->add_item('Left (alone)', 'left-column'); $props->add_item('Center', 'center'); $props->add_item('Right', 'right'); $props->add_item('Right (alone)', 'right-column'); $props->css_class = 'small'; $alignments = $renderer->drop_down_as_html('alignments', $props); $props = $renderer->make_list_properties(); $props->add_item('Thumbnail', 'thumbnail'); $props->add_item('25%', '25'); $props->add_item('50%', '50'); $props->add_item('75%', '75'); $props->add_item('Full-size', '100'); $props->css_class = 'small'; $sizes = $renderer->drop_down_as_html('sizes', $props); $props = $renderer->make_list_properties(); $props->add_item('No text', 'none'); $props->add_item('Caption', 'caption'); $props->add_item('Tooltip', 'tooltip'); $props->add_item('Both', 'both'); $props->css_class = 'small'; $caption_modes = $renderer->drop_down_as_html('caption_modes', $props); $renderer->start_row('Attachments'); echo $attachment_control; echo $alignments; echo $sizes; echo $caption_modes; echo $renderer->javascript_button_as_html('Add', 'on_insert_attachment ()'); $renderer->finish_row(); } }
/** * @param FORM $form * @param FORM_RENDERER $renderer * @access private */ protected function _draw_folder_selector($form, $renderer) { $props = $renderer->make_list_properties(); $props->add_item('Context or none', Search_user_context_none); $props->add_item('Selected folder(s)', Search_user_constant); $props->add_item('NOT selected folder(s)', Search_user_not_constant); /** @var $id_values int[] */ $id_values = $form->value_for('folder_ids'); $selected_folder_ids = array(); if (sizeof($id_values)) { foreach ($id_values as $id) { if ($id) { $selected_folder_ids[$id] = $id; } } } $visible = $form->value_for('folder_search_type') != Search_user_context_none || sizeof($selected_folder_ids) > 0; $layer = $renderer->start_layer_row('folders', 'Folder(s)', 'Toggle folder options.', $visible); $renderer->start_row(' '); echo $renderer->drop_down_as_html('folder_search_type', $props); echo ' '; $renderer->finish_row(); $renderer->start_row(' '); $folder_query = $this->login->folder_query(); $folder_query->clear_results(); $folders = $folder_query->root_tree($this->app->root_folder_id); $selected_folders = $folder_query->objects_at_ids($selected_folder_ids); /* Make a copy (not a reference). */ $tree = $this->app->make_tree_renderer(); include_once 'webcore/gui/folder_tree_node_info.php'; $tree_node_info = new FOLDER_TREE_NODE_INFO($this->app); include_once 'webcore/gui/selector_tree_decorator.php'; $decorator = new MULTI_SELECTOR_TREE_DECORATOR($tree, $selected_folder_ids); $decorator->control_name = 'folder_ids'; $decorator->form_name = $form->name; $decorator->auto_toggle_children = true; $tree->node_info = $tree_node_info; $tree->decorator = $decorator; $tree->set_visible_nodes($selected_folders); $tree->display($folders); $renderer->finish_row(); $renderer->finish_layer_row($layer); }