function update_item_controls($window) { global $id_edit, $curr_cat; $table = "item"; $data = db_get_data($table, $id_edit, null, "", FETCH_ASSOC); $data = $data[0]; wb_set_text(wb_get_control($window, ID_NAME), $data["name"]); wb_set_text(wb_get_control($window, ID_DESCRIPTION), $data["description"]); // Select the appropriate values from the combo boxes wb_set_selected(wb_get_control($window, ID_CATLIST), (int) array_search($curr_cat === null ? $data["cat"] : $curr_cat, db_get_data("cat", null, "id"))); wb_set_selected(wb_get_control($window, ID_PRIORLIST), (int) array_search($data["priority"], db_get_data("priority", null, "id"))); wb_set_selected(wb_get_control($window, ID_SEVERLIST), (int) array_search($data["severity"], db_get_data("severity", null, "id"))); }
function process_classes($window, $id, $ctrl, $lparam1 = 0, $lparam2 = 0) { global $wb, $mainwin, $classes_table; switch ($id) { case IDCLOSE: $nclasses = count($wb->classes); for ($i = 0; $i < $nclasses; $i++) { $const = "IDC_" . strtoupper($wb->classes[$i][1]); $c = wb_get_control($wb->classdlg, constant($const)); } wb_destroy_window($window); wb_set_selected($wb->mainmenu, ID_TOOLBOX, false); $wb->classdlg = null; break; default: process_main($window, $id, $ctrl, $lparam1, $lparam2); break; } }
function read_project($filename) { global $wb; $wb->project = parse_ini(file_get_contents($filename), false); // Read form data (section "Form")) $wb->currentform = 0; $section = $wb->project["Form"]; $title = $section["caption"]; $style = (int) $section["style"]; $value = (int) $section["value"]; $class = $section["class"]; $geom = preg_split("/\\s+/", $section["geom"]); reset_form($class, $wb->mainwin, $title, max(1, (int) $geom[2]), max(1, (int) $geom[3]), $style, $value); $ncontrols = (int) $section["controls"]; // Loop to read control data from project file for ($i = 0; $i < $ncontrols; $i++) { // Read a section with the form data $section = $wb->project["Form_ctrl" . (string) ($i + 1)]; if (!$section) { break; } // Read control data $class = $section["class"]; $caption = $section["caption"]; $geom = preg_split("/\\s+/", $section["geom"]); $id = $section["id"]; $style = $section["style"]; $value = $section["value"]; create_control($class, $caption, max(1, (int) $geom[2]), max(1, (int) $geom[3]), max(0, (int) $geom[0]), max(0, (int) $geom[1]), $id, $style, $value, false); } wb_set_text($wb->statusbar, "Created {$i} controls"); $wb->form[$wb->currentform]->ncurrent_control = -1; foreach ($wb->project_array as $var) { $var = strtolower($var); $wb->form[$wb->currentform]->{$var} = $wb->project['Projectsettings'][$var]; if (!$wb->form[$wb->currentform]->{$var}) { $wb->form[$wb->currentform]->{$var} = constant('DEFAULT_' . strtoupper($var)); } } $wb->form[$wb->currentform]->ncurrindex = $wb->project['Projectsettings']['currentindex']; wb_set_selected($wb->tree, 0); update_control_data(true); }
function process_test_values($window, $id, $ctrl = 0, $lparam1 = 0, $lparam2 = 0) { global $statusbar; if ($lparam1 == WBC_GETFOCUS) { wb_set_text($statusbar, "Focus to control {$id}"); return false; } switch ($id) { case IDC_EDIT4069: case IDC_EDIT4071: if ($lparam1 == WBC_KEYDOWN) { wb_set_text($statusbar, "Char {$lparam2}: " . chr($lparam2)); } break; case IDC_EDIT4057: if ($lparam1 == WBC_KEYDOWN) { wb_set_text($statusbar, "Char {$lparam2}: " . chr($lparam2)); // wb_set_text(wb_get_control($window, IDC_STATIC4048), $lparam2 . "\n" . chr($lparam2)); break; } $text = wb_get_text(wb_get_control($window, IDC_EDIT4057)); wb_set_text(wb_get_control($window, IDC_EDIT4058), $text); wb_set_text(wb_get_control($window, IDC_EDIT4059), $text); wb_set_text(wb_get_control($window, IDC_EDIT4065), implode(" ", array_fill(0, 20, $text))); break; case IDC_LISTBOX4053: if ($lparam1 & WBC_DBLCLICK) { wb_set_text(wb_get_control($window, IDC_STATIC4048), "Double-click"); } else { wb_set_text(wb_get_control($window, IDC_STATIC4048), "Single click"); } break; case IDC_HSCROLL4056: case IDC_SLIDER4011: $value = wb_get_value(wb_get_control($window, $id)); wb_set_value(wb_get_control($window, IDC_PROGRESSBAR4007), $value); wb_set_text(wb_get_control($window, IDC_STATIC4019), $value); wb_set_value(wb_get_control($window, IDC_HSCROLL4026), $value); wb_set_value(wb_get_control($window, IDC_VSCROLL4051), $value); wb_set_value(wb_get_control($window, IDC_UPDOWN4028), $value); $value = wb_get_value(wb_get_control($window, $id)); wb_set_text(wb_get_control($window, IDC_STATIC4048), "Control #{$id}: value [{$value}]\n"); wb_set_value(wb_get_control($window, IDC_EDIT4052), $value); break; case IDC_RADIOBUTTON4014: case IDC_RADIOBUTTON4015: case IDC_RADIOBUTTON4016: $value = $id - IDC_RADIOBUTTON4014; wb_set_value(wb_get_control($window, IDC_LISTBOX4053), $value); wb_set_value(wb_get_control($window, IDC_COMBOBOX4054), $value); wb_set_value(wb_get_control($window, IDC_LISTBOX4055), $value); break; case IDC_CHECKBOX4034: wb_set_selected(wb_get_control($window, IDC_CHECKBOX4049), wb_get_selected($ctrl)); $value = wb_get_value(wb_get_control($window, $id)); wb_set_text(wb_get_control($window, IDC_STATIC4048), "Control #{$id}: value [{$value}]\n"); break; case IDC_UPDOWN4028: case IDC_CHECKBOX4049: $value = wb_get_value(wb_get_control($window, $id)); wb_set_text(wb_get_control($window, IDC_STATIC4048), "Control #{$id}: value [{$value}]\n"); break; } }
function reset_form($class, $parent, $title, $width, $height, $style = 0, $value = 0) { global $wb; $wb->currentform = 0; $wb->proj_filename = null; if (!isset($wb->form[$wb->currentform])) { $wb->form[$wb->currentform] = new stdclass(); } // Reset form data with fixed attributes $wb->form[$wb->currentform]->ct = array(); $wb->form[$wb->currentform]->numcontrols = 0; $wb->form[$wb->currentform]->ncurrindex = 0; $wb->form[$wb->currentform]->nselcontrol = -1; $wb->form[$wb->currentform]->treenode = 0; foreach ($wb->project_array as $var) { $wb->form[$wb->currentform]->{$var} = constant("DEFAULT_" . strtoupper($var)); } // Variable attributes $wb->form[$wb->currentform]->width = $width; $wb->form[$wb->currentform]->height = $height; $wb->form[$wb->currentform]->caption = $title; $wb->form[$wb->currentform]->cclass = $class; $wb->form[$wb->currentform]->style = (int) $style; $wb->form[$wb->currentform]->value = (int) $value; // Resize, reposition and show form $pos = wb_get_position($parent); wb_set_position($wb->formwin, $pos[0] + 180, $pos[1] + 76); wb_set_size($wb->formwin, $width, $height); wb_set_text($wb->formwin, $title); wb_set_visible($wb->formwin, true); // Create a treeview item for this form wb_delete_items($wb->tree, $wb->form[$wb->currentform]->treenode); $root = $wb->rootnode; $node = wb_create_items($wb->tree, array(array($title, $wb->currentform, $root, 8, 9, 2))); $wb->form[$wb->currentform]->treenode = $node; // numforms is always set to 1 $wb->numforms = 1; // Expand the root and select the new node wb_set_state($wb->tree, $root, 1); wb_set_selected($wb->tree, $node); }