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); }
function read_window_geom($window, $prefix, $resize = false) { global $wb; if (!$window) { return; } $geom = $wb->settings["Settings"][$prefix . "_geom"]; $geom = preg_split("/\\s+/", $geom); $desk = wb_get_system_info('workarea'); $desk = preg_split("/\\s+/", $desk); wb_set_position($window, max(min((int) $desk[2] - $geom[2], $geom[0]), 0), max(min((int) $desk[3] - $geom[3], $geom[1]), 0)); if ($resize) { wb_set_size($window, min(max(MIN_WIDTH, (int) $geom[2]), (int) $desk[2]), min(max(MIN_HEIGHT, (int) $geom[3]), (int) $desk[3])); } }