Patches from Angus and Marko

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@1172 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Jean-Marc Lasgouttes 2000-10-30 11:33:05 +00:00
parent 731478c86e
commit 6349297015
27 changed files with 865 additions and 135 deletions

View File

@ -1,3 +1,36 @@
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.

View File

@ -52,8 +52,7 @@ sets user directory. Needed if you want to use LyX with different lyxrc
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.

View File

@ -89,12 +89,12 @@ FormCitation::~FormCitation()
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();
@ -106,9 +106,9 @@ void FormCitation::showInset( InsetCommand * const inset )
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 );
@ -210,19 +210,19 @@ void parseBibTeX(string data,
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;
}
@ -230,7 +230,7 @@ void FormCitation::initWidgets()
{
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);
@ -238,7 +238,7 @@ void FormCitation::initWidgets()
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);
@ -247,19 +247,19 @@ void FormCitation::initWidgets()
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);
@ -292,11 +292,11 @@ void FormCitation::initWidgets()
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);
@ -316,7 +316,7 @@ void FormCitation::initWidgets()
if (clist_selected_->rows().size() > 0)
{
clist_selected_->rows()[0].select();
selectionToggled(0, 0, NULL, true, true);
selectionToggled(0, 0, 0, true, true);
}
}
@ -328,23 +328,23 @@ void FormCitation::storeWidgets()
{
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();
@ -712,7 +712,7 @@ void FormCitation::addItemToBibList(int i)
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;
@ -727,7 +727,7 @@ void FormCitation::updateButtons()
}
void FormCitation::update(bool buffchanged)
void FormCitation::updateSlot(bool buffchanged)
{
if (buffchanged) hide();
}
@ -788,12 +788,12 @@ void FormCitation::moveCitationDown()
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();

View File

@ -45,7 +45,8 @@ private:
/// 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() { }
@ -104,11 +105,11 @@ private:
/// 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?

View File

@ -17,7 +17,7 @@
#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
@ -28,25 +28,25 @@ FormCopyright::FormCopyright(LyXView * lv, Dialogs * d)
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));
@ -60,13 +60,13 @@ void FormCopyright::show()
void FormCopyright::hide()
{
if (dialog_!=NULL) {
if (dialog_!=0) {
dialog_->hide();
h_.disconnect();
destroy_.disconnect();
delete dialog_;
dialog_ = NULL;
dialog_ = 0;
}
}

View File

@ -36,7 +36,7 @@ private:
/// 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_;

View File

@ -36,7 +36,7 @@ extern GLyxAppWin * mainAppWin;
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
@ -52,7 +52,7 @@ FormError::~FormError()
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));
@ -97,26 +97,26 @@ void FormError::show()
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;

View File

@ -36,7 +36,8 @@ private:
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.

View File

@ -46,7 +46,7 @@ extern GLyxAppWin * mainAppWin;
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
@ -63,7 +63,7 @@ FormIndex::~FormIndex()
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));
@ -74,7 +74,7 @@ void FormIndex::showInset( InsetCommand * const inset )
void FormIndex::createInset( string const & arg )
{
if( dialog_!=NULL ) return;
if( dialog_!=0 ) return;
params.setFromString( arg );
show();
@ -131,14 +131,14 @@ void FormIndex::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)
{
@ -146,7 +146,7 @@ void FormIndex::update(bool switched)
return;
}
if (dialog_ != NULL &&
if (dialog_ != 0 &&
lv_->view()->available())
{
keyword_->get_entry()->set_text(params.getContents().c_str());
@ -160,14 +160,14 @@ void FormIndex::update(bool switched)
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;

View File

@ -40,7 +40,8 @@ private:
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.

View File

@ -48,7 +48,7 @@ using Liason::getPrinterParams;
#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
@ -103,12 +103,12 @@ void FormPrint::show()
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
{
@ -119,14 +119,14 @@ void FormPrint::show()
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();
}
@ -170,9 +170,9 @@ void FormPrint::apply()
// 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()));

View File

@ -58,7 +58,8 @@ private:
/// Hide the dialog.
void hide();
/// Update the dialog.
void update(bool = false);
void update() { }
void updateSlot(bool = false);
/// Free memory
void free();
//@}

View File

@ -49,7 +49,7 @@ static string const GOTO_REF_LABEL(N_("Goto reference"));
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
@ -66,7 +66,7 @@ FormRef::~FormRef()
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));
@ -80,7 +80,7 @@ void FormRef::showInset( InsetCommand * const inset )
void FormRef::createInset( string const & arg )
{
if( dialog_!=NULL ) return;
if( dialog_!=0 ) return;
acttype_ = INSERT;
@ -122,7 +122,7 @@ void FormRef::showStageError(string const & mess)
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));
}
}
@ -197,7 +197,7 @@ void FormRef::showStageSelect()
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));
}
}
@ -324,26 +324,26 @@ void FormRef::showStageAction()
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;

