mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-22 18:08:10 +00:00
citation patch from Angus
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@998 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
e0c724415c
commit
2fa9fa22c4
@ -1,3 +1,12 @@
|
|||||||
|
2000-09-04 Angus Leeming <a.leeming@ic.ac.uk> +
|
||||||
|
|
||||||
|
* src/frontends/xforms/Menubar_pimpl.C: added two using directives
|
||||||
|
so that code compiles with DEC cxx.
|
||||||
|
|
||||||
|
* src/frontends/xforms/FormCitation.C (setSize): code re-writtenn
|
||||||
|
to work correctly! Also now supports the additional elements
|
||||||
|
neeeded by natbib.
|
||||||
|
|
||||||
2000-09-01 Allan Rae <rae@lyx.org>
|
2000-09-01 Allan Rae <rae@lyx.org>
|
||||||
|
|
||||||
* src/frontends/ButtonPolicies.C: renamed all the references to
|
* src/frontends/ButtonPolicies.C: renamed all the references to
|
||||||
|
@ -3381,6 +3381,8 @@ int Buffer::runLaTeX()
|
|||||||
AllowInput(users);
|
AllowInput(users);
|
||||||
|
|
||||||
return latex.getNumErrors();
|
return latex.getNumErrors();
|
||||||
|
#else
|
||||||
|
return 0;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -44,6 +44,6 @@ public:
|
|||||||
string const BufferExtension(Buffer const * buffer);
|
string const BufferExtension(Buffer const * buffer);
|
||||||
};
|
};
|
||||||
|
|
||||||
//#define NEW_EXPORT 1
|
#define NEW_EXPORT 1
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -35,6 +35,8 @@ using std::max;
|
|||||||
using std::min;
|
using std::min;
|
||||||
using std::find;
|
using std::find;
|
||||||
|
|
||||||
|
static int min_wform;
|
||||||
|
|
||||||
FormCitation::FormCitation(LyXView * lv, Dialogs * d)
|
FormCitation::FormCitation(LyXView * lv, Dialogs * d)
|
||||||
: FormCommand(lv, d, _("Citation")), dialog_(0)
|
: FormCommand(lv, d, _("Citation")), dialog_(0)
|
||||||
{
|
{
|
||||||
@ -64,6 +66,7 @@ void FormCitation::clearStore()
|
|||||||
void FormCitation::build()
|
void FormCitation::build()
|
||||||
{
|
{
|
||||||
dialog_ = build_citation();
|
dialog_ = build_citation();
|
||||||
|
min_wform = dialog_->form->w;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -196,54 +199,94 @@ void FormCitation::setCiteButtons( State status ) const
|
|||||||
|
|
||||||
void FormCitation::setSize( int hbrsr, bool bibPresent ) const
|
void FormCitation::setSize( int hbrsr, bool bibPresent ) const
|
||||||
{
|
{
|
||||||
int const hinfo = dialog_->infoBrsr->h;
|
bool const natbib = false; // will eventually be input
|
||||||
int const hother = 140;
|
hbrsr = max( hbrsr, 175 ); // limit max size of cite/bib brsrs
|
||||||
hbrsr = max( hbrsr, 175 );
|
|
||||||
int wform = dialog_->form->w;
|
|
||||||
int hform = hbrsr + hother;
|
|
||||||
|
|
||||||
if( bibPresent ) hform += hinfo + 30;
|
// dh1, dh2, dh3 are the vertical separation between elements.
|
||||||
fl_set_form_size( dialog_->form, wform, hform );
|
// These can be specified because the browser height is fixed
|
||||||
|
// so they are not changed by dynamic resizing
|
||||||
|
static int const dh1 = 30; // top of form to top of cite/bib brsrs;
|
||||||
|
// bottom of cite/bib brsrs to top of info;
|
||||||
|
// bottom of info to top next element;
|
||||||
|
// bottom of style to top textBefore;
|
||||||
|
// bottom of text to top ok/cancel buttons.
|
||||||
|
static int const dh2 = 10; // bottom of textBefore to top textAftr;
|
||||||
|
// bottom of ok/cancel buttons to bottom form
|
||||||
|
static int const dh3 = 5; // spacing between add/delete/... buttons.
|
||||||
|
|
||||||
// No resizing is allowed in the y-direction
|
int const wbrsr = dialog_->citeBrsr->w;
|
||||||
fl_set_form_minsize( dialog_->form, wform, hform );
|
static int const hinfo = dialog_->infoBrsr->h;
|
||||||
fl_set_form_maxsize( dialog_->form, 3*wform, hform );
|
static int const hstyle = dialog_->style->h;
|
||||||
|
static int const htext = dialog_->textAftr->h;
|
||||||
|
static int const hok = dialog_->ok->h;
|
||||||
|
|
||||||
|
int const wform = dialog_->form->w;
|
||||||
|
int hform = dh1 + hbrsr + dh1;
|
||||||
|
if( bibPresent ) hform += hinfo + dh1;
|
||||||
|
if( natbib ) hform += hstyle + dh1 + htext + dh2;
|
||||||
|
hform += htext + dh1 + hok + dh2;
|
||||||
|
|
||||||
|
bool const sizeSet = ( hform != dialog_->form->h );
|
||||||
|
if( sizeSet ) fl_set_form_size( dialog_->form, wform, hform );
|
||||||
|
|
||||||
|
// No vertical resizing is allowed
|
||||||
|
// min_wform set in build()
|
||||||
|
fl_set_form_minsize( dialog_->form, min_wform, hform );
|
||||||
|
fl_set_form_maxsize( dialog_->form, 3*min_wform, hform );
|
||||||
|
|
||||||
|
if( !sizeSet ) return;
|
||||||
|
|
||||||
|
int x = 0;
|
||||||
int y = 0;
|
int y = 0;
|
||||||
fl_set_object_geometry( dialog_->box, 0, y, wform, hform );
|
fl_set_object_geometry( dialog_->box, x, y, wform, hform );
|
||||||
y += 30;
|
|
||||||
fl_set_object_geometry( dialog_->citeBrsr, 10, y, 180, hbrsr );
|
|
||||||
fl_set_object_geometry( dialog_->bibBrsr, 240, y, 180, hbrsr );
|
|
||||||
|
|
||||||
fl_set_object_position( dialog_->addBtn, 200, y );
|
x = dialog_->citeBrsr->x;
|
||||||
y += 5 + dialog_->addBtn->h;
|
y += dh1;
|
||||||
fl_set_object_position( dialog_->delBtn, 200, y );
|
fl_set_object_geometry( dialog_->citeBrsr, x, y, wbrsr, hbrsr );
|
||||||
y += 5 + dialog_->delBtn->h;
|
x = dialog_->bibBrsr->x;
|
||||||
fl_set_object_position( dialog_->upBtn, 200, y );
|
fl_set_object_geometry( dialog_->bibBrsr, x, y, wbrsr, hbrsr );
|
||||||
y += 5 + dialog_->upBtn->h;
|
|
||||||
fl_set_object_position( dialog_->downBtn, 200, y );
|
|
||||||
|
|
||||||
y = dialog_->bibBrsr->y + dialog_->bibBrsr->h;
|
x = dialog_->addBtn->x;
|
||||||
|
fl_set_object_position( dialog_->addBtn, x, y );
|
||||||
|
y += dh3 + dialog_->addBtn->h;
|
||||||
|
fl_set_object_position( dialog_->delBtn, x, y );
|
||||||
|
y += dh3 + dialog_->delBtn->h;
|
||||||
|
fl_set_object_position( dialog_->upBtn, x, y );
|
||||||
|
y += dh3 + dialog_->upBtn->h;
|
||||||
|
fl_set_object_position( dialog_->downBtn, x, y );
|
||||||
|
|
||||||
// awaiting natbib support
|
y = dh1 + hbrsr + dh1; // in position for next element
|
||||||
fl_hide_object( dialog_->style );
|
|
||||||
|
|
||||||
if( bibPresent ) {
|
if( bibPresent ) {
|
||||||
y += 30;
|
x = dialog_->infoBrsr->x;
|
||||||
fl_set_object_position( dialog_->infoBrsr, 10, y );
|
fl_set_object_position( dialog_->infoBrsr, x, y );
|
||||||
fl_show_object( dialog_->infoBrsr );
|
fl_show_object( dialog_->infoBrsr );
|
||||||
y += hinfo;
|
y += hinfo + dh1;
|
||||||
}
|
} else
|
||||||
else
|
|
||||||
fl_hide_object( dialog_->infoBrsr );
|
fl_hide_object( dialog_->infoBrsr );
|
||||||
|
|
||||||
y += 20;
|
if( natbib ) {
|
||||||
// awaiting natbib support
|
x = dialog_->style->x;
|
||||||
fl_hide_object( dialog_->textBefore );
|
fl_set_object_position( dialog_->style, x, y );
|
||||||
|
fl_show_object( dialog_->style );
|
||||||
|
x = dialog_->textBefore->x;
|
||||||
|
y += hstyle + dh1;
|
||||||
|
fl_set_object_position( dialog_->textBefore, x, y );
|
||||||
|
fl_show_object( dialog_->textBefore );
|
||||||
|
y += htext + dh2;
|
||||||
|
} else {
|
||||||
|
fl_hide_object( dialog_->style );
|
||||||
|
fl_hide_object( dialog_->textBefore );
|
||||||
|
}
|
||||||
|
|
||||||
fl_set_object_position( dialog_->textAftr, 100, y );
|
x = dialog_->textAftr->x;
|
||||||
fl_set_object_position( dialog_->ok, 230, y+50 );
|
fl_set_object_position( dialog_->textAftr, x, y );
|
||||||
fl_set_object_position( dialog_->cancel, 330, y+50 );
|
|
||||||
|
x = dialog_->ok->x;
|
||||||
|
y += htext + dh1;
|
||||||
|
fl_set_object_position( dialog_->ok, x, y );
|
||||||
|
x = dialog_->cancel->x;
|
||||||
|
fl_set_object_position( dialog_->cancel, x, y );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -32,6 +32,8 @@
|
|||||||
using std::pair;
|
using std::pair;
|
||||||
using std::endl;
|
using std::endl;
|
||||||
using std::vector;
|
using std::vector;
|
||||||
|
using std::max;
|
||||||
|
using std::min;
|
||||||
|
|
||||||
typedef vector<int>::size_type size_type;
|
typedef vector<int>::size_type size_type;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user