+2000-10-30 Rob Lahaye <lahaye@postech.edu>
+
+ * lyx.man: fix typo.
+
+2000-10-29 Marko Vendelin <markov@ioc.ee>
+ * src/frontends/gnome/FormCitation.C
+ * src/frontends/gnome/FormCitation.h
+ * src/frontends/gnome/FormCopyright.C
+ * src/frontends/gnome/FormCopyright.h
+ * src/frontends/gnome/FormError.C
+ * src/frontends/gnome/FormError.h
+ * src/frontends/gnome/FormIndex.C
+ * src/frontends/gnome/FormIndex.h
+ * src/frontends/gnome/FormPrint.C
+ * src/frontends/gnome/FormPrint.h
+ * src/frontends/gnome/FormRef.C
+ * src/frontends/gnome/FormRef.h
+ * src/frontends/gnome/FormToc.C
+ * src/frontends/gnome/FormToc.h
+ * src/frontends/gnome/FormUrl.C
+ * src/frontends/gnome/FormUrl.h
+ * src/frontends/gnome/Menubar_pimpl.C
+ * src/frontends/gnome/mainapp.C
+ * src/frontends/gnome/mainapp.h
+ * src/frontends/gnome/pixbutton.h: replacing NULL with 0 and
+ changing update() to updateSlot() where appropriate
+
+2000-10-27 Angus Leeming <a.leeming@ic.ac.uk>
+
+ * src/frontends/xforms/FormPreferences.[Ch]:
+ * src/frontends/xforms/forms/form_preferences.fd: added a Languagues
+ tab.
+
2000-10-28 Juergen Vigna <jug@sad.it>
* src/insets/insettabular.C (draw): fixed drawing bug.
* src/mathed/formula.C (mathed_string_width): Use string instead
of a constant size char array.
-
+
2000-10-25 Lars Gullik Bjønnes <larsbj@lyx.org>
* src/frontends/ButtonPolicies.h: remove the LOstream and remove
settings.
.TP
.BI \-geometry " WxH+X+Y"
-specifies the preferred size and position of the main \fBLyX\fR window; see \fIX
-(1)\fR.
+specifies the preferred size and position of the main \fBLyX\fR window; see \fIX(1)\fR.
.TP
.BI \-dbg " feature[,feature...]"
where feature is a name or number.
void FormCitation::showInset( InsetCommand * const inset )
{
- if( dialog_!=NULL || inset == 0 ) return;
+ if( dialog_!=0 || inset == 0 ) return;
inset_ = inset;
ih_ = inset_->hide.connect(slot(this, &FormCitation::hide));
- u_ = d_->updateBufferDependent.connect(slot(this, &FormCitation::update));
+ u_ = d_->updateBufferDependent.connect(slot(this, &FormCitation::updateSlot));
h_ = d_->hideBufferDependent.connect(slot(this, &FormCitation::hide));
params = inset->params();
void FormCitation::createInset( string const & arg )
{
- if( dialog_!=NULL ) return;
+ if( dialog_!=0 ) return;
- u_ = d_->updateBufferDependent.connect(slot(this, &FormCitation::update));
+ u_ = d_->updateBufferDependent.connect(slot(this, &FormCitation::updateSlot));
h_ = d_->hideBufferDependent.connect(slot(this, &FormCitation::hide));
params.setFromString( arg );
void FormCitation::cleanupWidgets()
{
- dialog_ = NULL;
- b_ok = NULL;
- b_cancel = NULL;
- search_text_ = NULL;
- info_ = NULL;
- text_after_ = NULL;
- button_unselect_ = NULL;
- button_up_ = NULL;
- button_down_ = NULL;
- button_regexp_ = NULL;
- clist_selected_ = NULL;
- clist_bib_ = NULL;
- paned_info_ = NULL;
+ dialog_ = 0;
+ b_ok = 0;
+ b_cancel = 0;
+ search_text_ = 0;
+ info_ = 0;
+ text_after_ = 0;
+ button_unselect_ = 0;
+ button_up_ = 0;
+ button_down_ = 0;
+ button_regexp_ = 0;
+ clist_selected_ = 0;
+ clist_bib_ = 0;
+ paned_info_ = 0;
}
{
string const path = PACKAGE "/" + LOCAL_CONFIGURE_PREFIX;
- if (search_text_ != NULL)
+ if (search_text_ != 0)
{
search_text_->set_history_id(CONF_SEARCH);
search_text_->set_max_saved(10);
search_text_->set_use_arrows_always(true);
}
- if (text_after_ != NULL )
+ if (text_after_ != 0 )
{
text_after_->set_history_id(CONF_TEXTAFTER);
text_after_->set_max_saved(10);
text_after_->get_entry()->set_text(params.getOptions());
}
- if (button_regexp_ != NULL)
+ if (button_regexp_ != 0)
{
string w = path + "/" + CONF_REGEXP + CONF_REGEXP_DEFAULT;
button_regexp_->set_active( (gnome_config_get_int(w.c_str()) > 0) );
}
- if (paned_info_ != NULL)
+ if (paned_info_ != 0)
{
string w = path + "/" + CONF_PANE_INFO + CONF_PANE_INFO_DEFAULT;
paned_info_->set_position( gnome_config_get_int(w.c_str()) );
}
- if (clist_bib_ != NULL)
+ if (clist_bib_ != 0)
{
// preferences
clist_bib_->column(0).set_visiblity(false);
if (clist_bib_->rows().size() > 0)
{
clist_bib_->rows()[0].select();
- selectionToggled(0, 0, NULL, true, false);
+ selectionToggled(0, 0, 0, true, false);
}
}
- if (clist_selected_ != NULL)
+ if (clist_selected_ != 0)
{
clist_selected_->set_selection_mode(GTK_SELECTION_BROWSE);
if (clist_selected_->rows().size() > 0)
{
clist_selected_->rows()[0].select();
- selectionToggled(0, 0, NULL, true, true);
+ selectionToggled(0, 0, 0, true, true);
}
}
{
string const path = PACKAGE "/" + LOCAL_CONFIGURE_PREFIX;
- if (search_text_ != NULL) search_text_->save_history();
+ if (search_text_ != 0) search_text_->save_history();
- if (text_after_ != NULL) text_after_->save_history();
+ if (text_after_ != 0) text_after_->save_history();
- if (button_regexp_ != NULL)
+ if (button_regexp_ != 0)
{
string w = path + "/" + CONF_REGEXP;
gnome_config_set_int(w.c_str(), button_regexp_->get_active());
}
- if (paned_info_ != NULL)
+ if (paned_info_ != 0)
{
string w = path + "/" + CONF_PANE_INFO;
gnome_config_set_int(w.c_str(), paned_info_->width() - info_->width());
}
- if (clist_bib_ != NULL)
+ if (clist_bib_ != 0)
{
string w;
int const sz = clist_bib_->columns().size();
void FormCitation::updateButtons()
{
- if (button_unselect_ != NULL) // => button_up_ and button_down_ are != NULL
+ if (button_unselect_ != 0) // => button_up_ and button_down_ are != 0
{
bool sens;
}
-void FormCitation::update(bool buffchanged)
+void FormCitation::updateSlot(bool buffchanged)
{
if (buffchanged) hide();
}
void FormCitation::hide()
{
- if (dialog_!=NULL) mainAppWin->remove_action();
+ if (dialog_!=0) mainAppWin->remove_action();
}
void FormCitation::free()
{
- if (dialog_!=NULL)
+ if (dialog_!=0)
{
// cleaning up
cleanupWidgets();
/// Slot launching dialog to an existing inset
void showInset( InsetCommand * const );
- virtual void update(bool = false);
+ virtual void update() { }
+ virtual void updateSlot(bool = false);
/// The following two methods do nothing in this implementation
virtual void apply() { }
void show() { }
/// adds item to clist_bib_
void addItemToBibList(int i);
- /// sets all widget pointers to NULL
+ /// sets all widget pointers to 0
void cleanupWidgets();
- /// initializes all non-NULL member widgets
+ /// initializes all non-0 member widgets
void initWidgets();
- /// stores configuration of all non-NULL member widgets
+ /// stores configuration of all non-0 member widgets
void storeWidgets();
/** Which LyXFunc do we use?
#include "FormCopyright.h"
FormCopyright::FormCopyright(LyXView * lv, Dialogs * d)
- : dialog_(NULL), lv_(lv), d_(d), h_(0)
+ : dialog_(0), lv_(lv), d_(d), h_(0)
{
// let the dialog be shown
// This is a permanent connection so we won't bother
FormCopyright::~FormCopyright()
{
- if (dialog_!=NULL) hide();
+ if (dialog_!=0) hide();
}
void FormCopyright::show()
{
- if(dialog_!=NULL) { // "About" box hasn't been closed, so just raise it
+ if(dialog_!=0) { // "About" box hasn't been closed, so just raise it
Gdk_Window dialog_win(dialog_->get_window());
dialog_win.show();
dialog_win.raise();
}
else { // create new "About" dialog box
- vector<string> authors; //null. Authors are not listed in LyX copyright dialogbox.
+ vector<string> authors; //0. Authors are not listed in LyX copyright dialogbox.
dialog_ = new Gnome::About(PACKAGE, VERSION,
_("(C) 1995 by Matthias Ettrich, \n1995-2000 LyX Team"),
authors,
_("This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.\nLyX is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA."),
- NULL);
+ 0);
// it should be disconnected before deleting dialog_ in FormCopyright::hide()
destroy_ = dialog_->destroy.connect(slot(this, &FormCopyright::hide));
void FormCopyright::hide()
{
- if (dialog_!=NULL) {
+ if (dialog_!=0) {
dialog_->hide();
h_.disconnect();
destroy_.disconnect();
delete dialog_;
- dialog_ = NULL;
+ dialog_ = 0;
}
}
/// Hide the dialog.
void hide();
/// Not used but we've got to implement it.
- void update(bool) {}
+ void update() {}
/// Real GUI implementation.
Gnome::About * dialog_;
FormError::FormError(LyXView * lv, Dialogs * d)
- : lv_(lv), d_(d), inset_(0), u_(0), h_(0), ih_(0), dialog_(NULL)
+ : lv_(lv), d_(d), inset_(0), u_(0), h_(0), ih_(0), dialog_(0)
{
// let the dialog be shown
// These are permanent connections so we won't bother
void FormError::showInset( InsetError * const inset )
{
- if( dialog_!=NULL || inset == 0 ) return;
+ if( dialog_!=0 || inset == 0 ) return;
inset_ = inset;
ih_ = inset_->hide.connect(slot(this, &FormError::hide));
b_close->clicked.connect(slot(mainAppWin, &GLyxAppWin::remove_action));
dialog_->destroy.connect(slot(this, &FormError::free));
- u_ = d_->updateBufferDependent.connect(slot(this, &FormError::update));
+ u_ = d_->updateBufferDependent.connect(slot(this, &FormError::updateSlot));
h_ = d_->hideBufferDependent.connect(slot(this, &FormError::hide));
}
}
-void FormError::update(bool buffchanged)
+void FormError::updateSlot(bool buffchanged)
{
if (buffchanged) hide();
}
void FormError::hide()
{
- if (dialog_!=NULL) mainAppWin->remove_action();
+ if (dialog_!=0) mainAppWin->remove_action();
}
void FormError::free()
{
- if (dialog_!=NULL)
+ if (dialog_!=0)
{
- dialog_ = NULL;
+ dialog_ = 0;
u_.disconnect();
h_.disconnect();
inset_ = 0;
void showInset( InsetError * const );
/// Update dialog before showing it
- virtual void update(bool = false);
+ virtual void update() { }
+ virtual void updateSlot(bool = false);
/// Apply from dialog (modify or create inset)
virtual void apply();
/// Explicitly free the dialog.
static string const CONF_ENTRY("FormIndex_entry");
FormIndex::FormIndex(LyXView * lv, Dialogs * d)
- : lv_(lv), d_(d), inset_(0), u_(0), h_(0), ih_(0), dialog_(NULL)
+ : lv_(lv), d_(d), inset_(0), u_(0), h_(0), ih_(0), dialog_(0)
{
// let the dialog be shown
// These are permanent connections so we won't bother
void FormIndex::showInset( InsetCommand * const inset )
{
- if( dialog_!=NULL || inset == 0 ) return;
+ if( dialog_!=0 || inset == 0 ) return;
inset_ = inset;
ih_ = inset_->hide.connect(slot(this, &FormIndex::hide));
void FormIndex::createInset( string const & arg )
{
- if( dialog_!=NULL ) return;
+ if( dialog_!=0 ) return;
params.setFromString( arg );
show();
dialog_->destroy.connect(slot(this, &FormIndex::free));
- u_ = d_->updateBufferDependent.connect(slot(this, &FormIndex::update));
+ u_ = d_->updateBufferDependent.connect(slot(this, &FormIndex::updateSlot));
h_ = d_->hideBufferDependent.connect(slot(this, &FormIndex::hide));
- update(); // make sure its up-to-date
+ updateSlot(); // make sure its up-to-date
}
}
-void FormIndex::update(bool switched)
+void FormIndex::updateSlot(bool switched)
{
if (switched)
{
return;
}
- if (dialog_ != NULL &&
+ if (dialog_ != 0 &&
lv_->view()->available())
{
keyword_->get_entry()->set_text(params.getContents().c_str());
void FormIndex::hide()
{
- if (dialog_!=NULL) mainAppWin->remove_action();
+ if (dialog_!=0) mainAppWin->remove_action();
}
void FormIndex::free()
{
- if (dialog_!=NULL)
+ if (dialog_!=0)
{
- dialog_ = NULL;
+ dialog_ = 0;
u_.disconnect();
h_.disconnect();
inset_ = 0;
void showInset( InsetCommand * const );
/// Update dialog before showing it
- virtual void update(bool = false);
+ virtual void update() { }
+ virtual void updateSlot(bool = false);
/// Apply from dialog (modify or create inset)
virtual void apply();
/// Explicitly free the dialog.
#endif
FormPrint::FormPrint(LyXView * lv, Dialogs * d)
- : dialog_(NULL), lv_(lv), d_(d), u_(0), h_(0)
+ : dialog_(0), lv_(lv), d_(d), u_(0), h_(0)
{
// let the dialog be shown
// This is a permanent connection so we won't bother
dialog_->destroy.connect(slot(this, &FormPrint::free));
u_ = d_->updateBufferDependent.connect(slot(this,
- &FormPrint::update));
+ &FormPrint::updateSlot));
h_ = d_->hideBufferDependent.connect(dialog_->destroy.slot());
if (!dialog_->is_visible()) dialog_->show_all();
- update(); // make sure its up-to-date
+ updateSlot(); // make sure its up-to-date
}
else
{
void FormPrint::hide()
{
- if (dialog_!=NULL) dialog_->destroy();
+ if (dialog_!=0) dialog_->destroy();
}
void FormPrint::free()
{
- if (dialog_!=NULL)
+ if (dialog_!=0)
{
- dialog_ = NULL;
+ dialog_ = 0;
u_.disconnect();
h_.disconnect();
}
// we can safely ignore the parameter because we can always update
-void FormPrint::update(bool)
+void FormPrint::updateSlot(bool)
{
- if (dialog_ != NULL &&
+ if (dialog_ != 0 &&
lv_->view()->available())
{
PrinterParams pp(getPrinterParams(lv_->buffer()));
/// Hide the dialog.
void hide();
/// Update the dialog.
- void update(bool = false);
+ void update() { }
+ void updateSlot(bool = false);
/// Free memory
void free();
//@}
static string const GOTO_BACK_LABEL(N_("Go back"));
FormRef::FormRef(LyXView * lv, Dialogs * d)
- : lv_(lv), d_(d), inset_(0), u_(0), h_(0), ih_(0), dialog_(NULL)
+ : lv_(lv), d_(d), inset_(0), u_(0), h_(0), ih_(0), dialog_(0)
{
// let the dialog be shown
// These are permanent connections so we won't bother
void FormRef::showInset( InsetCommand * const inset )
{
- if( dialog_!=NULL || inset == 0 ) return;
+ if( dialog_!=0 || inset == 0 ) return;
inset_ = inset;
ih_ = inset_->hide.connect(slot(this, &FormRef::hide));
void FormRef::createInset( string const & arg )
{
- if( dialog_!=NULL ) return;
+ if( dialog_!=0 ) return;
acttype_ = INSERT;
b_cancel->clicked.connect(slot(mainAppWin, &GLyxAppWin::remove_action));
dialog_->destroy.connect(slot(this, &FormRef::free));
- u_ = d_->updateBufferDependent.connect(slot(this, &FormRef::update));
+ u_ = d_->updateBufferDependent.connect(slot(this, &FormRef::updateSlot));
h_ = d_->hideBufferDependent.connect(slot(this, &FormRef::hide));
}
}
dialog_->destroy.connect(slot(this, &FormRef::free));
- u_ = d_->updateBufferDependent.connect(slot(this, &FormRef::update));
+ u_ = d_->updateBufferDependent.connect(slot(this, &FormRef::updateSlot));
h_ = d_->hideBufferDependent.connect(slot(this, &FormRef::hide));
}
}
dialog_->destroy.connect(slot(this, &FormRef::free));
- u_ = d_->updateBufferDependent.connect(slot(this, &FormRef::update));
+ u_ = d_->updateBufferDependent.connect(slot(this, &FormRef::updateSlot));
h_ = d_->hideBufferDependent.connect(slot(this, &FormRef::hide));
}
}
-void FormRef::update(bool buffchanged)
+void FormRef::updateSlot(bool buffchanged)
{
if (buffchanged) hide();
}
void FormRef::hide()
{
- if (dialog_!=NULL) mainAppWin->remove_action();
+ if (dialog_!=0) mainAppWin->remove_action();
}
void FormRef::free()
{
- if (dialog_!=NULL)
+ if (dialog_!=0)
{
- dialog_ = NULL;
+ dialog_ = 0;
u_.disconnect();
h_.disconnect();
inset_ = 0;
void showInset( InsetCommand * const );
/// Update dialog before showing it (not used in this implementation)
- virtual void update(bool = false);
+ virtual void update() { }
+ virtual void updateSlot(bool = false);
/// Apply from dialog (modify or create inset)
virtual void apply();
/// Explicitly free the dialog.
using SigC::bind;
FormToc::FormToc(LyXView * lv, Dialogs * d)
- : lv_(lv), d_(d), inset_(0), u_(0), h_(0), ih_(0), dialog_(NULL), ignore_callback_(false)
+ : lv_(lv), d_(d), inset_(0), u_(0), h_(0), ih_(0), dialog_(0), ignore_callback_(false)
{
// let the dialog be shown
// These are permanent connections so we won't bother
void FormToc::showInset( InsetCommand * const inset )
{
- if( dialog_!=NULL || inset == 0 ) return;
+ if( dialog_!=0 || inset == 0 ) return;
inset_ = inset;
ih_ = inset_->hide.connect(slot(this, &FormToc::hide));
void FormToc::createInset( string const & arg )
{
- if( dialog_!=NULL ) return;
+ if( dialog_!=0 ) return;
params.setFromString( arg );
show();
b_refresh = Gtk::wrap( GTK_BUTTON( lookup_widget(pd, "button_refresh") ) );
b_close = Gtk::wrap( GTK_BUTTON( lookup_widget(pd, "button_close") ) );
- b_refresh->clicked.connect(bind<bool>(slot(this, &FormToc::update),false));
+ b_refresh->clicked.connect(bind<bool>(slot(this, &FormToc::updateSlot),false));
b_close->clicked.connect(dialog_->destroy.slot());
dialog_->destroy.connect(slot(this, &FormToc::free));
- u_ = d_->updateBufferDependent.connect(slot(this, &FormToc::update));
+ u_ = d_->updateBufferDependent.connect(slot(this, &FormToc::updateSlot));
h_ = d_->hideBufferDependent.connect(slot(this, &FormToc::hide));
if (!dialog_->is_visible()) dialog_->show_all();
- update(); // make sure its up-to-date
+ updateSlot(); // make sure its up-to-date
}
else
{
// we can safely ignore the parameter because we can always update
-void FormToc::update(bool)
+void FormToc::updateSlot(bool)
{
Buffer::TocType type;
string wintitle;
- if (dialog_ != NULL &&
+ if (dialog_ != 0 &&
!lv_->view()->available())
{
wintitle = _( "*** No Document ***");
}
- if (dialog_ != NULL &&
+ if (dialog_ != 0 &&
lv_->view()->available())
{
break;
}
};
- update();
+ updateSlot();
}
}
void FormToc::hide()
{
- if (dialog_!=NULL) dialog_->destroy();
+ if (dialog_!=0) dialog_->destroy();
}
void FormToc::free()
{
- if (dialog_!=NULL)
+ if (dialog_!=0)
{
- dialog_ = NULL;
+ dialog_ = 0;
u_.disconnect();
h_.disconnect();
inset_ = 0;
void showInset( InsetCommand * const );
/// Update dialog before showing it
- virtual void update(bool = false);
+ virtual void update() { }
+ virtual void updateSlot(bool = false);
/// Explicitly free the dialog.
void free();
/// Create the dialog if necessary, update it and display it.
static string const CONF_ENTRY_NAME("FormUrl_name");
FormUrl::FormUrl(LyXView * lv, Dialogs * d)
- : lv_(lv), d_(d), inset_(0), u_(0), h_(0), ih_(0), dialog_(NULL)
+ : lv_(lv), d_(d), inset_(0), u_(0), h_(0), ih_(0), dialog_(0)
{
// let the dialog be shown
// These are permanent connections so we won't bother
void FormUrl::showInset( InsetCommand * const inset )
{
- if( dialog_!=NULL || inset == 0 ) return;
+ if( dialog_!=0 || inset == 0 ) return;
inset_ = inset;
ih_ = inset_->hide.connect(slot(this, &FormUrl::hide));
void FormUrl::createInset( string const & arg )
{
- if( dialog_!=NULL ) return;
+ if( dialog_!=0 ) return;
params.setFromString( arg );
show();
dialog_->destroy.connect(slot(this, &FormUrl::free));
- u_ = d_->updateBufferDependent.connect(slot(this, &FormUrl::update));
+ u_ = d_->updateBufferDependent.connect(slot(this, &FormUrl::updateSlot));
h_ = d_->hideBufferDependent.connect(slot(this, &FormUrl::hide));
- update(); // make sure its up-to-date
+ updateSlot(); // make sure its up-to-date
}
}
-void FormUrl::update(bool switched)
+void FormUrl::updateSlot(bool switched)
{
if (switched)
{
return;
}
- if (dialog_ != NULL &&
+ if (dialog_ != 0 &&
lv_->view()->available())
{
url_->get_entry()->set_text(params.getContents().c_str());
void FormUrl::hide()
{
- if (dialog_!=NULL) mainAppWin->remove_action();
+ if (dialog_!=0) mainAppWin->remove_action();
}
void FormUrl::free()
{
- if (dialog_!=NULL)
+ if (dialog_!=0)
{
- dialog_ = NULL;
+ dialog_ = 0;
u_.disconnect();
h_.disconnect();
inset_ = 0;
void showInset( InsetCommand * const );
/// Update dialog before showing it
- virtual void update(bool = false);
+ virtual void update() { }
+ virtual void updateSlot(bool = false);
/// Apply from dialog (modify or create inset)
virtual void apply();
/// Explicitly free the dialog.
{
if ( ( guinfo->type == GnomeUIInfoType(GNOME_APP_UI_ITEM) ||
guinfo->type == GnomeUIInfoType(GNOME_APP_UI_TOGGLEITEM) ) &&
- guinfo->moreinfo != NULL )
+ guinfo->moreinfo != 0 )
{
- (*((void(*)(void *, void *))(guinfo->moreinfo)))(NULL, guinfo->user_data);
+ (*((void(*)(void *, void *))(guinfo->moreinfo)))(0, guinfo->user_data);
wid_act_.push_back( GtkWidgetToAction( guinfo->widget, action_ ) );
}
else if ( guinfo->type == GnomeUIInfoType(GNOME_APP_UI_SUBTREE) ||
set_statusbar(status_);
- accel_ = NULL;
+ accel_ = 0;
// initial (dummy) menu
vector<Gnome::UI::Info> menus, fm;
// temporary main widget
Gtk::HBox * h = manage( new Gtk::HBox() );
Gnome::Pixmap * p;
- p = Gtk::wrap( GNOME_PIXMAP( gnome_stock_pixmap_widget(NULL, GNOME_STOCK_PIXMAP_ABOUT) ) );
+ p = Gtk::wrap( GNOME_PIXMAP( gnome_stock_pixmap_widget(0, GNOME_STOCK_PIXMAP_ABOUT) ) );
h->children().push_back( Gtk::Box_Helpers::Element( *p ) );
h->children().push_back( *(manage(new Gtk::Label("Waiting for LyXView port"))) );
box_.show_all();
accel_ = acgr;
- if (accel_ != NULL) add_accel_group(*accel_);
+ if (accel_ != 0) add_accel_group(*accel_);
view_->set_sensitive(false);
action_mode = true;
void GLyxAppWin::remove_action()
{
- if (accel_ != NULL)
+ if (accel_ != 0)
{
remove_accel_group(*accel_);
- accel_ = NULL;
+ accel_ = 0;
}
while ( box_.children().size() > 2 )
int noelms,
Gnome::UI::Array &);
/// add action area
- void add_action(Gtk::Container &, string title, bool expand=false, Gtk::AccelGroup * acgr=NULL);
+ void add_action(Gtk::Container &, string title, bool expand=false, Gtk::AccelGroup * acgr=0);
/// remove action area
void remove_action();
/// clears action area if Escape is pressed
{
Gtk::Box * b = manage( new Gtk::HBox() );
l = manage( new Gtk::Label(label) );
- Gnome::Pixmap * p = Gtk::wrap( GNOME_PIXMAP( gnome_stock_pixmap_widget(NULL, pixname.c_str()) ) );
+ Gnome::Pixmap * p = Gtk::wrap( GNOME_PIXMAP( gnome_stock_pixmap_widget(0, pixname.c_str()) ) );
b->set_spacing(3);
b->children().push_back(Gtk::Box_Helpers::Element(*p, false, false));
#pragma implementation
#endif
+#include <vector>
+
#include "FormPreferences.h"
#include "form_preferences.h"
#include "input_validators.h"
#include "LyXView.h"
+#include "language.h"
#include "lyxfunc.h"
#include "Dialogs.h"
#include "lyxrc.h"
using SigC::slot;
#endif
+using std::find;
+using std::vector;
+
+extern Languages languages;
+static vector<string> languageNames;
FormPreferences::FormPreferences(LyXView * lv, Dialogs * d)
: FormBaseBI(lv, d, _("Preferences"), new PreferencesPolicy),
dialog_(0), outputs_tab_(0), look_n_feel_tab_(0), inputs_tab_(0),
- usage_tab_(0), colours_(0), interface_(0), language_(0),
- lnf_misc_(0), outputs_misc_(0), paths_(0), printer_(0),
+ usage_tab_(0), colours_(0), inputs_misc_(0), interface_(0),
+ language_(0), lnf_misc_(0), outputs_misc_(0), paths_(0), printer_(0),
screen_fonts_(0), spellchecker_(0)
{
// let the dialog be shown
delete outputs_tab_;
delete usage_tab_;
delete colours_;
+ delete inputs_misc_;
delete interface_;
delete language_;
delete lnf_misc_;
// build actual tabfolder contents
// these will become nested tabfolders
buildColours();
+ buildInputsMisc();
buildInterface();
buildLanguage();
buildLnFmisc();
fl_addto_tabfolder(inputs_tab_->tabfolder_outer,
_("Paths"),
paths_->form);
+ fl_addto_tabfolder(inputs_tab_->tabfolder_outer,
+ _("Misc"),
+ inputs_misc_->form);
// then building outputs
fl_addto_tabfolder(outputs_tab_->tabfolder_outer,
// like update the screen fonts because that flushes the textcache
// and other stuff which may cost us a lot on slower/high-load machines.
+ applyColours();
+ applyInputsMisc();
applyInterface();
+ applyLanguage();
applyLnFmisc();
applyOutputsMisc();
applyPaths();
if (!dialog_) return;
// read lyxrc entries
+ updateColours();
+ updateInputsMisc();
updateInterface();
+ updateLanguage();
updateLnFmisc();
updateOutputsMisc();
updatePaths();
State cb = static_cast<State>( data );
switch( cb ) {
case COLOURS:
+ feedbackColours( ob );
+ break;
+
+ case INPUTSMISC:
+ feedbackInputsMisc( ob );
break;
case INTERFACE:
break;
case LANGUAGE:
+ feedbackLanguage( ob );
+ if( ! inputLanguage( ob ) )
+ activate = false;
break;
case LOOKNFEELMISC:
}
+void FormPreferences::applyColours()
+{
+}
+
+
void FormPreferences::buildColours()
{
colours_ = build_colours();
}
+void FormPreferences::feedbackColours( FL_OBJECT const * const )
+{
+}
+
+
+void FormPreferences::updateColours()
+{
+}
+
+
+void FormPreferences::applyInputsMisc()
+{
+ lyxrc.date_insert_format = fl_get_input(inputs_misc_->input_date_format);
+}
+
+
+void FormPreferences::buildInputsMisc()
+{
+ inputs_misc_ = build_inputs_misc();
+
+ fl_set_input_return(inputs_misc_->input_date_format,
+ FL_RETURN_CHANGED);
+}
+
+
+void FormPreferences::feedbackInputsMisc( FL_OBJECT const * const ob )
+{
+ string str;
+
+ if( ob == inputs_misc_->input_date_format ) {
+ str = N_("This accepts the normal strftime formats; see man strftime for full details.\nE.g.\"%A, %e. %B %Y\".");
+ }
+
+ fl_set_object_label(dialog_->text_warning, str.c_str());
+ fl_set_object_lsize(dialog_->text_warning, FL_SMALL_SIZE);
+}
+
+
+void FormPreferences::updateInputsMisc()
+{
+ fl_set_input(inputs_misc_->input_date_format,
+ lyxrc.date_insert_format.c_str());
+}
+
+
void FormPreferences::applyInterface()
{
lyxrc.popup_font_name =
}
+void FormPreferences::applyLanguage()
+{
+ vector<string>::size_type choice =
+ fl_get_choice(language_->choice_default_lang) - 1;
+ lyxrc.default_language = languageNames[choice];
+
+ int button = fl_get_button(language_->check_use_kbmap);
+ lyxrc.use_kbmap = static_cast<bool>(button);
+
+ if( button ) {
+ choice = fl_get_choice(language_->choice_kbmap_1) - 1;
+ lyxrc.primary_kbmap = languageNames[choice];
+
+ choice = fl_get_choice(language_->choice_kbmap_2) - 1;
+ lyxrc.secondary_kbmap = languageNames[choice];
+ }
+
+ button = fl_get_button(language_->check_rtl_support);
+ lyxrc.rtl_support = static_cast<bool>(button);
+
+ button = fl_get_button(language_->check_auto_begin);
+ lyxrc.language_auto_begin = static_cast<bool>(button);
+
+ button = fl_get_button(language_->check_auto_end);
+ lyxrc.language_auto_end = static_cast<bool>(button);
+
+ button = fl_get_button(language_->check_mark_foreign);
+ lyxrc.mark_foreign_language = static_cast<bool>(button);
+
+ lyxrc.language_package = fl_get_input(language_->input_package);
+ lyxrc.language_command_begin = fl_get_input(language_->input_command_begin);
+ lyxrc.language_command_end = fl_get_input(language_->input_command_end);
+}
+
+
void FormPreferences::buildLanguage()
{
language_ = build_language();
+
+ fl_set_input_return(language_->input_package, FL_RETURN_CHANGED);
+ fl_set_input_return(language_->input_command_begin, FL_RETURN_CHANGED);
+ fl_set_input_return(language_->input_command_end, FL_RETURN_CHANGED);
+
+ // Only do this the first time buildLanguage() is called.
+ if( languageNames.empty() ) {
+ for( Languages::const_iterator lang = languages.begin();
+ lang != languages.end(); lang++ ) {
+ languageNames.push_back( (*lang).second.lang() );
+ }
+ }
+
+ string names = " " + languageNames.front();
+ for( vector<string>::const_iterator lang = languageNames.begin();
+ lang != languageNames.end(); ++lang ) {
+ names += " | " + (*lang);
+ }
+ names += " ";
+
+ fl_addto_choice(language_->choice_default_lang, names.c_str());
+ fl_addto_choice(language_->choice_kbmap_1, names.c_str());
+ fl_addto_choice(language_->choice_kbmap_2, names.c_str());
+}
+
+
+void FormPreferences::feedbackLanguage( FL_OBJECT const * const ob )
+{
+ string str;
+
+ if( ob == language_->choice_default_lang ) {
+ str = N_("New documents will be assigned this language.");
+ } else if( ob == language_->check_use_kbmap
+ || ob == language_->choice_kbmap_1
+ || ob == language_->choice_kbmap_2 ) {
+ str = N_("Use this to set the correct mapping file for your keyboard.\nYou'll need this if you for instance want to type German documents\non an American keyboard.");
+ } else if( ob == language_->check_rtl_support ) {
+ str = N_("Use to enable support of right-to-left languages (e.g. Hebrew, Arabic).");
+ } else if( ob == language_->check_auto_begin ) {
+ str = N_("Use if a language switching command is needed at the beginning\nof the document.");
+ } else if( ob == language_->check_auto_end ) {
+ str = N_("Use if a language switching command is needed at the end\nof the document.");
+ } else if( ob == language_->check_mark_foreign ) {
+ str = N_("Use to control the highlighting of words with a language foreign to\nthat of the document.");
+ } else if( ob == language_->input_package ) {
+ str = N_("The latex command for loading the language package.\nE.g. \"\\usepackage{babel}\", \"\\usepackage{omega}\".");
+ } else if( ob == language_->input_command_begin ) {
+ str = N_("The latex command for changing from the language of the document\nto another language.\nE.g. \\selectlanguage{$$lang} where $$lang is substituted by the name\nof the second language.");
+ } else if( ob == language_->input_command_end ) {
+ str = N_("The latex command for changing back to the language of the document.");
+ }
+
+ fl_set_object_label(dialog_->text_warning, str.c_str());
+ fl_set_object_lsize(dialog_->text_warning, FL_SMALL_SIZE);
+}
+
+
+bool FormPreferences::inputLanguage( FL_OBJECT const * const ob )
+{
+ bool activate = true;
+
+ if( !ob || ob == language_->check_use_kbmap ) {
+ if( fl_get_button(language_->check_use_kbmap) ) {
+ fl_activate_object(language_->choice_kbmap_1);
+ fl_activate_object(language_->choice_kbmap_2);
+ fl_set_object_lcol(language_->choice_kbmap_1,
+ FL_BLACK);
+ fl_set_object_lcol(language_->choice_kbmap_2,
+ FL_BLACK);
+ } else {
+ fl_deactivate_object(language_->choice_kbmap_1);
+ fl_deactivate_object(language_->choice_kbmap_2);
+ fl_set_object_lcol(language_->choice_kbmap_1,
+ FL_INACTIVE);
+ fl_set_object_lcol(language_->choice_kbmap_2,
+ FL_INACTIVE);
+ }
+ }
+
+ return activate;
+}
+
+
+void FormPreferences::updateLanguage()
+{
+ fl_set_button(language_->check_use_kbmap,
+ lyxrc.use_kbmap);
+
+ vector<string>::iterator it =
+ find( languageNames.begin(), languageNames.end(),
+ lyxrc.default_language );
+ int choice = 0;
+ if( it != languageNames.end() )
+ choice = static_cast<int>( it - languageNames.begin() );
+
+ fl_set_choice(language_->choice_default_lang, choice+1);
+
+ it = find( languageNames.begin(), languageNames.end(),
+ lyxrc.primary_kbmap );
+ choice = 0;
+ if( it != languageNames.end() )
+ choice = static_cast<int>( it - languageNames.begin() );
+
+ fl_set_choice(language_->choice_kbmap_1, choice+1);
+
+ it = find( languageNames.begin(), languageNames.end(),
+ lyxrc.secondary_kbmap );
+ choice = 0;
+ if( it != languageNames.end() )
+ choice = static_cast<int>( it - languageNames.begin() );
+
+ fl_set_choice(language_->choice_kbmap_2, choice+1);
+
+ fl_set_button(language_->check_rtl_support, lyxrc.rtl_support);
+ fl_set_button(language_->check_auto_begin, lyxrc.language_auto_begin);
+ fl_set_button(language_->check_auto_end, lyxrc.language_auto_end);
+ fl_set_button(language_->check_mark_foreign,
+ lyxrc.mark_foreign_language);
+
+ fl_set_input(language_->input_package,
+ lyxrc.language_package.c_str());
+ fl_set_input(language_->input_command_begin,
+ lyxrc.language_command_begin.c_str());
+ fl_set_input(language_->input_command_end,
+ lyxrc.language_command_end.c_str());
+
+ // Activate/Deactivate the input fields dependent on the state of the
+ // buttons.
+ inputLanguage( 0 );
}
int choice =
fl_get_choice(outputs_misc_->choice_default_papersize) - 1;
lyxrc.default_papersize = static_cast<BufferParams::PAPER_SIZE>(choice);
+
+ lyxrc.ascii_roff_command = fl_get_input(outputs_misc_->input_ascii_roff);
+ lyxrc.chktex_command = fl_get_input(outputs_misc_->input_checktex);
}
FL_RETURN_CHANGED);
fl_set_input_return(outputs_misc_->input_tex_encoding,
FL_RETURN_CHANGED);
+ fl_set_input_return(outputs_misc_->input_ascii_roff,
+ FL_RETURN_CHANGED);
+ fl_set_input_return(outputs_misc_->input_checktex,
+ FL_RETURN_CHANGED);
fl_addto_choice(outputs_misc_->choice_default_papersize,
_(" default | US letter | legal | executive | A3 | A4 | A5 | B5 "));
}
str = N_("This is the maximum line length of an exported ASCII file\n(LaTeX, SGML or plain text).");
} else if( ob == outputs_misc_->input_tex_encoding ) {
str = N_("The font encoding used for the LaTeX2e fontenc package.\nT1 is highly recommended for non-English languages.");
+ } else if( ob == outputs_misc_->input_ascii_roff ) {
+ str = N_("Use to define an external program to render tables in the ASCII output.\nE.g. \"groff -t -Tlatin1 $$FName\" where $$FName is the input file.\nIf \"none\" is specified, an internal routine is used.");
+ } else if( ob == outputs_misc_->input_checktex ) {
+ str = N_("Define how to run chktex.\nE.g. \"chktex -n11 -n1 -n3 -n6 -n9 -22 -n25 -n30 -n38\"\nRefer to the ChkTeX documentation.");
} else if( ob == outputs_misc_->choice_default_papersize ) {
str = N_("Specify the default paper size.");
}
-
+
fl_set_object_label(dialog_->text_warning, str.c_str());
fl_set_object_lsize(dialog_->text_warning, FL_SMALL_SIZE);
}
lyxrc.fontenc.c_str());
fl_set_choice(outputs_misc_->choice_default_papersize,
lyxrc.default_papersize+1);
+ fl_set_input(outputs_misc_->input_ascii_roff,
+ lyxrc.ascii_roff_command.c_str());
+ fl_set_input(outputs_misc_->input_checktex,
+ lyxrc.chktex_command.c_str());
}
struct FD_form_printer;
struct FD_form_paths;
struct FD_form_outer_tab;
+struct FD_form_inputs_misc;
struct FD_form_outputs_misc;
struct FD_form_spellchecker;
struct FD_form_language;
///
COLOURS,
///
+ INPUTSMISC,
+ ///
INTERFACE,
///
LANGUAGE,
///
virtual FL_FORM * form() const;
///
+ void applyColours();
+ ///
+ void applyInputsMisc();
+ ///
void applyInterface();
///
+ void applyLanguage();
+ ///
void applyLnFmisc();
///
void applyOutputsMisc();
///
void buildColours();
///
+ void buildInputsMisc();
+ ///
void buildInterface();
///
void buildLanguage();
///
void buildSpellchecker();
///
+ void feedbackColours(FL_OBJECT const * const);
+ ///
+ void feedbackInputsMisc(FL_OBJECT const * const);
+ ///
void feedbackInterface(FL_OBJECT const * const);
///
+ void feedbackLanguage(FL_OBJECT const * const);
+ ///
void feedbackLnFmisc(FL_OBJECT const * const);
///
void feedbackOutputsMisc(FL_OBJECT const * const);
///
void feedbackSpellChecker(FL_OBJECT const * const);
///
+ bool inputLanguage(FL_OBJECT const * const);
+ ///
bool inputPaths(FL_OBJECT const * const);
///
bool inputScreenFonts();
///
bool inputSpellChecker(FL_OBJECT const * const);
///
+ void updateColours();
+ ///
+ void updateInputsMisc();
+ ///
void updateInterface();
///
+ void updateLanguage();
+ ///
void updateLnFmisc();
///
void updateOutputsMisc();
///
FD_form_colours * build_colours();
///
+ FD_form_inputs_misc * build_inputs_misc();
+ ///
FD_form_interface * build_interface();
///
FD_form_language * build_language();
///
FD_form_colours * colours_;
///
+ FD_form_inputs_misc * inputs_misc_;
+ ///
FD_form_interface * interface_;
///
FD_form_language * language_;
fl_set_counter_bounds(obj, 0, 120);
fl_set_counter_value(obj, 75);
fl_set_counter_step(obj, 1, 1);
- fdui->input_tex_encoding = obj = fl_add_input(FL_NORMAL_INPUT, 216, 95, 200, 30, _("TeX encoding"));
+ fdui->input_tex_encoding = obj = fl_add_input(FL_NORMAL_INPUT, 216, 95, 200, 30, idex(_("TeX encoding|#T")));
+ fl_set_button_shortcut(obj, scex(_("TeX encoding|#T")), 1);
fl_set_object_lsize(obj, FL_NORMAL_SIZE);
fl_set_object_callback(obj, C_FormBaseInputCB, OUTPUTSMISC);
- fdui->choice_default_papersize = obj = fl_add_choice(FL_NORMAL_CHOICE, 217, 142, 199, 29, _("Default paper size"));
+ fdui->choice_default_papersize = obj = fl_add_choice(FL_NORMAL_CHOICE, 219, 142, 199, 29, idex(_("Default paper size|#p")));
+ fl_set_button_shortcut(obj, scex(_("Default paper size|#p")), 1);
fl_set_object_boxtype(obj, FL_FRAME_BOX);
+ fl_set_object_lsize(obj, FL_NORMAL_SIZE);
+ fl_set_object_callback(obj, C_FormBaseInputCB, OUTPUTSMISC);
+ fdui->input_ascii_roff = obj = fl_add_input(FL_NORMAL_INPUT, 121, 209, 285, 30, idex(_("ascii roff|#r")));
+ fl_set_button_shortcut(obj, scex(_("ascii roff|#r")), 1);
+ fl_set_object_lsize(obj, FL_NORMAL_SIZE);
fl_set_object_callback(obj, C_FormBaseInputCB, OUTPUTSMISC);
+ fdui->input_checktex = obj = fl_add_input(FL_NORMAL_INPUT, 121, 250, 285, 30, idex(_("checktex|#c")));
+ fl_set_button_shortcut(obj, scex(_("checktex|#c")), 1);
+ fl_set_object_lsize(obj, FL_NORMAL_SIZE);
+ fl_set_object_callback(obj, C_FormBaseInputCB, OUTPUTSMISC);
+ obj = fl_add_labelframe(FL_ENGRAVED_FRAME, 12, 186, 406, 120, _("Outside code interaction"));
+ fl_set_object_lsize(obj, FL_NORMAL_SIZE);
+ fl_set_object_lstyle(obj, FL_BOLD_STYLE);
fl_end_form();
fdui->form->fdui = fdui;
}
/*---------------------------------------*/
+FD_form_inputs_misc::~FD_form_inputs_misc()
+{
+ if( form->visible ) fl_hide_form( form );
+ fl_free_form( form );
+}
+
+
+FD_form_inputs_misc * FormPreferences::build_inputs_misc()
+{
+ FL_OBJECT *obj;
+ FD_form_inputs_misc *fdui = new FD_form_inputs_misc;
+
+ fdui->form = fl_bgn_form(FL_NO_BOX, 450, 360);
+ fdui->form->u_vdata = this;
+ obj = fl_add_box(FL_FLAT_BOX, 0, 0, 450, 360, "");
+ fdui->input_date_format = obj = fl_add_input(FL_NORMAL_INPUT, 120, 70, 285, 30, idex(_("date format|#f")));
+ fl_set_button_shortcut(obj, scex(_("date format|#f")), 1);
+ fl_set_object_lsize(obj, FL_NORMAL_SIZE);
+ fl_set_object_callback(obj, C_FormBaseInputCB, INPUTSMISC);
+ fl_end_form();
+
+ fdui->form->fdui = fdui;
+
+ return fdui;
+}
+/*---------------------------------------*/
+
FD_form_language::~FD_form_language()
{
if( form->visible ) fl_hide_form( form );
fdui->form = fl_bgn_form(FL_NO_BOX, 450, 360);
fdui->form->u_vdata = this;
obj = fl_add_box(FL_FLAT_BOX, 0, 0, 450, 360, "");
+ fdui->check_use_kbmap = obj = fl_add_checkbutton(FL_PUSH_BUTTON, 158, 113, 30, 30, idex(_("Keyboard map|#K")));
+ fl_set_button_shortcut(obj, scex(_("Keyboard map|#K")), 1);
+ fl_set_object_lsize(obj, FL_NORMAL_SIZE);
+ fl_set_object_lalign(obj, FL_ALIGN_LEFT);
+ fl_set_object_callback(obj, C_FormBaseInputCB, LANGUAGE);
+ fdui->choice_kbmap_1 = obj = fl_add_choice(FL_NORMAL_CHOICE, 231, 96, 200, 30, idex(_("1st|#1")));
+ fl_set_button_shortcut(obj, scex(_("1st|#1")), 1);
+ fl_set_object_boxtype(obj, FL_FRAME_BOX);
+ fl_set_object_callback(obj, C_FormBaseInputCB, LANGUAGE);
+ fdui->check_rtl_support = obj = fl_add_checkbutton(FL_PUSH_BUTTON, 154, 161, 30, 30, idex(_("RtL support|#R")));
+ fl_set_button_shortcut(obj, scex(_("RtL support|#R")), 1);
+ fl_set_object_lsize(obj, FL_NORMAL_SIZE);
+ fl_set_object_lalign(obj, FL_ALIGN_LEFT);
+ fl_set_object_callback(obj, C_FormBaseInputCB, LANGUAGE);
+ fdui->check_mark_foreign = obj = fl_add_checkbutton(FL_PUSH_BUTTON, 154, 187, 30, 30, idex(_("Mark foreign|#M")));
+ fl_set_button_shortcut(obj, scex(_("Mark foreign|#M")), 1);
+ fl_set_object_lsize(obj, FL_NORMAL_SIZE);
+ fl_set_object_lalign(obj, FL_ALIGN_LEFT);
+ fl_set_object_callback(obj, C_FormBaseInputCB, LANGUAGE);
+ fdui->check_auto_end = obj = fl_add_checkbutton(FL_PUSH_BUTTON, 362, 187, 30, 30, idex(_("Auto finish|#f")));
+ fl_set_button_shortcut(obj, scex(_("Auto finish|#f")), 1);
+ fl_set_object_lsize(obj, FL_NORMAL_SIZE);
+ fl_set_object_lalign(obj, FL_ALIGN_LEFT);
+ fl_set_object_callback(obj, C_FormBaseInputCB, LANGUAGE);
+ fdui->check_auto_begin = obj = fl_add_checkbutton(FL_PUSH_BUTTON, 362, 161, 30, 30, idex(_("Auto begin|#b")));
+ fl_set_button_shortcut(obj, scex(_("Auto begin|#b")), 1);
+ fl_set_object_lsize(obj, FL_NORMAL_SIZE);
+ fl_set_object_lalign(obj, FL_ALIGN_LEFT);
+ fl_set_object_callback(obj, C_FormBaseInputCB, LANGUAGE);
+ fdui->input_package = obj = fl_add_input(FL_NORMAL_INPUT, 131, 18, 300, 30, idex(_("Package|#P")));
+ fl_set_button_shortcut(obj, scex(_("Package|#P")), 1);
+ fl_set_object_lsize(obj, FL_NORMAL_SIZE);
+ fl_set_object_callback(obj, C_FormBaseInputCB, LANGUAGE);
+ fdui->input_command_begin = obj = fl_add_input(FL_NORMAL_INPUT, 131, 224, 300, 30, idex(_("Command start|#s")));
+ fl_set_button_shortcut(obj, scex(_("Command start|#s")), 1);
+ fl_set_object_lsize(obj, FL_NORMAL_SIZE);
+ fl_set_object_callback(obj, C_FormBaseInputCB, LANGUAGE);
+ fdui->input_command_end = obj = fl_add_input(FL_NORMAL_INPUT, 131, 257, 300, 30, idex(_("Command end|#e")));
+ fl_set_button_shortcut(obj, scex(_("Command end|#e")), 1);
+ fl_set_object_lsize(obj, FL_NORMAL_SIZE);
+ fl_set_object_callback(obj, C_FormBaseInputCB, LANGUAGE);
+ fdui->choice_kbmap_2 = obj = fl_add_choice(FL_NORMAL_CHOICE, 231, 128, 200, 30, idex(_("2nd|#2")));
+ fl_set_button_shortcut(obj, scex(_("2nd|#2")), 1);
+ fl_set_object_boxtype(obj, FL_FRAME_BOX);
+ fl_set_object_callback(obj, C_FormBaseInputCB, LANGUAGE);
+ fdui->choice_default_lang = obj = fl_add_choice(FL_NORMAL_CHOICE, 231, 56, 200, 30, idex(_("Default language|#D")));
+ fl_set_button_shortcut(obj, scex(_("Default language|#D")), 1);
+ fl_set_object_boxtype(obj, FL_FRAME_BOX);
+ fl_set_object_callback(obj, C_FormBaseInputCB, LANGUAGE);
fl_end_form();
fdui->form->fdui = fdui;
extern "C" void C_FormBaseInputCB(FL_OBJECT *, long);
+extern "C" void C_FormBaseInputCB(FL_OBJECT *, long);
+
+extern "C" void C_FormBaseInputCB(FL_OBJECT *, long);
extern "C" void C_FormBaseInputCB(FL_OBJECT *, long);
FL_OBJECT *counter_line_len;
FL_OBJECT *input_tex_encoding;
FL_OBJECT *choice_default_papersize;
+ FL_OBJECT *input_ascii_roff;
+ FL_OBJECT *input_checktex;
};
struct FD_form_spellchecker {
~FD_form_spellchecker();
FL_OBJECT *check_compound_words;
FL_OBJECT *check_input_enc;
};
+struct FD_form_inputs_misc {
+ ~FD_form_inputs_misc();
+
+ FL_FORM *form;
+ FL_OBJECT *input_date_format;
+};
struct FD_form_language {
~FD_form_language();
FL_FORM *form;
+ FL_OBJECT *check_use_kbmap;
+ FL_OBJECT *choice_kbmap_1;
+ FL_OBJECT *check_rtl_support;
+ FL_OBJECT *check_mark_foreign;
+ FL_OBJECT *check_auto_end;
+ FL_OBJECT *check_auto_begin;
+ FL_OBJECT *input_package;
+ FL_OBJECT *input_command_begin;
+ FL_OBJECT *input_command_end;
+ FL_OBJECT *choice_kbmap_2;
+ FL_OBJECT *choice_default_lang;
};
struct FD_form_colours {
~FD_form_colours();
Internal Form Definition File
(do not change)
-Number of forms: 11
+Number of forms: 12
Unit of measure: FL_COORD_PIXEL
SnapGrid: 1
Name: form_outputs_misc
Width: 455
Height: 375
-Number of Objects: 4
+Number of Objects: 7
--------------------
class: FL_BOX
style: FL_NORMAL_STYLE
size: FL_NORMAL_SIZE
lcol: FL_BLACK
-label: TeX encoding
+label: TeX encoding|#T
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
--------------------
class: FL_CHOICE
type: NORMAL_CHOICE
-box: 217 142 199 29
+box: 219 142 199 29
boxtype: FL_FRAME_BOX
colors: FL_COL1 FL_BLACK
alignment: FL_ALIGN_LEFT
style: FL_NORMAL_STYLE
-size: FL_DEFAULT_SIZE
+size: FL_NORMAL_SIZE
lcol: FL_BLACK
-label: Default paper size
+label: Default paper size|#p
shortcut:
resize: FL_RESIZE_ALL
gravity: FL_NoGravity FL_NoGravity
callback: C_FormBaseInputCB
argument: OUTPUTSMISC
+--------------------
+class: FL_INPUT
+type: NORMAL_INPUT
+box: 121 209 285 30
+boxtype: FL_DOWN_BOX
+colors: FL_COL1 FL_MCOL
+alignment: FL_ALIGN_LEFT
+style: FL_NORMAL_STYLE
+size: FL_NORMAL_SIZE
+lcol: FL_BLACK
+label: ascii roff|#r
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name: input_ascii_roff
+callback: C_FormBaseInputCB
+argument: OUTPUTSMISC
+
+--------------------
+class: FL_INPUT
+type: NORMAL_INPUT
+box: 121 250 285 30
+boxtype: FL_DOWN_BOX
+colors: FL_COL1 FL_MCOL
+alignment: FL_ALIGN_LEFT
+style: FL_NORMAL_STYLE
+size: FL_NORMAL_SIZE
+lcol: FL_BLACK
+label: checktex|#c
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name: input_checktex
+callback: C_FormBaseInputCB
+argument: OUTPUTSMISC
+
+--------------------
+class: FL_LABELFRAME
+type: ENGRAVED_FRAME
+box: 12 186 406 120
+boxtype: FL_NO_BOX
+colors: FL_BLACK FL_COL1
+alignment: FL_ALIGN_TOP_LEFT
+style: FL_BOLD_STYLE
+size: FL_NORMAL_SIZE
+lcol: FL_BLACK
+label: Outside code interaction
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name:
+callback:
+argument:
+
=============== FORM ===============
Name: form_spellchecker
Width: 450
callback: C_FormBaseInputCB
argument: SPELLCHECKER
+=============== FORM ===============
+Name: form_inputs_misc
+Width: 450
+Height: 360
+Number of Objects: 2
+
+--------------------
+class: FL_BOX
+type: FLAT_BOX
+box: 0 0 450 360
+boxtype: FL_FLAT_BOX
+colors: FL_COL1 FL_COL1
+alignment: FL_ALIGN_CENTER
+style: FL_NORMAL_STYLE
+size: FL_DEFAULT_SIZE
+lcol: FL_BLACK
+label:
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name:
+callback:
+argument:
+
+--------------------
+class: FL_INPUT
+type: NORMAL_INPUT
+box: 120 70 285 30
+boxtype: FL_DOWN_BOX
+colors: FL_COL1 FL_MCOL
+alignment: FL_ALIGN_LEFT
+style: FL_NORMAL_STYLE
+size: FL_NORMAL_SIZE
+lcol: FL_BLACK
+label: date format|#f
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name: input_date_format
+callback: C_FormBaseInputCB
+argument: INPUTSMISC
+
=============== FORM ===============
Name: form_language
Width: 450
Height: 360
-Number of Objects: 1
+Number of Objects: 12
--------------------
class: FL_BOX
callback:
argument:
+--------------------
+class: FL_CHECKBUTTON
+type: PUSH_BUTTON
+box: 158 113 30 30
+boxtype: FL_NO_BOX
+colors: FL_COL1 FL_YELLOW
+alignment: FL_ALIGN_LEFT
+style: FL_NORMAL_STYLE
+size: FL_NORMAL_SIZE
+lcol: FL_BLACK
+label: Keyboard map|#K
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name: check_use_kbmap
+callback: C_FormBaseInputCB
+argument: LANGUAGE
+
+--------------------
+class: FL_CHOICE
+type: NORMAL_CHOICE
+box: 231 96 200 30
+boxtype: FL_FRAME_BOX
+colors: FL_COL1 FL_BLACK
+alignment: FL_ALIGN_LEFT
+style: FL_NORMAL_STYLE
+size: FL_DEFAULT_SIZE
+lcol: FL_BLACK
+label: 1st|#1
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name: choice_kbmap_1
+callback: C_FormBaseInputCB
+argument: LANGUAGE
+
+--------------------
+class: FL_CHECKBUTTON
+type: PUSH_BUTTON
+box: 154 161 30 30
+boxtype: FL_NO_BOX
+colors: FL_COL1 FL_YELLOW
+alignment: FL_ALIGN_LEFT
+style: FL_NORMAL_STYLE
+size: FL_NORMAL_SIZE
+lcol: FL_BLACK
+label: RtL support|#R
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name: check_rtl_support
+callback: C_FormBaseInputCB
+argument: LANGUAGE
+
+--------------------
+class: FL_CHECKBUTTON
+type: PUSH_BUTTON
+box: 154 187 30 30
+boxtype: FL_NO_BOX
+colors: FL_COL1 FL_YELLOW
+alignment: FL_ALIGN_LEFT
+style: FL_NORMAL_STYLE
+size: FL_NORMAL_SIZE
+lcol: FL_BLACK
+label: Mark foreign|#M
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name: check_mark_foreign
+callback: C_FormBaseInputCB
+argument: LANGUAGE
+
+--------------------
+class: FL_CHECKBUTTON
+type: PUSH_BUTTON
+box: 362 187 30 30
+boxtype: FL_NO_BOX
+colors: FL_COL1 FL_YELLOW
+alignment: FL_ALIGN_LEFT
+style: FL_NORMAL_STYLE
+size: FL_NORMAL_SIZE
+lcol: FL_BLACK
+label: Auto finish|#f
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name: check_auto_end
+callback: C_FormBaseInputCB
+argument: LANGUAGE
+
+--------------------
+class: FL_CHECKBUTTON
+type: PUSH_BUTTON
+box: 362 161 30 30
+boxtype: FL_NO_BOX
+colors: FL_COL1 FL_YELLOW
+alignment: FL_ALIGN_LEFT
+style: FL_NORMAL_STYLE
+size: FL_NORMAL_SIZE
+lcol: FL_BLACK
+label: Auto begin|#b
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name: check_auto_begin
+callback: C_FormBaseInputCB
+argument: LANGUAGE
+
+--------------------
+class: FL_INPUT
+type: NORMAL_INPUT
+box: 131 18 300 30
+boxtype: FL_DOWN_BOX
+colors: FL_COL1 FL_MCOL
+alignment: FL_ALIGN_LEFT
+style: FL_NORMAL_STYLE
+size: FL_NORMAL_SIZE
+lcol: FL_BLACK
+label: Package|#P
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name: input_package
+callback: C_FormBaseInputCB
+argument: LANGUAGE
+
+--------------------
+class: FL_INPUT
+type: NORMAL_INPUT
+box: 131 224 300 30
+boxtype: FL_DOWN_BOX
+colors: FL_COL1 FL_MCOL
+alignment: FL_ALIGN_LEFT
+style: FL_NORMAL_STYLE
+size: FL_NORMAL_SIZE
+lcol: FL_BLACK
+label: Command start|#s
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name: input_command_begin
+callback: C_FormBaseInputCB
+argument: LANGUAGE
+
+--------------------
+class: FL_INPUT
+type: NORMAL_INPUT
+box: 131 257 300 30
+boxtype: FL_DOWN_BOX
+colors: FL_COL1 FL_MCOL
+alignment: FL_ALIGN_LEFT
+style: FL_NORMAL_STYLE
+size: FL_NORMAL_SIZE
+lcol: FL_BLACK
+label: Command end|#e
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name: input_command_end
+callback: C_FormBaseInputCB
+argument: LANGUAGE
+
+--------------------
+class: FL_CHOICE
+type: NORMAL_CHOICE
+box: 231 128 200 30
+boxtype: FL_FRAME_BOX
+colors: FL_COL1 FL_BLACK
+alignment: FL_ALIGN_LEFT
+style: FL_NORMAL_STYLE
+size: FL_DEFAULT_SIZE
+lcol: FL_BLACK
+label: 2nd|#2
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name: choice_kbmap_2
+callback: C_FormBaseInputCB
+argument: LANGUAGE
+
+--------------------
+class: FL_CHOICE
+type: NORMAL_CHOICE
+box: 231 56 200 30
+boxtype: FL_FRAME_BOX
+colors: FL_COL1 FL_BLACK
+alignment: FL_ALIGN_LEFT
+style: FL_NORMAL_STYLE
+size: FL_DEFAULT_SIZE
+lcol: FL_BLACK
+label: Default language|#D
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name: choice_default_lang
+callback: C_FormBaseInputCB
+argument: LANGUAGE
+
=============== FORM ===============
Name: form_colours
Width: 450