View File

@ -72,7 +72,8 @@ private:
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.

View File

@ -39,7 +39,7 @@ extern "C" {
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
@ -56,7 +56,7 @@ FormToc::~FormToc()
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));
@ -68,7 +68,7 @@ void FormToc::showInset( InsetCommand * const inset )
void FormToc::createInset( string const & arg )
{
if( dialog_!=NULL ) return;
if( dialog_!=0 ) return;
params.setFromString( arg );
show();
@ -117,16 +117,16 @@ void FormToc::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
{
@ -137,12 +137,12 @@ void FormToc::show()
// 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 ***");
@ -155,7 +155,7 @@ void FormToc::update(bool)
}
if (dialog_ != NULL &&
if (dialog_ != 0 &&
lv_->view()->available())
{
@ -247,20 +247,20 @@ void FormToc::changeList(Buffer::TocType type)
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;

View File

@ -41,7 +41,8 @@ private:
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.

View File

@ -39,7 +39,7 @@ static string const CONF_ENTRY_URL("FormUrl_url");
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
@ -56,7 +56,7 @@ FormUrl::~FormUrl()
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));
@ -68,7 +68,7 @@ void FormUrl::showInset( InsetCommand * const inset )
void FormUrl::createInset( string const & arg )
{
if( dialog_!=NULL ) return;
if( dialog_!=0 ) return;
params.setFromString( arg );
show();
@ -143,14 +143,14 @@ void FormUrl::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)
{
@ -158,7 +158,7 @@ void FormUrl::update(bool switched)
return;
}
if (dialog_ != NULL &&
if (dialog_ != 0 &&
lv_->view()->available())
{
url_->get_entry()->set_text(params.getContents().c_str());
@ -177,14 +177,14 @@ void FormUrl::update(bool switched)
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;

View File

@ -45,7 +45,8 @@ private:
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.

View File

@ -359,9 +359,9 @@ void Menubar::Pimpl::connectWidgetToAction(GnomeUIInfo * guinfo)
{
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) ||

View File

@ -47,7 +47,7 @@ void GLyxAppWin::init()
set_statusbar(status_);
accel_ = NULL;
accel_ = 0;
// initial (dummy) menu
vector<Gnome::UI::Info> menus, fm;
@ -65,7 +65,7 @@ void GLyxAppWin::init()
// 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"))) );
@ -118,7 +118,7 @@ void GLyxAppWin::add_action(Gtk::Container &action, string title, bool expand, G
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;
@ -126,10 +126,10 @@ void GLyxAppWin::add_action(Gtk::Container &action, string title, bool expand, G
void GLyxAppWin::remove_action()
{
if (accel_ != NULL)
if (accel_ != 0)
{
remove_accel_group(*accel_);
accel_ = NULL;
accel_ = 0;
}
while ( box_.children().size() > 2 )

View File

@ -36,7 +36,7 @@ class GLyxAppWin: public Gnome::App
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

View File

@ -29,7 +29,7 @@ namespace Gnome
{
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));

View File

@ -10,10 +10,13 @@
#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"
@ -26,12 +29,17 @@
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
@ -49,6 +57,7 @@ FormPreferences::~FormPreferences()
delete outputs_tab_;
delete usage_tab_;
delete colours_;
delete inputs_misc_;
delete interface_;
delete language_;
delete lnf_misc_;
@ -120,6 +129,7 @@ void FormPreferences::build()
// build actual tabfolder contents
// these will become nested tabfolders
buildColours();
buildInputsMisc();
buildInterface();
buildLanguage();
buildLnFmisc();
@ -163,6 +173,9 @@ void FormPreferences::build()
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,
@ -194,7 +207,10 @@ void FormPreferences::apply()
// 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();
@ -209,7 +225,10 @@ void FormPreferences::update()
if (!dialog_) return;
// read lyxrc entries
updateColours();
updateInputsMisc();
updateInterface();
updateLanguage();
updateLnFmisc();
updateOutputsMisc();
updatePaths();
@ -233,6 +252,11 @@ bool FormPreferences::input(FL_OBJECT * ob, long data)
State cb = static_cast<State>( data );
switch( cb ) {
case COLOURS:
feedbackColours( ob );
break;
case INPUTSMISC:
feedbackInputsMisc( ob );
break;
case INTERFACE:
@ -240,6 +264,9 @@ bool FormPreferences::input(FL_OBJECT * ob, long data)
break;
case LANGUAGE:
feedbackLanguage( ob );
if( ! inputLanguage( ob ) )
activate = false;
break;
case LOOKNFEELMISC:
@ -280,12 +307,62 @@ bool FormPreferences::input(FL_OBJECT * ob, long data)
}
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 =
@ -359,9 +436,173 @@ void FormPreferences::updateInterface()
}
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 );
}
@ -450,6 +691,9 @@ void FormPreferences::applyOutputsMisc()
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);
}
@ -461,6 +705,10 @@ void FormPreferences::buildOutputsMisc()
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 "));
}
@ -474,6 +722,10 @@ void FormPreferences::feedbackOutputsMisc(FL_OBJECT const * const ob )
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.");
}
@ -491,6 +743,10 @@ void FormPreferences::updateOutputsMisc()
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());
}

