53 #ifdef CHECK_MEMORY_LEAKS
55 #endif // CHECK_MEMORY_LEAKS
77 :
FXMainWindow(parent->getApp(), "List of Selected Items", NULL, NULL, DECOR_ALL, 20, 20, 300, 300),
78 myParent(parent), myStorage(str) {
79 myStorage->add2Update(
this);
84 myList =
new FXList(hbox, 0, 0,
85 LAYOUT_FILL_X | LAYOUT_FILL_Y | LIST_MULTIPLESELECT);
88 FXVerticalFrame* layout =
new FXVerticalFrame(hbox, LAYOUT_TOP, 0, 0, 0, 0,
92 ICON_BEFORE_TEXT | LAYOUT_FILL_X | FRAME_THICK | FRAME_RAISED,
93 0, 0, 0, 0, 4, 4, 3, 3);
96 ICON_BEFORE_TEXT | LAYOUT_FILL_X | FRAME_THICK | FRAME_RAISED,
97 0, 0, 0, 0, 4, 4, 3, 3);
99 new FXHorizontalSeparator(layout, SEPARATOR_GROOVE | LAYOUT_FILL_X);
103 ICON_BEFORE_TEXT | LAYOUT_FILL_X | FRAME_THICK | FRAME_RAISED,
104 0, 0, 0, 0, 4, 4, 3, 3);
107 ICON_BEFORE_TEXT | LAYOUT_FILL_X | FRAME_THICK | FRAME_RAISED,
108 0, 0, 0, 0, 4, 4, 3, 3);
110 new FXHorizontalSeparator(layout, SEPARATOR_GROOVE | LAYOUT_FILL_X);
114 ICON_BEFORE_TEXT | LAYOUT_FILL_X | FRAME_THICK | FRAME_RAISED,
115 0, 0, 0, 0, 4, 4, 3, 3);
117 myParent->addChild(
this);
131 for (std::set<GUIGlID>::const_iterator i = chosen.begin(); i != chosen.end(); ++i) {
135 FXListItem* item =
myList->getItem(
myList->appendItem(name.c_str()));
136 item->setData(
object);
146 FXMainWindow::update();
153 FXFileDialog opendialog(
this,
"Open List of Selected Items");
155 opendialog.setSelectMode(SELECTFILE_EXISTING);
156 opendialog.setPatternList(
"*.txt");
160 if (opendialog.execute()) {
162 std::string file = opendialog.getFilename().text();
165 FXMessageBox::error(
this, MBOX_OK,
"Errors while loading Selection",
"%s", msg.c_str());
182 FXMessageBox::error(
this, MBOX_OK,
"Storing failed!",
"%s", e.what());
190 FXint no =
myList->getNumItems();
192 std::vector<GUIGlID> selected;
193 for (i = 0; i < no; ++i) {
194 if (
myList->getItem(i)->isSelected()) {
195 selected.push_back(static_cast<GUIGlObject*>(
myList->getItem(i)->getData())->getGlID());
199 for (i = 0; i < (FXint) selected.size(); ++i) {