📄 wireless_device_tree.cpp
字号:
#include "wireless_device_tree.h"//===============================================================================// FUNCTION update_main_tree// SYNOPSIS Creates the folderlist Fl_Toggle_Tree data from the currently// available mailboxes and their views.//// ARGUMENTS scr (Fl_Scroll *) Group the tree should be a part of.//// RETURNS function returns no data//===============================================================================void update_wireless_device_tree (Fl_Scroll *scr){ int i; int x,y; char buf[512]; int device_type=0; int index=0; fl_mapcolor (FL_FREE_COL5,245,233,217 ); i = scr->children()-1; while (i>=2) { scr->remove(scr->child(i-2)); i--; } y = scr->y()+5; x = 0; scr->begin(); wireless_device_tree = new Fl_Toggle_Tree (scr->x()+1, scr->y()+2, scr->w() - 4, 10); wireless_device_tree->column_widths(w_wireless_device); wireless_device_tree->textsize (16); wireless_device_tree->selection_color (209); wireless_device_tree->selection_label_color (FL_BLACK); wireless_device_tree->color(FL_FREE_COL5); wireless_device_tree->label_offset(35); wireless_device_tree->pixmap_offset(15); wireless_device_tree->edit_on_reselect (0); wireless_device_tree->column_char('\t'); scr->resizable (wireless_device_tree); index=iconbr_setup_list->value(); if (index==WIRE_SETUP) device_type=DEVICE_WIRE; else if (index==WIRELESS_SETUP) device_type=DEVICE_WIRELESS; else printf("Select error\n"); printf("device_type=%d\n",device_type); alert_device_t *temp_device; for (temp_device=PROFILES.dev_head;temp_device;temp_device=temp_device->next) { if (temp_device->device_type==device_type) { printf("temp_device->device_type=%d\n",temp_device->device_type); Fl_Toggle_Node *nod; sprintf (buf, "%s\t%s\t%s\t%s", temp_device->device_name,ALERT_TYPE[temp_device->device_type],temp_device->device_position,DEVICE_CNO[temp_device->device_cno]); nod =wireless_device_tree->add_next (buf, 0, 0,(void *)temp_device); ++x; } } wireless_device_tree->callback ((Fl_Callback *) cb_wireless_device_tree); wireless_device_tree->update_height(); wireless_device_tree->alternate_color(wireless_device_tree->color()); wireless_device_tree->trim_color (wireless_device_tree->color());// wireless_device_tree->alternate_color(FL_LIGHT2);// wireless_device_tree->trim_color(FL_LIGHT1);// wireless_device_tree->sort_tree(Fl_Toggle_Tree::sort_by_label); scr->end(); scr->redraw(); Fl::flush();}//===============================================================================// CALLBACK cb_selectfolder// SENDER folderlist tree// SYNOPSIS Makes a new folder/view the current one, redraws the indexview.//===============================================================================//==============================// FL_TOGGLE_NONE = 0// FL_TOGGLE_SELECT = 1// FL_TOGGLE_RESELECT = 2// FL_TOGGLE_SELECT_MASK = 3// FL_TOGGLE_OPENED = 4// FL_TOGGLE_CLOSED = 8// FL_TOGGLE_HIT = 16//==============================void cb_wireless_device_tree (Fl_Widget *b, void *v){ Fl_Toggle_Node *X = (Fl_Toggle_Node *) wireless_device_tree->selected(); if (X!=NULL&&X->user_data() != NULL) { PROFILES.dev_current=(alert_device_t*)X->user_data(); DEVICE_EDIT_MODE=1; set_button_enable(); }}void wireless_device_tree_clear (alert_device_t *M){ int depth = 0; Fl_Toggle_Node *X = (Fl_Toggle_Node *) wireless_device_tree->traverse_start(); while (X) { if (X->user_data() != NULL) { alert_device_t *temp_device = (alert_device_t *) X->user_data(); if (temp_device == M) { ((Fl_Widget*)X)->color(FL_BLACK); } } X = wireless_device_tree->traverse_forward (0, depth); } wireless_device_tree->redraw();}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -