33if (!function_exists(
'wb_create_control')) {
34 function wb_create_control($parent, $class, $caption =
"", $xpos = 0, $ypos = 0, $width = 0, $height = 0, $id =
null, $style = 0, $lparam =
null, $ntab = 0)
38 return wbtemp_set_accel_table($parent, $caption);
41 return wbtemp_create_toolbar($parent, $caption, $width, $height, $lparam);
44 return wbtemp_create_menu($parent, $caption);
47 return wbtemp_create_control(
57 is_null($lparam) ? NOCOLOR : $lparam,
64 $ctrl = wbtemp_create_control($parent, $class, $caption, $xpos, $ypos, $width, $height, $id, $style, $lparam, $ntab);
65 if (is_array($caption)) {
66 wb_set_text($ctrl, $caption[0]);
72 $ctrl = wbtemp_create_control($parent, $class, $caption, $xpos, $ypos, $width, $height, $id, $style, $lparam, $ntab);
73 if (is_array($caption)) {
74 wb_set_text($ctrl, $caption[0]);
82 $ctrl = wbtemp_create_control($parent, $class, $caption, $xpos, $ypos, $width, $height, $id, $style, $lparam, $ntab);
84 wb_set_value($ctrl, $lparam);
90 return wbtemp_create_control($parent, $class, $caption, $xpos, $ypos, $width, $height, $id, $style, $lparam, $ntab);
104if (!function_exists(
'wb_set_value')) {
105 function wb_set_value($ctrl, $value, $item =
null)
111 $class = wb_get_class($ctrl);
115 if ($value ===
null) {
117 } elseif (is_string($value) && strstr($value,
",")) {
118 $values = explode(
",", $value);
119 } elseif (!is_array($value)) {
120 $values = array($value);
124 foreach ($values as $index) {
125 wbtemp_set_listview_item_checked($ctrl, $index, 1);
131 if ($item ===
null) {
132 $item = wbtemp_get_selected($ctrl);
135 return wbtemp_set_treeview_item_value($ctrl, $item, $value);
139 if ($value !==
null) {
140 return wbtemp_set_value($ctrl, $value, $item);
156if (!function_exists(
'wb_get_text')) {
157 function wb_get_text($ctrl, $item =
null, $subitem =
null)
163 if (wb_get_class($ctrl) == ListView) {
164 if ($item !==
null) {
166 $line = wbtemp_get_listview_text($ctrl, $item);
167 if ($subitem ===
null) {
170 return $line[$subitem];
174 $sel = wb_get_selected($ctrl);
177 for ($i = 0; ; $i++) {
178 $item = wbtemp_get_listview_text($ctrl, $i);
179 $all = implode(
'', $item);
186 return $items ? $items :
null;
189 foreach ($sel as $row) {
190 $items[] = wbtemp_get_listview_text($ctrl, $row);
193 return $items ? $items :
null;
196 } elseif (wb_get_class($ctrl) == TreeView) {
198 return wbtemp_get_treeview_item_text($ctrl, $item);
200 $sel = wb_get_selected($ctrl);
204 return wbtemp_get_text($ctrl);
207 } elseif (wb_get_class($ctrl) == ComboBox) {
208 return wbtemp_get_text($ctrl, $item ===
null ? -1 : $item);
209 } elseif (wb_get_class($ctrl) == ListBox) {
210 return wbtemp_get_text($ctrl, $item ===
null ? -1 : $item);
212 return wbtemp_get_text($ctrl, $item);
230if (!function_exists(
'wb_set_text')) {
231 function wb_set_text($ctrl, $text, $item =
null, $subitem =
null)
237 switch (wb_get_class($ctrl)) {
240 if ($item !==
null) {
241 if (!is_array($text) && $subitem !==
null) {
244 wbtemp_set_listview_item_text($ctrl, $item, $subitem, $text);
248 for ($sub = 0; $sub < count($text); $sub++) {
250 if (($text[$sub] !==
null)) {
251 wbtemp_set_listview_item_text($ctrl, $item, $sub, (
string)$text[$sub]);
254 wbtemp_set_listview_item_text($ctrl, $item, $sub,
"");
259 if (!is_array($text)) {
260 $text = explode(
",", $text);
263 wb_delete_items($ctrl,
null);
266 wbtemp_clear_listview_columns($ctrl);
272 for ($i = 0; $i < count($text); $i++) {
273 if (is_array($text[$i])) {
274 wbtemp_create_listview_column(
277 (
string)$text[$i][0],
278 isset($text[$i][1]) ? (
int)$text[$i][1] : -1,
279 isset($text[$i][2]) ? (
int)$text[$i][2] : WBC_LEFT
282 wbtemp_create_listview_column(
298 wb_delete_items($ctrl);
299 } elseif (is_string($text)) {
300 if (strchr($text,
"\r") || strchr($text,
"\n")) {
301 $text = preg_split(
"/[\r\n,]/", $text);
302 wb_delete_items($ctrl);
303 foreach ($text as $str) {
304 wbtemp_create_item($ctrl, (
string)$str);
307 $index = wb_send_message($ctrl, LB_FINDSTRINGEXACT, -1, wb_get_address($text));
308 wb_send_message($ctrl, LB_SETCURSEL, $index, 0);
310 } elseif (is_array($text)) {
311 wb_delete_items($ctrl);
312 foreach ($text as $str) {
313 wbtemp_create_item($ctrl, (
string)$str);
322 wb_delete_items($ctrl);
323 } elseif (is_string($text)) {
324 if (strchr($text,
"\r") || strchr($text,
"\n")) {
325 $text = preg_split(
"/[\r\n,]/", $text);
326 wb_delete_items($ctrl);
327 foreach ($text as $str) {
328 wbtemp_create_item($ctrl, (
string)$str);
331 $index = wb_send_message($ctrl, CB_FINDSTRINGEXACT, -1, wb_get_address($text));
332 wb_send_message($ctrl, CB_SETCURSEL, $index, 0);
334 wb_send_message($ctrl, WM_SETTEXT, 0, wb_get_address($text));
337 } elseif (is_array($text)) {
338 wb_delete_items($ctrl);
339 foreach ($text as $str) {
340 wbtemp_create_item($ctrl, (
string)$str);
349 return wbtemp_set_treeview_item_text($ctrl, $item, $text);
351 return wb_create_items($ctrl, $text,
true);
357 if (is_array($text)) {
358 return wbtemp_set_text($ctrl, $text, $item);
360 return wbtemp_set_text($ctrl, (
string)$text, $item);
375if (!function_exists(
'wb_set_selected')) {
376 function wb_set_selected($ctrl, $selitems = 0, $selected =
true)
378 switch (wb_get_class($ctrl)) {
380 wb_send_message($ctrl, CB_SETCURSEL, (
int)$selitems, 0);
384 wb_send_message($ctrl, LB_SETCURSEL, (
int)$selitems, 0);
389 if (is_null($selitems)) {
390 return wbtemp_select_all_listview_items($ctrl,
false);
391 } elseif (is_array($selitems)) {
392 foreach ($selitems as $item) {
393 wbtemp_select_listview_item($ctrl, $item, $selected);
398 return wbtemp_select_listview_item($ctrl, $selitems, $selected);
403 return wbtemp_set_menu_item_checked($ctrl, $selitems, $selected);
406 wbtemp_select_tab($ctrl, (
int)$selitems);
410 wbtemp_set_treeview_item_selected($ctrl, $selitems);
431if (!function_exists(
'wb_create_items')) {
432 function wb_create_items($ctrl, $items, $clear =
false, $param =
null)
434 switch (wb_get_class($ctrl)) {
438 wb_send_message($ctrl, LVM_DELETEALLITEMS, 0, 0);
445 for ($i = 0; $i < count($items); $i++) {
446 if (!is_scalar($items[$i])) {
447 $last = wbtemp_create_listview_item(
451 (
string)$items[$i][0]
454 $last = wbtemp_create_listview_item(
461 wbtemp_set_listview_item_text($ctrl, -1, 0, (
string)$items[$i][0]);
465 for ($sub = 0; $sub < count($items[$i]) - 1; $sub++) {
469 $items[$i][$sub + 1],
473 wbtemp_set_listview_item_text($ctrl, $last, $sub + 1,
$result);
475 wbtemp_set_listview_item_text($ctrl, $last, $sub + 1, (
string)$items[$i][$sub + 1]);
486 $handle = wb_delete_items($ctrl);
493 for ($i = 0; $i < count($items); $i++) {
494 $ret[] = wbtemp_create_treeview_item(
496 (
string)$items[$i][0],
497 isset($items[$i][1]) ? $items[$i][1] : 0,
498 isset($items[$i][2]) ? $items[$i][2] : 0,
499 isset($items[$i][3]) ? $items[$i][3] : -1,
500 isset($items[$i][4]) ? $items[$i][4] : -1,
501 isset($items[$i][5]) ? $items[$i][5] : 0
505 return (count($ret) > 1 ? $ret : $ret[0]);
509 wbtemp_create_statusbar_items($ctrl, $items, $clear, $param);
510 foreach ($items as $item) {
511 wb_set_text($ctrl, $item[0], key($item));
518 if (is_array($items)) {
519 foreach ($items as $item) {
520 wbtemp_create_item($ctrl, $item);
525 return wbtemp_create_item($ctrl, $items);
544 if (!function_exists(
'wb_sys_dlg_open')) {
545 function wb_sys_dlg_open($parent =
null, $title =
null, $filter =
null, $path =
null, $filename =
null, $flags =
null)
547 $filter = _make_file_filter($filter ? $filter : $filename);
549 return wbtemp_sys_dlg_open($parent, $title, $filter, $path, $flags);
565 if (!function_exists(
'wb_sys_dlg_save')) {
566 function wb_sys_dlg_save($parent =
null, $title =
null, $filter =
null, $path =
null, $filename =
null, $defext =
null)
568 $filter = _make_file_filter($filter ? $filter : $filename);
570 return wbtemp_sys_dlg_save($parent, $title, $filter, $path, $filename, $defext);
583 if (!function_exists(
'_make_file_filter')) {
584 function _make_file_filter($filter)
587 return "All Files (*.*)\0*.*\0\0";
590 if (is_array($filter)) {
592 foreach ($filter as $line) {
593 $result .=
"$line[0] ($line[1])\0$line[1]\0";