+2000-09-14 Juergen Vigna <jug@sad.it>
+
+ * src/frontends/xforms/FormDocument.C (ComboInputCB): fixed the
+ callback to check which combo called it and do the right action.
+
+ * src/combox.C (combo_cb): added combo * to the callbacks.
+ (Hide): moved call of callback after Ungrab of the pointer.
+
+ * src/intl.h: removed LCombo2 function.
+
+ * src/intl.C (LCombo): added Combox * to call and removed LCombo2
+ function as this can now be handled in one function.
+
+ * src/combox.h: added Combox * to callback prototype.
+
+ * src/frontends/xforms/Toolbar_pimpl.C:
+ * src/lyx_cb.C (LayoutsCB): added Combox * to function call.
+
2000-09-14 Garst Reese <reese@isn.net>
* lib/tex/hollywood.cls changed length of parenthicals to 1.5in
else
fl_set_object_label(label,
fl_get_browser_line(browser, sel));
- if (callback) callback(sel, cb_arg);
+// if (callback) callback(sel, cb_arg);
}
XUngrabPointer(fl_display, 0);
XFlush(fl_display);
+ if (!who && browser && label && callback)
+ callback(sel, cb_arg, this);
if (form) {
fl_hide_form(form);
XSetInputFocus(fl_display, save_window,
combo->select(--i);
if (combo->callback)
combo->callback(combo->sel,
- combo->cb_arg);
+ combo->cb_arg, combo);
break;
}
case 3:
combo->select(++i);
if (combo->callback)
combo->callback(combo->sel,
- combo->cb_arg);
+ combo->cb_arg, combo);
break;
}
default: combo->Show(); break;
FL_COMBOX_INPUT
};
+class Combox;
+
/// callback prototype
-typedef void (*FL_COMBO_CB) (int, void *);
+typedef void (*FL_COMBO_CB) (int, void *, Combox *);
/// pre post prototype
typedef void (*FL_COMBO_PRE_POST) ();
fl_addto_choice(class_->choice_doc_spacing,
_(" Single | OneHalf | Double | Other "));
fl_addto_choice(class_->choice_doc_fontsize, "default|10|11|12");
- for (n=0; tex_fonts[n][0]; ++n) {
+ for (n=0; tex_fonts[n][0]; ++n) {
fl_addto_choice(class_->choice_doc_fonts,tex_fonts[n]);
}
fl_addto_choice(class_->choice_doc_pagestyle,
pre->bc_->valid(pre->CheckDocumentInput(ob,0));
}
-void FormDocument::ComboInputCB(int, void * v)
+void FormDocument::ComboInputCB(int, void * v, Combox * combox)
{
FormDocument * pre = static_cast<FormDocument*>(v);
-// pre->CheckChoiceClass(0, 0);
+ if (combox == pre->combo_doc_class)
+ pre->CheckChoiceClass(0, 0);
pre->bc_->valid(pre->CheckDocumentInput(0,0));
}
///
static void InputCB(FL_OBJECT *, long);
///
- static void ComboInputCB(int, void *);
+ static void ComboInputCB(int, void *, Combox *);
///
static void ChoiceClassCB(FL_OBJECT *, long);
///
using std::endl;
// this one is not "C" because combox callbacks are really C++ %-|
-extern void LayoutsCB(int, void *);
+extern void LayoutsCB(int, void *, Combox *);
extern char const ** get_pixmap_from_symbol(char const * arg, int, int);
extern LyXAction lyxaction;
}
}
-
-void Intl::LCombo(int, void * v)
-{
- Intl * itl = static_cast<Intl*>(v);
- itl->Keymap(23);
- return;
-}
-
-
-void Intl::LCombo2(int, void * v)
+void Intl::LCombo(int, void * v, Combox * combox)
{
Intl * itl = static_cast<Intl*>(v);
- itl->Keymap(43);
+ if (combox == itl->Language)
+ itl->Keymap(23);
+ else if (combox == itl->Language2)
+ itl->Keymap(43);
return;
}
-
void Intl::DispatchCallback(FL_OBJECT * ob, long code)
{
if (ob && (code == 0)) {
Language = new Combox(FL_COMBOX_DROPLIST);
Language2 = new Combox(FL_COMBOX_DROPLIST);
Language->setcallback(LCombo, this);
- Language2->setcallback(LCombo2, this);
+ Language2->setcallback(LCombo, this);
fd_form_keymap = create_form_KeyMap();
///
void update();
///
- static void LCombo(int i, void *); // callback
- ///
- static void LCombo2(int i, void *); // callback
+ static void LCombo(int i, void *, Combox *); // callback
///
void Keymap(long code);
///
// candidate for move to LyXView
// This is only used in toolbar.C
-void LayoutsCB(int sel, void *)
+void LayoutsCB(int sel, void *, Combox *)
{
string tmp = tostr(sel);
current_view->owner()->getLyXFunc()->Dispatch(LFUN_LAYOUTNO,