47 #ifdef CHECK_MEMORY_LEAKS
49 #endif // CHECK_MEMORY_LEAKS
71 :
FXMainWindow(parent->getApp(), "List of Selected Items", NULL, NULL, DECOR_ALL, 20, 20, 300, 300),
72 myParent(parent), myStorage(str) {
73 myStorage->add2Update(
this);
78 myList =
new FXList(hbox, 0, 0,
79 LAYOUT_FILL_X | LAYOUT_FILL_Y | LIST_MULTIPLESELECT);
82 FXVerticalFrame* layout =
new FXVerticalFrame(hbox, LAYOUT_TOP, 0, 0, 0, 0,
86 ICON_BEFORE_TEXT | LAYOUT_FILL_X | FRAME_THICK | FRAME_RAISED,
87 0, 0, 0, 0, 4, 4, 3, 3);
90 ICON_BEFORE_TEXT | LAYOUT_FILL_X | FRAME_THICK | FRAME_RAISED,
91 0, 0, 0, 0, 4, 4, 3, 3);
93 new FXHorizontalSeparator(layout, SEPARATOR_GROOVE | LAYOUT_FILL_X);
97 ICON_BEFORE_TEXT | LAYOUT_FILL_X | FRAME_THICK | FRAME_RAISED,
98 0, 0, 0, 0, 4, 4, 3, 3);
101 ICON_BEFORE_TEXT | LAYOUT_FILL_X | FRAME_THICK | FRAME_RAISED,
102 0, 0, 0, 0, 4, 4, 3, 3);
104 new FXHorizontalSeparator(layout, SEPARATOR_GROOVE | LAYOUT_FILL_X);
108 ICON_BEFORE_TEXT | LAYOUT_FILL_X | FRAME_THICK | FRAME_RAISED,
109 0, 0, 0, 0, 4, 4, 3, 3);
111 myParent->addChild(
this);
125 for (std::set<GUIGlID>::const_iterator i = chosen.begin(); i != chosen.end(); ++i) {
129 FXListItem* item =
myList->getItem(
myList->appendItem(name.c_str()));
130 item->setData(
object);
140 FXMainWindow::update();
147 FXFileDialog opendialog(
this,
"Open List of Selected Items");
149 opendialog.setSelectMode(SELECTFILE_EXISTING);
150 opendialog.setPatternList(
"*.txt");
154 if (opendialog.execute()) {
156 std::string file = opendialog.getFilename().text();
159 FXMessageBox::error(
this, MBOX_OK,
"Errors while loading Selection",
"%s", msg.c_str());
176 FXMessageBox::error(
this, MBOX_OK,
"Storing failed!",
"%s", e.what());
184 FXint no =
myList->getNumItems();
186 std::vector<GUIGlID> selected;
187 for (i = 0; i < no; ++i) {
188 if (
myList->getItem(i)->isSelected()) {
189 selected.push_back(static_cast<GUIGlObject*>(
myList->getItem(i)->getData())->getGlID());
193 for (i = 0; i < (FXint) selected.size(); ++i) {