#include <ndk++.h>
Inheritance diagram for NDK_XX::ListBox:

Public Methods | |
| ListBox (Control *parent, int id, const string &title,int lines, int cols, int y, int x,int style=tabstop|framed|notify) | |
| ListBox (int id, const string &title,int lines, int cols, int y, int x,int style=tabstop|framed|notify) | |
| ~ListBox () | |
| int | add_item (const string &new_item, int pos=-1, bool is_default=false, bool make_visible=true) |
| You can add an item just sending in a string. | |
| int | add_item (ListItemData *new_item, int pos=-1, bool make_visible=true) |
| int | remove_item (int pos=-1) |
| Drop an item from the list. | |
| int | refresh () |
| Here we will manage the virtualized list. | |
| void | show () |
| call panel's show and set our state accordingly | |
| void | hide () |
| call panel's hide and set our state accordingly | |
| void | activate () |
| Draw as active (i.e.,with bold frame). | |
| void | deactivate () |
| Draw as inactive (i.e.,with normal frame). | |
| string | get_text () const |
| void | set_text (const string &v) |
| Usualy, a control in a dialog has some kind of text on it... | |
| virtual int | get_cur_pos () |
| Where are we standing on the list? | |
| virtual void | set_cur_pos (int pos=-1) |
| virtual int | get_cur_sel () |
| The current checked item. | |
| void | set_cur_sel (int pos) |
| virtual void | get_sel_items (IndexList &list) |
| On a multisel list, the list of checked items. | |
| virtual void | set_sel_items (const IndexList &list, bool t_or_f=true) |
| virtual string | get_item_text (int pos=-1) |
| Get tht text for the pos'th item. | |
| virtual void | set_item_text (int pos, const string &txt) |
| virtual int | sel_string (int pos, const string &pattern) |
| Select an item based on the given pattern, starting at pos. | |
| virtual void * | get_item_data (int pos=-1) |
| Get the user data hooked on the pos'th item. | |
| virtual void | set_item_data (int pos, void *data) |
| virtual ListItemData * | get_item (int pos=-1) |
| Get full info for the pos'th item. | |
| virtual void | set_item (int pos, ListItemData *item) |
| virtual int | get_count () |
| How long is the list? | |
| void | clear () |
| Remove all the elements. | |
| int | largest_name_len () const |
Protected Methods | |
| int | driver (int key) |
| virtual void | lefttext (int row, const char *label) |
| virtual void | righttext (int row, const char *label) |
| void | show_text (const string &t, char where) |
| virtual void | adjust_visible_items () |
| virtual int | move_up () |
| virtual int | move_down () |
| virtual void | activate_item (int item_idx) |
| virtual void | deactivate_item (int item_idx) |
| void | update_data (int item_idx) |
| Copy to the buffer the full info of item_idx'th item. | |
| void | update_item (int item_idx) |
| Copy to the visible item the full info of item_idx'th item. | |
| void | refresh_items () |
| Refresh the visible elements. | |
| void | clear_items () |
| Clear (erase) the visible items. | |
| void | delete_data () |
| Clear (erase) the full list of items. | |
| void | show_empty () |
| If there are no elements to show, put the 'Empty' tag. | |
| void | draw_scrollbar () |
| Draw a vertical scroll bar (just visual sugar, we don't have mouse yet). | |
| ListItem *& | visible_item (int requested) |
| Virtualize the requested item index. | |
| void | check_multisel (int pos, bool t_or_f) |
| Do we allow multiple selection? | |
| void | on_sel_change (int) |
| DECLARE_BINDINGS () | |
| A macro for enabling message processing (see ndk_bindings.h). | |
Protected Attributes | |
| string | _title |
| int | pos_x |
| int | pos_y |
| VisibleItems | items |
| ListItems | data |
| int | curr_item |
| int | first_visible |
| int | last_visible |
| int | cur_sel |
Friends | |
| class | ListItem |
|
||||||||||||||||||||||||||||||||||||
|
ListBox Constructor See parameters for class Control Definition at line 885 of file ndk++.cc. References draw_scrollbar(), NDK_XX::Control::enable_notify(), NDK_XX::Control::has_frame(), pos_x, pos_y, set_text(), and NDK_XX::Control::title. Referenced by set_text().
00889 :Control( parent,id,lines,cols,y,x,style) 00890 ,pos_x(0), pos_y(0) 00891 ,curr_item(-1) 00892 ,first_visible(-1) 00893 ,last_visible(-1) 00894 ,cur_sel(-1) 00895 { 00896 enable_notify(false); 00897 if(has_frame()){ 00898 pos_x++; 00899 pos_y++; 00900 } 00901 set_text(title); 00902 draw_scrollbar(); 00903 enable_notify(); 00904 } |
|
||||||||||||||||||||||||||||||||
|
Definition at line 907 of file ndk++.cc. References draw_scrollbar(), NDK_XX::Control::enable_notify(), NDK_XX::Control::has_frame(), pos_x, pos_y, set_text(), and NDK_XX::Control::title.
00910 :Control( id,lines,cols,y,x,style) 00911 ,pos_x(0), pos_y(0) 00912 ,curr_item(-1) 00913 ,first_visible(-1) 00914 ,last_visible(-1) 00915 ,cur_sel(-1) 00916 { 00917 enable_notify(false); 00918 if(has_frame()){ 00919 pos_x++; 00920 pos_y++; 00921 } 00922 set_text(title); 00923 draw_scrollbar(); 00924 enable_notify(); 00925 } |
|
|
Definition at line 936 of file ndk++.cc. References delete_data(), hide(), and items.
00937 {
00938 hide();
00939 VisibleItems::iterator it;
00940 for(it=items.begin();it!=items.end();it++){
00941 delete *it;
00942 }
00943
00944 delete_data();
00945 }
|
|
|
Draw as active (i.e.,with bold frame).
Reimplemented from NDK_XX::Control. Definition at line 1195 of file ndk++.cc. References _title, draw_scrollbar(), refresh(), and set_text().
01196 {
01197 Control::activate();
01198 attron(A_BOLD);
01199 set_text(_title);
01200 attroff(A_BOLD);
01201 draw_scrollbar();
01202 refresh();
01203 }
|
|
|
Definition at line 1258 of file ndk++.cc. References NDK_XX::Button::activate(), update_item(), and visible_item(). Referenced by refresh().
01259 {
01260 update_item(item_idx);
01261 visible_item(item_idx)->activate();
01262 }
|
|
||||||||||||||||
|
Here you are sending a full item data ptr. The list will own it and dispose it at destruction time Definition at line 1034 of file ndk++.cc. References adjust_visible_items(), curr_item, data, draw_scrollbar(), and refresh().
01036 {
01037 int old_current = curr_item;
01038 ///by default, we insert at the end
01039 ListItems::iterator where=data.end();
01040
01041 if(pos!=-1 ){
01042 if(pos >-1 && pos < data.size()){
01043 where=data.begin()+pos;
01044 if(make_visible){
01045 curr_item=pos;
01046 }
01047 }
01048 else
01049 throw
01050 Exception<ListBox>(this
01051 ,"Position out of range in add_item");
01052 }
01053 else{
01054 if(data.empty()==false){/// if no data, curr_item already is 0
01055 if(make_visible){
01056 curr_item++;
01057 }
01058 }
01059 }
01060 data.insert(where,new_item);
01061 adjust_visible_items();
01062 draw_scrollbar();
01063 refresh();
01064 }
|
|
||||||||||||||||||||
|
You can add an item just sending in a string.
Definition at line 1023 of file ndk++.cc. References data, and NDK_XX::ListItemData::set_default().
|
|
|
Definition at line 1168 of file ndk++.cc. References curr_item, data, first_visible, items, last_visible, and refresh_items(). Referenced by add_item(), move_down(), move_up(), remove_item(), set_cur_pos(), and set_cur_sel().
01169 {
01170
01171 if(curr_item < first_visible){
01172 first_visible = curr_item;
01173 last_visible = first_visible + (items.size()-1);
01174 }
01175 if(curr_item > last_visible){
01176 last_visible = curr_item;
01177 first_visible = last_visible - (items.size()-1);
01178 if(first_visible < 0)
01179 first_visible =0;
01180 }
01181
01182 if(first_visible > data.size()) first_visible = (data.size()-1);
01183 if(last_visible > data.size() || items.size() >= data.size())
01184 last_visible = (data.size()-1);
01185
01186 if(first_visible < 0) first_visible =0;
01187 if(last_visible < 0) last_visible =0;
01188
01189 refresh_items();
01190 }
|
|
||||||||||||
|
Do we allow multiple selection?
Definition at line 1484 of file ndk++.cc. References cur_sel, data, first_visible, NDK_XX::Control::is_multisel(), last_visible, and update_item(). Referenced by on_sel_change(), and set_cur_sel().
01485 {
01486 if(!is_multisel()){
01487 if(t_or_f==true){
01488 cur_sel = pos;
01489 for(int i=0;i<data.size();i++){
01490 if(i != pos){
01491 data[i]->set_check(false);
01492 if(i>=first_visible && i<=last_visible){
01493 update_item(i);
01494 }
01495 }
01496 }
01497 }
01498 else //t_or_f == false
01499 cur_sel=-1;
01500 }
01501 }
|
|
|
Remove all the elements.
Definition at line 959 of file ndk++.cc. References curr_item, data, delete_data(), draw_scrollbar(), first_visible, last_visible, refresh(), refresh_items(), and show_empty().
00960 {
00961 delete_data();
00962 data.clear();
00963 curr_item=first_visible=last_visible=0;
00964 refresh_items();
00965 show_empty();
00966 draw_scrollbar();
00967 refresh();
00968 }
|
|
|
Clear (erase) the visible items.
Definition at line 1113 of file ndk++.cc. References data, first_visible, and items. Referenced by refresh_items().
01114 {
01115 for( int idx=data.size()-first_visible;idx <items.size(); idx++){
01116 items[idx]->set_text("");
01117 }
01118 }
|
|
|
Draw as inactive (i.e.,with normal frame).
Reimplemented from NDK_XX::Control. Definition at line 1208 of file ndk++.cc. References _title, curr_item, deactivate_item(), draw_scrollbar(), refresh(), and set_text().
01209 {
01210 Control::deactivate();
01211 attron(A_BOLD);
01212 set_text(_title);
01213 attroff(A_BOLD);
01214 deactivate_item(curr_item);
01215 draw_scrollbar();
01216 refresh();
01217 }
|
|
|
Definition at line 1267 of file ndk++.cc. References NDK_XX::Button::deactivate(), update_data(), and visible_item(). Referenced by deactivate(), and refresh().
01268 {
01269 visible_item(item_idx)->deactivate();
01270 update_data(item_idx);
01271 }
|
|
|
A macro for enabling message processing (see ndk_bindings.h).
|
|
|
Clear (erase) the full list of items.
Definition at line 949 of file ndk++.cc. References data. Referenced by clear(), and ~ListBox().
|
|
|
Draw a vertical scroll bar (just visual sugar, we don't have mouse yet).
Definition at line 984 of file ndk++.cc. References data, first_visible, NDK_XX::Control::has_vscrollbar(), and items. Referenced by activate(), add_item(), clear(), deactivate(), ListBox(), move_down(), move_up(), remove_item(), set_cur_pos(), and set_cur_sel().
00985 {
00986 if(!has_vscrollbar())
00987 return;
00988 int i, row, col, h_len, v_len;
00989 int winheight=items.size();
00990 int dataheight = data.size();
00991 int top = ((first_visible==-1)? 0:first_visible);
00992
00993 if(dataheight==0)
00994 dataheight = 1;
00995
00996 v_len = (winheight*winheight + dataheight - 1)/dataheight;
00997 if (v_len==0)
00998 v_len = 1;
00999 if (v_len > winheight)
01000 v_len = winheight;
01001
01002
01003 row = (top * winheight + dataheight - 1) / dataheight;
01004 if (row + v_len > winheight)
01005 row = winheight - v_len;
01006
01007 vline(1,maxx(),winheight);
01008 attron(A_REVERSE);
01009 if (v_len>=2) {
01010 addch(row+1,maxx(),ACS_UARROW);
01011 for(i=2;i<v_len;i++)
01012 addch(row+i,maxx(),' ');
01013 addch(row+v_len,maxx(),ACS_DARROW);
01014 }
01015 else {
01016 for(i=1;i<=v_len;i++)
01017 addch(row+i,maxx(),' ');
01018 }
01019 attroff(A_REVERSE);
01020 }
|
|
|
get a chance at processing the key, before parent does Reimplemented from NDK_XX::Control. Reimplemented in NDK_XX::MenuBar. Definition at line 1123 of file ndk++.cc. References curr_item, data, NDK_XX::ListItem::driver(), first_visible, move_down(), NDK_XX::Control::move_left(), NDK_XX::Control::move_right(), move_up(), set_cur_pos(), set_cur_sel(), and visible_item().
01124 {
01125 if( data.size()
01126 && curr_item!=-1
01127 // && (is_multisel() || cur_sel==-1)
01128 && visible_item(curr_item)->driver(key)==TRUE)
01129 return TRUE;
01130 switch(key) {
01131 case KEY_UP:
01132 return move_up();
01133 case KEY_DOWN:
01134 return move_down();
01135 case KEY_RIGHT:
01136 return move_right();
01137 case KEY_LEFT:
01138 return move_left();
01139 #ifdef NCURSES_MOUSE_VERSION
01140 case KEY_MOUSE:
01141 {
01142 MEVENT event;
01143 getmouse(&event);
01144 if ((event.bstate & (BUTTON1_CLICKED|BUTTON1_DOUBLE_CLICKED|BUTTON1_TRIPLE_CLICKED))
01145 && wenclose(w,event.y, event.x))
01146 { // we react only if the click was in the userwin, that means
01147 // inside the menu display area or at the decoration window.
01148 int ry = event.y, rx = event.x; /* screen coordinates */
01149
01150 if (mouse_trafo(&ry,&rx,FALSE)){
01151 set_cur_pos(first_visible + (ry-begy()-1));
01152 if (event.bstate & BUTTON1_DOUBLE_CLICKED)
01153 set_cur_sel(curr_item);
01154 return true;
01155 }
01156 }
01157 break;
01158 }
01159 #endif /* NCURSES_MOUSE_VERSION */
01160 default:
01161 break;
01162 }
01163 return FALSE;
01164 }
|
|
|
How long is the list?
Definition at line 1180 of file ndk++.h. References NDK_XX::SelectionBox::initialize_items().
01181 {
|
|
|
Where are we standing on the list?
Definition at line 1412 of file ndk++.cc. References curr_item. Referenced by NDK_XX::PopUpMenu::action().
01413 {
01414 return curr_item;
01415 }
|
|
|
The current checked item.
Definition at line 1445 of file ndk++.cc. References cur_sel, and NDK_XX::Control::is_multisel().
01446 {
01447 if(is_multisel())
01448 throw Exception<ListBox>(this,"Calling get_selected and is_multisel==true");
01449
01450 return cur_sel;
01451 }
|
|
|
Get full info for the pos'th item.
Definition at line 1389 of file ndk++.cc. References data.
|
|
|
Get the user data hooked on the pos'th item.
Definition at line 1370 of file ndk++.cc. References data.
|
|
|
Get tht text for the pos'th item.
Definition at line 1338 of file ndk++.cc. References data.
|
|
|
On a multisel list, the list of checked items.
Definition at line 1455 of file ndk++.cc. References cur_sel, data, NDK_XX::IndexList, and NDK_XX::Control::is_multisel().
01456 {
01457 list.clear();
01458 if(is_multisel()){
01459 for(int i=0;i<data.size();i++){
01460 if(data[i]->is_checked())
01461 list.push_back(i);
01462 }
01463 }
01464 else
01465 list.push_back(cur_sel);
01466
01467 }
|
|
|
Implements NDK_XX::Control. Definition at line 1146 of file ndk++.h.
01154 : public ListBox |
|
|
call panel's hide and set our state accordingly
Reimplemented from NDK_XX::Control. Definition at line 1135 of file ndk++.h. References first_visible, and items. Referenced by NDK_XX::MenuBar::execute(), and ~ListBox().
01137 {return items[requested-first_visible];}
01138
01139 ///Do we allow multiple selection?
01140 void check_multisel(int pos, bool t_or_f);
01141
|
|
|
Definition at line 1516 of file ndk++.cc.
01516 {
01517 unsigned MaximumNameLength = 0;
01518 ListItems::const_iterator it;
01519 for(it = data.begin(); it !=data.end();it++){
01520 string name((*it)->get_text());
01521
01522 if (name.size() > MaximumNameLength ){
01523 MaximumNameLength = name.size();
01524 }
01525 }
01526 return MaximumNameLength;
01527 }
|
|
||||||||||||
|
Put the label text at the left (0) in the specified row. Definition at line 1237 of file ndk++.cc. Referenced by show_text().
01237 {
01238 if (label) {
01239 OnError(addstr(row, 1, label, width()));
01240 }
01241 }
|
|
|
Reimplemented in NDK_XX::MenuBar, and NDK_XX::SubMenu. Definition at line 1320 of file ndk++.cc. References adjust_visible_items(), cur_sel, curr_item, data, draw_scrollbar(), NDK_XX::Control::get_ctrl_id(), NDK_XX::Control::is_multisel(), LI_POS_CHANGE, NDK_XX::Control::notify_enabled(), NDK_XX::Control::pParent, NDK_XX::Control::process_message(), refresh(), NDK_XX::ListItem::set_check(), and visible_item(). Referenced by driver().
01321 {
01322 if(data.size() && curr_item < data.size()-1){
01323 curr_item++;
01324 adjust_visible_items();
01325 draw_scrollbar();
01326 refresh();
01327 if(!is_multisel()&& cur_sel!=-1)
01328 visible_item(curr_item)->set_check();
01329 if(notify_enabled()){
01330 process_message(pParent,LI_POS_CHANGE,get_ctrl_id(),0);
01331 }
01332 }
01333 return true;
01334 }
|
|
|
Reimplemented in NDK_XX::MenuBar, and NDK_XX::SubMenu. Definition at line 1301 of file ndk++.cc. References adjust_visible_items(), cur_sel, curr_item, draw_scrollbar(), NDK_XX::Control::get_ctrl_id(), NDK_XX::Control::is_multisel(), LI_POS_CHANGE, NDK_XX::Control::notify_enabled(), NDK_XX::Control::pParent, NDK_XX::Control::process_message(), refresh(), NDK_XX::ListItem::set_check(), and visible_item(). Referenced by driver().
01302 {
01303 if(curr_item){
01304 curr_item--;
01305 adjust_visible_items();
01306 draw_scrollbar();
01307 refresh();
01308 if(!is_multisel() && cur_sel!=-1)
01309 visible_item(curr_item)->set_check();
01310 if(notify_enabled()){
01311 process_message(pParent,LI_POS_CHANGE,get_ctrl_id(),0);
01312 }
01313 }
01314 return true;
01315 }
|
|
|
Definition at line 1505 of file ndk++.cc. References check_multisel(), curr_item, data, NDK_XX::Control::get_ctrl_id(), LI_SEL_CHANGE, NDK_XX::Control::notify_enabled(), NDK_XX::Control::pParent, NDK_XX::Control::process_message(), refresh(), and update_data().
01506 {
01507 update_data(curr_item);
01508 check_multisel(curr_item,data[curr_item]->is_checked());
01509 refresh();
01510 if(notify_enabled())
01511 process_message(pParent,LI_SEL_CHANGE,get_ctrl_id(),0);
01512 }
|
|
|
Here we will manage the virtualized list.
Definition at line 1091 of file ndk++.cc. References activate_item(), curr_item, deactivate_item(), first_visible, and last_visible. Referenced by activate(), add_item(), clear(), deactivate(), NDK_XX::MenuBar::driver(), NDK_XX::MenuBar::execute(), NDK_XX::MenuBar::execute_current_item(), move_down(), move_up(), on_sel_change(), remove_item(), set_cur_pos(), set_cur_sel(), set_item(), and set_sel_items().
01092 {
01093 for( int idx=first_visible;idx <= last_visible; idx++){
01094 if(idx!=curr_item)
01095 deactivate_item(idx);
01096 }
01097 activate_item(curr_item);
01098 }
|
|
|
Refresh the visible elements.
Definition at line 1102 of file ndk++.cc. References clear_items(), first_visible, last_visible, and update_item(). Referenced by adjust_visible_items(), clear(), set_item(), and set_sel_items().
01103 {
01104 for( int idx=first_visible;idx <= last_visible; idx++){
01105 update_item(idx);
01106 }
01107 clear_items();
01108
01109 }
|
|
|
Drop an item from the list.
Definition at line 1069 of file ndk++.cc. References adjust_visible_items(), cur_sel, curr_item, data, draw_scrollbar(), NDK_XX::Control::is_multisel(), refresh(), set_cur_sel(), and show_empty().
01070 {
01071 if(pos>=0 && pos < data.size()){
01072 data.erase(data.begin()+pos);
01073 if(pos<= curr_item && curr_item)
01074 curr_item--;
01075 if(cur_sel == pos){
01076 if(is_multisel()){
01077 cur_sel = -1;
01078 adjust_visible_items();
01079 draw_scrollbar();
01080 show_empty();
01081 refresh();
01082 }
01083 else if(cur_sel!=-1)
01084 set_cur_sel(curr_item);
01085 }
01086 }
01087 };
|
|
||||||||||||
|
Put the label text to the right (ending at maxx()) in the specified row. Definition at line 1246 of file ndk++.cc. Referenced by show_text().
01246 {
01247 if (label) {
01248 int x = maxx() - strlen(label)-1;
01249 if (x<0)
01250 x=0;
01251 OnError(addstr(row, x, label, width()));
01252 }
01253 }
|
|
||||||||||||
|
Select an item based on the given pattern, starting at pos.
Definition at line 1356 of file ndk++.cc. References data, and set_cur_sel().
01357 {
01358 ListItems::iterator it;
01359 for(int i=pos;i<data.size();i++){
01360 if(data[i]->text.find(txt)!=string::npos){
01361 set_cur_sel(i);
01362 return i;
01363 }
01364 }
01365 return string::npos;
01366 }
|
|
|
Definition at line 1419 of file ndk++.cc. References adjust_visible_items(), curr_item, data, draw_scrollbar(), and refresh(). Referenced by NDK_XX::PopUpMenu::action(), driver(), and NDK_XX::MenuBar::find_clicked().
01420 {
01421 if(pos>-1 && pos < data.size()){
01422 curr_item = pos;
01423 adjust_visible_items();
01424 draw_scrollbar();
01425 refresh();
01426 }
01427 }
|
|
|
Definition at line 1431 of file ndk++.cc. References adjust_visible_items(), check_multisel(), curr_item, data, draw_scrollbar(), refresh(), NDK_XX::ListItem::set_check(), and visible_item(). Referenced by driver(), remove_item(), and sel_string().
01432 {
01433 if(pos>-1 && pos < data.size()){
01434 curr_item = pos;
01435 adjust_visible_items();
01436 draw_scrollbar();
01437 visible_item(pos)->set_check(true);
01438 check_multisel(pos, true);
01439 refresh();
01440 }
01441 }
|
|
||||||||||||
|
Definition at line 1400 of file ndk++.cc. References data, refresh(), and refresh_items().
01401 {
01402 if(pos>-1 && pos < data.size()){
01403 delete data[pos];
01404 data[pos]=item;
01405 refresh_items();
01406 refresh();
01407 }
01408 }
|
|
||||||||||||
|
Definition at line 1381 of file ndk++.cc. References data.
|
|
||||||||||||
|
Definition at line 1348 of file ndk++.cc. References data.
|
|
||||||||||||
|
Definition at line 1471 of file ndk++.cc. References data, NDK_XX::IndexList, NDK_XX::Control::is_multisel(), refresh(), and refresh_items().
01472 {
01473 if(is_multisel()){
01474 for(int i=0;i<list.size();i++){
01475 data[list[i]]->set_check(t_or_f);
01476 }
01477 }
01478 refresh_items();
01479 refresh();
01480 }
|
|
|
Usualy, a control in a dialog has some kind of text on it...
Implements NDK_XX::Control. Definition at line 1147 of file ndk++.h. References NDK_XX::Control::framed, NDK_XX::SelectionBox::initialize_items(), ListBox(), NDK_XX::Control::notify, NDK_XX::SelectionBox::SelectionBox(), NDK_XX::Control::tabstop, and NDK_XX::Control::title. Referenced by activate(), deactivate(), and ListBox().
01154 : public ListBox |
|
|
call panel's show and set our state accordingly
Reimplemented from NDK_XX::Control. Definition at line 1126 of file ndk++.h. Referenced by NDK_XX::MenuBar::execute().
01137 {return items[requested-first_visible];}
|
|
|
If there are no elements to show, put the 'Empty' tag.
Definition at line 972 of file ndk++.cc. References cur_sel, data, and items. Referenced by clear(), NDK_XX::ChoiceBox::initialize_items(), NDK_XX::CheckListBox::initialize_items(), NDK_XX::SelectionBox::initialize_items(), and remove_item().
|
|
||||||||||||
|
Definition at line 1222 of file ndk++.cc. References lefttext(), and righttext().
|
|
|
Copy to the buffer the full info of item_idx'th item.
Definition at line 1276 of file ndk++.cc. References data, and visible_item(). Referenced by deactivate_item(), and on_sel_change().
01277 {
01278 if(data.empty()||item_idx<0||item_idx >= data.size() )
01279 return;
01280 ListItem &itm= *(visible_item(item_idx));
01281 ListItemData &dat = *(data[item_idx]);
01282 dat = itm;
01283
01284 }
|
|
|
Copy to the visible item the full info of item_idx'th item.
Definition at line 1289 of file ndk++.cc. References data, and visible_item(). Referenced by activate_item(), check_multisel(), and refresh_items().
01290 {
01291 if(data.empty()||item_idx<0||item_idx >= data.size() )
01292 return;
01293 ListItem &itm= *(visible_item(item_idx));
01294 ListItemData &dat = *(data[item_idx]);
01295 itm = dat;
01296 }
|
|
|
Virtualize the requested item index.
Definition at line 1239 of file ndk++.h. Referenced by activate_item(), deactivate_item(), driver(), NDK_XX::MenuBar::execute_current_item(), move_down(), move_up(), set_cur_sel(), update_data(), and update_item().
01250 : public ListBox |
|
|
Definition at line 1095 of file ndk++.h. Referenced by NDK_XX::SelectionBox::initialize_items(). |
|
|
Definition at line 1187 of file ndk++.h. Referenced by NDK_XX::ExitCmd::action(), activate(), and deactivate(). |
|
|
Definition at line 1196 of file ndk++.h. Referenced by check_multisel(), get_cur_sel(), get_sel_items(), move_down(), move_up(), remove_item(), and show_empty(). |
|
|
Definition at line 1193 of file ndk++.h. Referenced by add_item(), adjust_visible_items(), clear(), deactivate(), driver(), NDK_XX::MenuBar::execute_current_item(), get_cur_pos(), NDK_XX::ChoiceBox::initialize_items(), NDK_XX::CheckListBox::initialize_items(), NDK_XX::SelectionBox::initialize_items(), move_down(), move_up(), on_sel_change(), refresh(), remove_item(), set_cur_pos(), and set_cur_sel(). |
|
|
Definition at line 1191 of file ndk++.h. Referenced by NDK_XX::ExitCmd::action(), add_item(), adjust_visible_items(), check_multisel(), clear(), clear_items(), delete_data(), draw_scrollbar(), driver(), NDK_XX::MenuBar::execute_current_item(), get_item(), get_item_data(), get_item_text(), get_sel_items(), move_down(), on_sel_change(), remove_item(), sel_string(), set_cur_pos(), set_cur_sel(), set_item(), set_item_data(), set_item_text(), set_sel_items(), show_empty(), update_data(), update_item(), and NDK_XX::NonImplementedItem::~NonImplementedItem(). |
|
|
Definition at line 1194 of file ndk++.h. Referenced by adjust_visible_items(), check_multisel(), clear(), clear_items(), draw_scrollbar(), driver(), NDK_XX::MenuBar::find_clicked(), hide(), NDK_XX::ChoiceBox::initialize_items(), NDK_XX::CheckListBox::initialize_items(), NDK_XX::SelectionBox::initialize_items(), refresh(), and refresh_items(). |
|
|
Definition at line 1190 of file ndk++.h. Referenced by NDK_XX::ExitCmd::action(), adjust_visible_items(), clear_items(), draw_scrollbar(), NDK_XX::MenuBar::find_clicked(), NDK_XX::MenuBar::get_next_item_x(), NDK_XX::MenuBar::get_next_item_y(), hide(), NDK_XX::ChoiceBox::initialize_items(), NDK_XX::CheckListBox::initialize_items(), NDK_XX::SelectionBox::initialize_items(), show_empty(), and ~ListBox(). |
|
|
Definition at line 1195 of file ndk++.h. Referenced by adjust_visible_items(), check_multisel(), clear(), NDK_XX::ChoiceBox::initialize_items(), NDK_XX::CheckListBox::initialize_items(), NDK_XX::SelectionBox::initialize_items(), refresh(), and refresh_items(). |
|
|
Definition at line 1188 of file ndk++.h. Referenced by NDK_XX::ExitCmd::action(), NDK_XX::MenuBar::get_next_item_x(), NDK_XX::ChoiceBox::initialize_items(), NDK_XX::CheckListBox::initialize_items(), NDK_XX::SelectionBox::initialize_items(), and ListBox(). |
|
|
Definition at line 1188 of file ndk++.h. Referenced by NDK_XX::ExitCmd::action(), NDK_XX::MenuBar::get_next_item_y(), NDK_XX::ChoiceBox::initialize_items(), NDK_XX::CheckListBox::initialize_items(), NDK_XX::SelectionBox::initialize_items(), and ListBox(). |
1.2.17