close_window();
}
-void LabelEdit::start(Label *label)
+void LabelEdit::start(Label *label, int x, int y)
{
this->label = label;
+ this->x = x; this->y = y;
+
BC_DialogThread::start();
}
void LabelEdit::handle_done_event(int result)
{
- awindow->gui->async_update_assets();
+ if( !result ) {
+ strcpy(label->textstr, label_edit_window->textbox->get_text());
+ awindow->gui->async_update_assets();
+ }
}
BC_Window *LabelEdit::new_gui()
{
- int x = mwindow->gui->get_abs_cursor_x(1) - 400 / 2;
- int y = mwindow->gui->get_abs_cursor_y(1) - 350 / 2;
- label_edit_window = new LabelEditWindow(mwindow, this, x, y);
+ label_edit_window = new LabelEditWindow(mwindow, this);
label_edit_window->create_objects();
return label_edit_window;
}
-LabelEditWindow::LabelEditWindow(MWindow *mwindow, LabelEdit *thread, int x, int y)
- : BC_Window(_(PROGRAM_NAME ": Label Info"), x, y,
+LabelEditWindow::LabelEditWindow(MWindow *mwindow, LabelEdit *thread)
+ : BC_Window(_(PROGRAM_NAME ": Label Info"),
+ thread->x - 400/2, thread->y - 350/2,
400, 350, 400, 430, 0, 0, 1)
{
this->mwindow = mwindow;
void LabelEditWindow::create_objects()
{
+ lock_window("LabelEditWindow::create_objects");
this->label = thread->label;
int x = 10, y = 10;
int x1 = x;
- BC_TextBox *textbox;
BC_Title *title;
add_subwindow(title = new BC_Title(x1, y, _("Label Text:")));
add_subwindow(new BC_CancelButton(this));
show_window();
textbox->activate();
+ unlock_window();
}
LabelEditComments::LabelEditComments(LabelEditWindow *window, int x, int y, int w, int rows)
int LabelEditComments::handle_event()
{
- strcpy(window->label->textstr, get_text());
return 1;
}