1 #include "bclistboxitem.h"
3 #include "bcresources.h"
4 #include "bcwindowbase.h"
9 // ====================================================== item
11 BC_ListBoxItem::BC_ListBoxItem()
15 color = BC_WindowBase::get_resources()->listbox_text;
16 this->text = new char[1];
21 BC_ListBoxItem::BC_ListBoxItem(char *text,
27 if(color == -1) color = BC_WindowBase::get_resources()->listbox_text;
28 this->text = new char[strlen(text) + 1];
31 strcpy(this->text, text);
36 BC_ListBoxItem::BC_ListBoxItem(char *text, int color)
40 if(color == -1) color = BC_WindowBase::get_resources()->listbox_text;
41 this->text = new char[strlen(text) + 1];
42 strcpy(this->text, text);
47 BC_ListBoxItem::~BC_ListBoxItem()
49 if(text) delete [] text;
52 for(int i = 0; i < columns; i++)
53 sublist[i].remove_all_objects();
58 int BC_ListBoxItem::initialize()
78 int BC_ListBoxItem::get_icon_x()
83 int BC_ListBoxItem::get_icon_y()
88 int BC_ListBoxItem::get_text_x()
93 int BC_ListBoxItem::get_text_y()
98 int BC_ListBoxItem::set_autoplace_icon(int value)
100 autoplace_icon = value;
104 int BC_ListBoxItem::set_autoplace_text(int value)
106 autoplace_text = value;
110 void BC_ListBoxItem::set_icon_x(int x)
116 void BC_ListBoxItem::set_icon_y(int y)
122 void BC_ListBoxItem::set_selected(int value)
124 this->selected = value;
127 void BC_ListBoxItem::set_searchable(int value)
129 this->searchable = value;
132 void BC_ListBoxItem::set_selectable(int value)
134 this->selectable = value;
137 int BC_ListBoxItem::get_selectable()
144 void BC_ListBoxItem::set_text_x(int x)
149 void BC_ListBoxItem::set_text_y(int y)
155 int BC_ListBoxItem::get_icon_w()
157 return icon->get_w();
160 int BC_ListBoxItem::get_icon_h()
162 return icon->get_h();
165 void BC_ListBoxItem::set_text(char *new_text)
167 if(this->text) delete [] this->text;
172 this->text = new char[strlen(new_text) + 1];
173 strcpy(this->text, new_text);
177 char* BC_ListBoxItem::get_text()
182 void BC_ListBoxItem::set_icon(BC_Pixmap *icon)
187 void BC_ListBoxItem::set_icon_vframe(VFrame *icon_vframe)
189 this->icon_vframe = icon_vframe;
192 void BC_ListBoxItem::set_color(int color)
197 int BC_ListBoxItem::get_color()
203 BC_ListBoxItem& BC_ListBoxItem::operator=(BC_ListBoxItem& item)
209 void BC_ListBoxItem::copy_from(BC_ListBoxItem *item)
211 if(item->text) set_text(item->text);
213 text_x = item->text_x;
214 text_y = item->text_y;
215 icon_x = item->icon_x;
216 icon_y = item->icon_y;
217 selectable = item->selectable;
218 columns = item->columns;
221 sublist = new ArrayList<BC_ListBoxItem*>[columns];
222 for(int i = 0; i < columns; i++)
224 ArrayList<BC_ListBoxItem*> *list = &item->get_sublist()[i];
226 for(int j = 0; j < list->total; j++)
228 BC_ListBoxItem *new_item = new BC_ListBoxItem;
229 BC_ListBoxItem *old_item = list->values[j];
230 sublist[i].append(new_item);
231 new_item->copy_from(old_item);
237 ArrayList<BC_ListBoxItem*>* BC_ListBoxItem::new_sublist(int columns)
239 sublist = new ArrayList<BC_ListBoxItem*>[columns];
240 this->columns = columns;
244 ArrayList<BC_ListBoxItem*>* BC_ListBoxItem::get_sublist()
249 int BC_ListBoxItem::get_columns()
254 int BC_ListBoxItem::get_expand()
259 void BC_ListBoxItem::set_expand(int value)