View File

@ -33,6 +33,7 @@ struct FD_form_interface;
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;
@ -53,6 +54,8 @@ private:
///
COLOURS,
///
INPUTSMISC,
///
INTERFACE,
///
LANGUAGE,
@ -88,8 +91,14 @@ private:
///
virtual FL_FORM * form() const;
///
void applyColours();
///
void applyInputsMisc();
///
void applyInterface();
///
void applyLanguage();
///
void applyLnFmisc();
///
void applyOutputsMisc();
@ -104,6 +113,8 @@ private:
///
void buildColours();
///
void buildInputsMisc();
///
void buildInterface();
///
void buildLanguage();
@ -120,8 +131,14 @@ private:
///
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);
@ -134,14 +151,22 @@ private:
///
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();
@ -168,6 +193,8 @@ private:
///
FD_form_colours * build_colours();
///
FD_form_inputs_misc * build_inputs_misc();
///
FD_form_interface * build_interface();
///
FD_form_language * build_language();
@ -197,6 +224,8 @@ private:
///
FD_form_colours * colours_;
///
FD_form_inputs_misc * inputs_misc_;
///
FD_form_interface * interface_;
///
FD_form_language * language_;

View File

@ -182,12 +182,26 @@ FD_form_outputs_misc * FormPreferences::build_outputs_misc()
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;
@ -260,6 +274,33 @@ FD_form_spellchecker * FormPreferences::build_spellchecker()
}
/*---------------------------------------*/
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 );
@ -275,6 +316,55 @@ FD_form_language * FormPreferences::build_language()
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;

View File

@ -19,6 +19,9 @@ 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);
extern "C" void C_FormBaseInputCB(FL_OBJECT *, long);
@ -76,6 +79,8 @@ struct FD_form_outputs_misc {
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();
@ -92,10 +97,27 @@ struct 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();

View File

@ -3,7 +3,7 @@ Magic: 13000
Internal Form Definition File
(do not change)
Number of forms: 11
Number of forms: 12
Unit of measure: FL_COORD_PIXEL
SnapGrid: 1
@ -520,7 +520,7 @@ argument: SCREENFONTS
Name: form_outputs_misc
Width: 455
Height: 375
Number of Objects: 4
Number of Objects: 7
--------------------
class: FL_BOX
@ -572,7 +572,7 @@ alignment: FL_ALIGN_LEFT
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
@ -583,14 +583,14 @@ argument: OUTPUTSMISC
--------------------
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
@ -598,6 +598,60 @@ name: choice_default_papersize
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
@ -803,10 +857,10 @@ callback: C_FormBaseInputCB
argument: SPELLCHECKER
=============== FORM ===============
Name: form_language
Name: form_inputs_misc
Width: 450
Height: 360
Number of Objects: 1
Number of Objects: 2
--------------------
class: FL_BOX
@ -826,6 +880,246 @@ 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: 12
--------------------
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_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