RID_FORMULADLG_FORMULA conversion to .ui

Change-Id: I098c9ee9d22ac0401faf7fc6d65e91bf5b4b2bf8
Reviewed-on: https://gerrit.libreoffice.org/9797
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
This commit is contained in:
Szymon Kłos
2014-06-16 14:30:55 +02:00
committed by Caolán McNamara
parent 55561240db
commit 0cf14968aa
22 changed files with 1499 additions and 837 deletions

View File

@@ -608,6 +608,15 @@
<glade-widget-class title="Reference Edit" name="foruilo-RefEdit" <glade-widget-class title="Reference Edit" name="foruilo-RefEdit"
generic-name="Reference Edit" parent="GtkEntry" generic-name="Reference Edit" parent="GtkEntry"
icon-name="widget-gtk-textentry"/> icon-name="widget-gtk-textentry"/>
<glade-widget-class title="Edit" name="foruilo-ArgEdit"
generic-name="Edit" parent="GtkEntry"
icon-name="widget-gtk-textentry"/>
<glade-widget-class title="Value entry" name="foruilo-ValWnd"
generic-name="Value entry" parent="GtkEntry"
icon-name="widget-gtk-textentry"/>
<glade-widget-class title="Edit Box" name="foruilo-EditBox"
generic-name="Edit Box" parent="GtkTextView"
icon-name="widget-gtk-textview"/>
<glade-widget-class title="Another NoSpace Edit" name="cuilo-SvxNoSpaceEdit" <glade-widget-class title="Another NoSpace Edit" name="cuilo-SvxNoSpaceEdit"
generic-name="Another NoSpace Edit" parent="GtkEntry" generic-name="Another NoSpace Edit" parent="GtkEntry"
@@ -712,5 +721,12 @@
generic-name="DriverListControl" parent="GtkEntry" generic-name="DriverListControl" parent="GtkEntry"
icon-name="widget-gtk-combobox"/> icon-name="widget-gtk-combobox"/>
<glade-widget-class title="Formula ListBox" name="foruilo-FormulaListBox"
generic-name="Formula ListBox" parent="GtkTreeView"
icon-name="widget-gtk-treeview"/>
<glade-widget-class title="Formula ListBox" name="foruilo-StructListBox"
generic-name="Formula ListBox" parent="GtkTreeView"
icon-name="widget-gtk-treeview"/>
</glade-widget-classes> </glade-widget-classes>
</glade-catalog> </glade-catalog>

View File

@@ -17,6 +17,7 @@ $(eval $(call gb_Module_add_targets,formula,\
$(eval $(call gb_Module_add_l10n_targets,formula,\ $(eval $(call gb_Module_add_l10n_targets,formula,\
AllLangResTarget_for \ AllLangResTarget_for \
AllLangResTarget_forui \ AllLangResTarget_forui \
UIConfig_formula \
)) ))
# vim: set noet sw=4 ts=4: # vim: set noet sw=4 ts=4:

View File

@@ -0,0 +1,19 @@
# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
#
# This file is part of the LibreOffice project.
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
$(eval $(call gb_UIConfig_UIConfig,formula))
$(eval $(call gb_UIConfig_add_uifiles,formula,\
formula/uiconfig/ui/formuladialog \
formula/uiconfig/ui/functionpage \
formula/uiconfig/ui/structpage \
formula/uiconfig/ui/parameter \
))
# vim: set noet sw=4 ts=4:

View File

@@ -29,12 +29,14 @@ namespace formula
class ValWnd : public Window class ValWnd : public Window
{ {
public: public:
ValWnd( Window* pParent, const ResId& rId ); ValWnd( Window* pParent, WinBits nBits );
void SetValue( const OUString& rStrVal ); void SetValue( const OUString& rStrVal );
protected: protected:
virtual void Paint( const Rectangle& rRect ) SAL_OVERRIDE; virtual void Paint( const Rectangle& rRect ) SAL_OVERRIDE;
virtual void Resize() SAL_OVERRIDE;
virtual Size GetOptimalSize() const SAL_OVERRIDE;
private: private:
OUString aStrValue; OUString aStrValue;
@@ -62,7 +64,7 @@ protected:
public: public:
EditBox( Window* pParent, const ResId& rResId ); EditBox( Window* pParent, WinBits nBits );
virtual ~EditBox(); virtual ~EditBox();
@@ -80,7 +82,7 @@ public:
class ArgEdit : public RefEdit class ArgEdit : public RefEdit
{ {
public: public:
ArgEdit( Window* pParent, const ResId& rResId ); ArgEdit( Window* pParent, WinBits nBits );
void Init( ArgEdit* pPrevEdit, ArgEdit* pNextEdit, void Init( ArgEdit* pPrevEdit, ArgEdit* pNextEdit,
ScrollBar& rArgSlider, sal_uInt16 nArgCount ); ScrollBar& rArgSlider, sal_uInt16 nArgCount );
@@ -111,7 +113,7 @@ private:
Link aEdModifyLink; Link aEdModifyLink;
FixedText* pFtArg; FixedText* pFtArg;
ImageButton* pBtnFx; PushButton* pBtnFx;
ArgEdit* pEdArg; ArgEdit* pEdArg;
RefButton* pRefBtn; RefButton* pRefBtn;
@@ -138,7 +140,7 @@ public:
virtual ~ArgInput() {} virtual ~ArgInput() {}
void InitArgInput ( FixedText* pftArg, void InitArgInput ( FixedText* pftArg,
ImageButton* pbtnFx, PushButton* pbtnFx,
ArgEdit* pedArg, ArgEdit* pedArg,
RefButton* prefBtn); RefButton* prefBtn);

View File

@@ -20,8 +20,6 @@
#define FT_RESULT 1 #define FT_RESULT 1
#define WND_RESULT 2 #define WND_RESULT 2
#define FT_EDITNAME 3 #define FT_EDITNAME 3
#define STR_TITLE1 4
#define STR_TITLE2 5
#define BTN_HELP 6 #define BTN_HELP 6
#define BTN_CANCEL 7 #define BTN_CANCEL 7
#define BTN_BACKWARD 8 #define BTN_BACKWARD 8
@@ -39,29 +37,9 @@
#define RB_REF 20 #define RB_REF 20
#define FT_FORMULA_RESULT 21 #define FT_FORMULA_RESULT 21
#define WND_FORMULA_RESULT 22 #define WND_FORMULA_RESULT 22
#define STR_END 23
// Fuer Tabpage // Fuer Tabpage
#define TP_FUNCTION 1 #define TP_FUNCTION 1
#define TP_STRUCT 2 #define TP_STRUCT 2
// Funktions-Tabpage
#define FT_FUNCTION 1
#define FT_CATEGORY 2
#define LB_CATEGORY 3
#define LB_FUNCTION 4
// Struktur-Tabpage
#define FT_STRUCT 1
#define TLB_STRUCT 2
// Bitmaps
#define BMP_STR_CLOSE 1
#define BMP_STR_OPEN 2
#define BMP_STR_END 3
#define BMP_STR_ERROR 4
// Texte
#define STR_STRUCT_ERR1 1
#define STR_STRUCT_ERR2 2
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

View File

@@ -23,97 +23,40 @@
#define STD_MASKCOLOR Color { Red=0xFFFF; Green=0x0000; Blue=0xFFFF; } #define STD_MASKCOLOR Color { Red=0xFFFF; Green=0x0000; Blue=0xFFFF; }
TabPage RID_FORMULATAB_FUNCTION
{
Hide = TRUE ;
Size = MAP_APPFONT ( 96 , 180 ) ;
HelpId = HID_FORMULATAB_FUNCTION ;
// Titel wird dynamisch gesetzt (s.u.)
// 1. Seite
ListBox LB_CATEGORY
{
HelpId = HID_FORMULA_LB_CATEGORY;
Border = TRUE ;
Pos = MAP_APPFONT ( 6 , 14 ) ;
Size = MAP_APPFONT ( 86 , 112 ) ;
DropDown = TRUE ;
StringList [ en-US ] =
{
< "Last Used" ; Default ; > ;
< "All" ; Default ; > ;
};
};
ListBox LB_FUNCTION
{
HelpId = HID_FORMULA_LB_FUNCTION;
Border = TRUE ;
Pos = MAP_APPFONT ( 6 , 43 ) ;
Size = MAP_APPFONT ( 86 , 133 ) ;
Sort = TRUE;
};
FixedText FT_CATEGORY
{
Pos = MAP_APPFONT ( 6 , 3 ) ;
Size = MAP_APPFONT ( 84 , 8 ) ;
Text [ en-US ] = "~Category" ;
};
FixedText FT_FUNCTION
{
Pos = MAP_APPFONT ( 6 , 32 ) ;
Size = MAP_APPFONT ( 72 , 8 ) ;
Text [ en-US ] = "~Function" ;
};
};
TabPage RID_FORMULATAB_STRUCT
{
Hide = TRUE ;
Size = MAP_APPFONT ( 96 , 180 ) ;
HelpId = HID_FORMULATAB_STRUCT ;
// Titel wird dynamisch gesetzt (s.u.)
// 1. Seite
Control TLB_STRUCT
{
Border = TRUE ;
TabStop = TRUE ;
Pos = MAP_APPFONT ( 6 , 14 ) ;
Size = MAP_APPFONT ( 86 , 162 ) ;
HelpId = HID_FORMULA_FAP_STRUCT ;
};
FixedText FT_STRUCT
{
Pos = MAP_APPFONT ( 6 , 3 ) ;
Size = MAP_APPFONT ( 86 , 8 ) ;
Text [ en-US ] = "~Structure" ;
};
Image BMP_STR_CLOSE Image BMP_STR_CLOSE
{ {
ImageBitmap = Bitmap { File = "fapclose.bmp"; }; ImageBitmap = Bitmap { File = "fapclose.bmp"; };
MaskColor = STD_MASKCOLOR; MaskColor = STD_MASKCOLOR;
}; };
Image BMP_STR_OPEN Image BMP_STR_OPEN
{ {
ImageBitmap = Bitmap { File = "fapopen.bmp"; }; ImageBitmap = Bitmap { File = "fapopen.bmp"; };
MaskColor = STD_MASKCOLOR; MaskColor = STD_MASKCOLOR;
}; };
Image BMP_STR_END Image BMP_STR_END
{ {
ImageBitmap = Bitmap { File = "fapok.bmp"; }; ImageBitmap = Bitmap { File = "fapok.bmp"; };
MaskColor = STD_MASKCOLOR; MaskColor = STD_MASKCOLOR;
}; };
Image BMP_STR_ERROR Image BMP_STR_ERROR
{ {
ImageBitmap = Bitmap { File = "faperror.bmp"; }; ImageBitmap = Bitmap { File = "faperror.bmp"; };
MaskColor = STD_MASKCOLOR; MaskColor = STD_MASKCOLOR;
}; };
String STR_STRUCT_ERR1 String STR_STRUCT_ERR1
{ {
Text [ en-US ] = "=?" ; Text [ en-US ] = "=?" ;
}; };
String STR_STRUCT_ERR2 String STR_STRUCT_ERR2
{ {
Text [ en-US ] = "Error" ; Text [ en-US ] = "Error" ;
}; };
};
ModalDialog RID_FORMULADLG_FORMULA_MODAL ModalDialog RID_FORMULADLG_FORMULA_MODAL
{ {
SVLook = TRUE ; SVLook = TRUE ;
@@ -280,171 +223,21 @@ ModalDialog RID_FORMULADLG_FORMULA_MODAL
}; };
}; };
ModelessDialog RID_FORMULADLG_FORMULA
{
Hide = TRUE ;
SVLook = TRUE ;
Size = MAP_APPFONT ( 321 , 228 ) ;
HelpId = HID_FORMULADLG_FORMULA ;
Moveable = TRUE ;
TabControl TC_FUNCTION
{
HelpID = "formula:TabControl:RID_FORMULADLG_FORMULA:TC_FUNCTION";
Pos = MAP_APPFONT ( 6 , 5 ) ;
Size = MAP_APPFONT ( 102 , 199 ) ;
PageList =
{
PageItem
{
Identifier = TP_FUNCTION ;
Text [ en-US ] = "Functions" ;
};
PageItem
{
Identifier = TP_STRUCT ;
Text [ en-US ] = "Structure" ;
};
};
};
FixedText FT_HEADLINE
{
Pos = MAP_APPFONT ( 115 , 24 ) ;
Size = MAP_APPFONT ( 194 , 8 ) ;
WordBreak = TRUE ;
};
FixedText FT_FUNCNAME
{
Pos = MAP_APPFONT ( 115 , 38 ) ;
Size = MAP_APPFONT ( 194 , 24 ) ;
WordBreak = TRUE ;
};
FixedText FT_FUNCDESC
{
Pos = MAP_APPFONT ( 115 , 68 ) ;
Size = MAP_APPFONT ( 194 , 64 ) ;
WordBreak = TRUE ;
};
FixedText FT_EDITNAME
{
Pos = MAP_APPFONT ( 113 , 6 ) ;
Size = MAP_APPFONT ( 83 , 10 ) ;
};
GroupBox GB_EDIT
{
Pos = MAP_APPFONT ( 112 , 18 ) ;
Size = MAP_APPFONT ( 203 , 128 ) ;
};
FixedText FT_FORMULA
{
Pos = MAP_APPFONT ( 112 , 151 ) ;
Size = MAP_APPFONT ( 50 , 10 ) ;
WordBreak = TRUE ;
Text [ en-US ] = "For~mula" ;
};
Control ED_FORMULA
{
Border = TRUE ;
Pos = MAP_APPFONT ( 112 , 161 ) ;
Size = MAP_APPFONT ( 203 , 43 ) ;
HelpId = HID_FORMULA_FAP_FORMULA ;
};
FixedText FT_RESULT
{
Pos = MAP_APPFONT ( 198 , 6 ) ;
Size = MAP_APPFONT ( 55 , 10 ) ;
Right = TRUE ;
Text [ en-US ] = "Function result" ;
};
Window WND_RESULT
{
Border = TRUE ;
Pos = MAP_APPFONT ( 255 , 4 ) ;
Size = MAP_APPFONT ( 60 , 12 ) ;
};
FixedText FT_FORMULA_RESULT
{
Pos = MAP_APPFONT ( 217 , 149 ) ;
Size = MAP_APPFONT ( 35 , 10 ) ;
Text [ en-US ] = "Result" ;
Right = TRUE ;
};
Window WND_FORMULA_RESULT
{
Border = TRUE ;
Pos = MAP_APPFONT ( 255 , 147 ) ;
Size = MAP_APPFONT ( 60 , 12 ) ;
};
CheckBox BTN_MATRIX
{
HelpID = "formula:CheckBox:RID_FORMULADLG_FORMULA:BTN_MATRIX";
Pos = MAP_APPFONT ( 6 , 208 ) ;
Size = MAP_APPFONT ( 50 , 10 ) ;
TabStop = TRUE ;
Text [ en-US ] = "Array" ;
};
Edit ED_REF
{
HelpID = "formula:Edit:RID_FORMULADLG_FORMULA:ED_REF";
Border = TRUE ;
Pos = MAP_APPFONT ( 76 , 205 ) ;
Size = MAP_APPFONT ( 66 , 12 ) ;
};
ImageButton RB_REF
{
HelpID = "formula:ImageButton:RID_FORMULADLG_FORMULA:RB_REF";
Pos = MAP_APPFONT ( 144 , 205 ) ;
Size = MAP_APPFONT ( 13 , 15 ) ;
TabStop = FALSE ;
QuickHelpText [ en-US ] = "Maximize" ;
};
HelpButton BTN_HELP
{
Pos = MAP_APPFONT ( 72 , 208 ) ;
Size = MAP_APPFONT ( 45 , 14 ) ;
TabStop = TRUE ;
};
CancelButton BTN_CANCEL
{
Pos = MAP_APPFONT ( 121 , 208 ) ;
Size = MAP_APPFONT ( 45 , 14 ) ;
TabStop = TRUE ;
};
PushButton BTN_BACKWARD
{
HelpID = "formula:PushButton:RID_FORMULADLG_FORMULA:BTN_BACKWARD";
Pos = MAP_APPFONT ( 171 , 208 ) ;
Size = MAP_APPFONT ( 45 , 14 ) ;
TabStop = TRUE ;
Text [ en-US ] = "<< ~Back" ;
};
PushButton BTN_FORWARD
{
HelpID = "formula:PushButton:RID_FORMULADLG_FORMULA:BTN_FORWARD";
Pos = MAP_APPFONT ( 219 , 208 ) ;
Size = MAP_APPFONT ( 45 , 14 ) ;
TabStop = TRUE ;
Text [ en-US ] = "~Next >>" ;
};
OKButton BTN_END
{
Pos = MAP_APPFONT ( 270 , 208 ) ;
Size = MAP_APPFONT ( 45 , 14 ) ;
TabStop = TRUE ;
DefButton = TRUE ;
};
String STR_TITLE1 String STR_TITLE1
{ {
Text [ en-US ] = "Function Wizard" ; Text [ en-US ] = "Function Wizard" ;
}; };
String STR_TITLE2 String STR_TITLE2
{ {
Text [ en-US ] = "Function Wizard -" ; Text [ en-US ] = "Function Wizard -" ;
}; };
String STR_END String STR_END
{ {
Text [ en-US ] = "~End" ; Text [ en-US ] = "~End" ;
}; };
};
Image RID_BMP_REFBTN1 Image RID_BMP_REFBTN1
{ {

View File

@@ -27,6 +27,7 @@
#include <vcl/lstbox.hxx> #include <vcl/lstbox.hxx>
#include <vcl/group.hxx> #include <vcl/group.hxx>
#include <vcl/wall.hxx> #include <vcl/wall.hxx>
#include <vcl/layout.hxx>
#include <svtools/stdctrl.hxx> #include <svtools/stdctrl.hxx>
#include <svtools/svmedit.hxx> #include <svtools/svmedit.hxx>
@@ -146,34 +147,33 @@ namespace formula
IFormulaEditorHelper* m_pHelper; IFormulaEditorHelper* m_pHelper;
Dialog* m_pParent; Dialog* m_pParent;
IControlReferenceHandler* m_pDlg; IControlReferenceHandler* m_pDlg;
TabControl aTabCtrl; TabControl *m_pTabCtrl;
GroupBox aGEdit; //! MUST be placed before pParaWin for initializing VclVBox *m_pParaWinBox;
ParaWin* pParaWin; ParaWin* pParaWin;
FixedText aFtHeadLine; FixedText *m_pFtHeadLine;
FixedInfo aFtFuncName; FixedText *m_pFtFuncName;
FixedInfo aFtFuncDesc; FixedText *m_pFtFuncDesc;
FixedText aFtEditName; FixedText *m_pFtEditName;
FixedText aFtResult; FixedText *m_pFtResult;
ValWnd aWndResult; ValWnd *m_pWndResult;
FixedText aFtFormula; FixedText *m_pFtFormula;
EditBox aMEFormula; EditBox *m_pMEFormula;
CheckBox aBtnMatrix; CheckBox *m_pBtnMatrix;
HelpButton aBtnHelp; CancelButton *m_pBtnCancel;
CancelButton aBtnCancel;
PushButton aBtnBackward; PushButton *m_pBtnBackward;
PushButton aBtnForward; PushButton *m_pBtnForward;
OKButton aBtnEnd; OKButton *m_pBtnEnd;
RefEdit aEdRef; RefEdit *m_pEdRef;
RefButton aRefBtn; RefButton *m_pRefBtn;
FixedText aFtFormResult; FixedText *m_pFtFormResult;
ValWnd aWndFormResult; ValWnd *m_pWndFormResult;
RefEdit* pTheRefEdit; RefEdit* pTheRefEdit;
RefButton* pTheRefButton; RefButton* pTheRefButton;
@@ -188,7 +188,7 @@ namespace formula
const OUString aTitle1; const OUString aTitle1;
const OUString aTitle2; const OUString aTitle2;
const OUString aTxtEnd; const OUString aTxtEnd;
const OUString aTxtOk; // behind aBtnEnd OUString aTxtOk; // behind aBtnEnd
FormulaHelper m_aFormulaHelper; FormulaHelper m_aFormulaHelper;
OString m_aEditHelpId; OString m_aEditHelpId;
@@ -233,96 +233,111 @@ FormulaDlg_Impl::FormulaDlg_Impl(Dialog* pParent
m_pHelper (_pHelper), m_pHelper (_pHelper),
m_pParent (pParent), m_pParent (pParent),
m_pDlg (_pDlg), m_pDlg (_pDlg),
aTabCtrl ( pParent, ModuleRes( TC_FUNCTION ) ),
aGEdit ( pParent, ModuleRes( GB_EDIT ) ),
aFtHeadLine ( pParent, ModuleRes( FT_HEADLINE ) ),
aFtFuncName ( pParent, ModuleRes( FT_FUNCNAME ) ),
aFtFuncDesc ( pParent, ModuleRes( FT_FUNCDESC ) ),
aFtEditName ( pParent, ModuleRes( FT_EDITNAME ) ),
aFtResult ( pParent, ModuleRes( FT_RESULT ) ),
aWndResult ( pParent, ModuleRes( WND_RESULT ) ),
aFtFormula ( pParent, ModuleRes( FT_FORMULA ) ),
aMEFormula ( pParent, ModuleRes( ED_FORMULA ) ),
aBtnMatrix ( pParent, ModuleRes( BTN_MATRIX ) ),
aBtnHelp ( pParent, ModuleRes( BTN_HELP ) ),
aBtnCancel ( pParent, ModuleRes( BTN_CANCEL ) ),
aBtnBackward ( pParent, ModuleRes( BTN_BACKWARD ) ),
aBtnForward ( pParent, ModuleRes( BTN_FORWARD ) ),
aBtnEnd ( pParent, ModuleRes( BTN_END ) ),
aEdRef ( pParent, _pDlg, &aFtEditName, ModuleRes( ED_REF) ),
aRefBtn ( pParent, ModuleRes( RB_REF), &aEdRef, _pDlg ),
aFtFormResult ( pParent, ModuleRes( FT_FORMULA_RESULT)),
aWndFormResult ( pParent, ModuleRes( WND_FORMULA_RESULT)),
pTheRefEdit (NULL), pTheRefEdit (NULL),
pTheRefButton (NULL), pTheRefButton (NULL),
pMEdit (NULL), pMEdit (NULL),
bUserMatrixFlag (false), bUserMatrixFlag (false),
aTitle1 ( ModuleRes( STR_TITLE1 ) ), // local resource aTitle1 ( ModuleRes( STR_TITLE1 ) ),
aTitle2 ( ModuleRes( STR_TITLE2 ) ), // local resource aTitle2 ( ModuleRes( STR_TITLE2 ) ),
aTxtEnd ( ModuleRes( STR_END ) ), // local resource aTxtEnd ( ModuleRes( STR_END ) ),
aTxtOk ( aBtnEnd.GetText() ),
m_aFormulaHelper(_pFunctionMgr), m_aFormulaHelper(_pFunctionMgr),
bIsShutDown (false), bIsShutDown (false),
nEdFocus (0), nEdFocus (0),
pFuncDesc (NULL), pFuncDesc (NULL),
nArgs (0) nArgs (0)
{ {
pParaWin = new ParaWin( pParent,_pDlg, aGEdit.GetPosPixel()); pParent->get(m_pParaWinBox, "BOX");
aGEdit.Hide(); pParent->get(m_pTabCtrl, "tabs");
pParaWin->Hide(); pParent->get(m_pFtHeadLine, "headline");
aFtEditName.Hide(); pParent->get(m_pFtFuncName, "funcname");
aEdRef.Hide(); pParent->get(m_pFtFuncDesc, "funcdesc");
aRefBtn.Hide(); pParent->get(m_pFtEditName, "editname");
pParent->get(m_pFtResult, "label2");
pParent->get(m_pWndResult, "result");
pParent->get(m_pFtFormula, "formula");
pMEdit = aMEFormula.GetEdit(); //Space for two lines of text
m_pFtHeadLine->SetText("X\nX\n");
long nHeight = m_pFtHeadLine->GetOptimalSize().Height();
m_pFtHeadLine->set_height_request(nHeight);
m_pFtHeadLine->SetText("");
aMEFormula.SetAccessibleName(aFtFormula.GetText()); m_pFtFuncName->SetText("X\nX\n");
pMEdit->SetAccessibleName(aFtFormula.GetText()); nHeight = m_pFtFuncName->GetOptimalSize().Height();
m_pFtFuncName->set_height_request(nHeight);
m_pFtFuncDesc->set_height_request(nHeight);
m_pFtFuncName->SetText("");
pParent->get(m_pMEFormula, "ed_formula");
Size aSize(pParent->LogicToPixel(Size(203, 43), MAP_APPFONT));
m_pMEFormula->set_height_request(aSize.Height());
m_pMEFormula->set_width_request(aSize.Width());
pParent->get(m_pBtnMatrix, "array");
pParent->get(m_pBtnCancel, "cancel");
pParent->get(m_pBtnBackward, "back");
pParent->get(m_pBtnForward, "next");
pParent->get(m_pBtnEnd, "ok");
aTxtOk = m_pBtnEnd->GetText();
pParent->get(m_pFtFormResult, "label1");
pParent->get(m_pWndFormResult, "formula_result");
pParent->get(m_pEdRef, "ED_REF");
m_pEdRef->SetReferences(_pDlg, m_pFtEditName);
pParent->get(m_pRefBtn, "RB_REF");
m_pRefBtn->SetReferences(_pDlg, m_pEdRef);
pParaWin = new ParaWin(m_pParaWinBox, _pDlg);
pParaWin->Show();
m_pParaWinBox->Hide();
m_pFtEditName->Hide();
m_pEdRef->Hide();
m_pRefBtn->Hide();
pMEdit = m_pMEFormula->GetEdit();
m_pMEFormula->SetAccessibleName(m_pFtFormula->GetText());
pMEdit->SetAccessibleName(m_pFtFormula->GetText());
m_aEditHelpId = pMEdit->GetHelpId(); m_aEditHelpId = pMEdit->GetHelpId();
pMEdit->SetUniqueId( m_aEditHelpId ); pMEdit->SetUniqueId( m_aEditHelpId );
bEditFlag=false; bEditFlag=false;
bStructUpdate=true; bStructUpdate=true;
Point aPos=aGEdit.GetPosPixel();
pParaWin->SetPosPixel(aPos);
pParaWin->SetArgModifiedHdl(LINK( this, FormulaDlg_Impl, ModifyHdl ) ); pParaWin->SetArgModifiedHdl(LINK( this, FormulaDlg_Impl, ModifyHdl ) );
pParaWin->SetFxHdl(LINK( this, FormulaDlg_Impl, FxHdl ) ); pParaWin->SetFxHdl(LINK( this, FormulaDlg_Impl, FxHdl ) );
pFuncPage= new FuncPage( &aTabCtrl,_pFunctionMgr); pFuncPage= new FuncPage( m_pTabCtrl,_pFunctionMgr);
pStructPage= new StructPage( &aTabCtrl); pStructPage= new StructPage( m_pTabCtrl);
pFuncPage->Hide(); pFuncPage->Hide();
pStructPage->Hide(); pStructPage->Hide();
aTabCtrl.SetTabPage( TP_FUNCTION, pFuncPage); m_pTabCtrl->SetTabPage( TP_FUNCTION, pFuncPage);
aTabCtrl.SetTabPage( TP_STRUCT, pStructPage); m_pTabCtrl->SetTabPage( TP_STRUCT, pStructPage);
aOldHelp = pParent->GetHelpId(); // HelpId from resource always for "Page 1" aOldHelp = pParent->GetHelpId(); // HelpId from resource always for "Page 1"
aOldUnique = pParent->GetUniqueId(); aOldUnique = pParent->GetUniqueId();
aFtResult.Show( _bSupportResult ); m_pFtResult->Show( _bSupportResult );
aWndResult.Show( _bSupportResult ); m_pWndResult->Show( _bSupportResult );
aFtFormResult.Show( _bSupportFunctionResult ); m_pFtFormResult->Show( _bSupportFunctionResult );
aWndFormResult.Show( _bSupportFunctionResult ); m_pWndFormResult->Show( _bSupportFunctionResult );
if ( _bSupportMatrix ) if ( _bSupportMatrix )
aBtnMatrix.SetClickHdl(LINK( this, FormulaDlg_Impl, MatrixHdl ) ); m_pBtnMatrix->SetClickHdl(LINK( this, FormulaDlg_Impl, MatrixHdl ) );
else else
aBtnMatrix.Hide(); m_pBtnMatrix->Hide();
aBtnCancel .SetClickHdl( LINK( this, FormulaDlg_Impl, BtnHdl ) ); m_pBtnCancel ->SetClickHdl( LINK( this, FormulaDlg_Impl, BtnHdl ) );
aBtnEnd .SetClickHdl( LINK( this, FormulaDlg_Impl, BtnHdl ) ); m_pBtnEnd ->SetClickHdl( LINK( this, FormulaDlg_Impl, BtnHdl ) );
aBtnForward .SetClickHdl( LINK( this, FormulaDlg_Impl, BtnHdl ) ); m_pBtnForward ->SetClickHdl( LINK( this, FormulaDlg_Impl, BtnHdl ) );
aBtnBackward.SetClickHdl( LINK( this, FormulaDlg_Impl, BtnHdl ) ); m_pBtnBackward->SetClickHdl( LINK( this, FormulaDlg_Impl, BtnHdl ) );
pFuncPage->SetDoubleClickHdl( LINK( this, FormulaDlg_Impl, DblClkHdl ) ); pFuncPage->SetDoubleClickHdl( LINK( this, FormulaDlg_Impl, DblClkHdl ) );
pFuncPage->SetSelectHdl( LINK( this, FormulaDlg_Impl, FuncSelHdl) ); pFuncPage->SetSelectHdl( LINK( this, FormulaDlg_Impl, FuncSelHdl) );
pStructPage->SetSelectionHdl( LINK( this, FormulaDlg_Impl, StructSelHdl ) ); pStructPage->SetSelectionHdl( LINK( this, FormulaDlg_Impl, StructSelHdl ) );
pMEdit->SetModifyHdl( LINK( this, FormulaDlg_Impl, FormulaHdl ) ); pMEdit->SetModifyHdl( LINK( this, FormulaDlg_Impl, FormulaHdl ) );
aMEFormula.SetSelChangedHdl( LINK( this, FormulaDlg_Impl, FormulaCursorHdl ) ); m_pMEFormula->SetSelChangedHdl( LINK( this, FormulaDlg_Impl, FormulaCursorHdl ) );
aFntLight = aFtFormula.GetFont(); aFntLight = m_pFtFormula->GetFont();
aFntLight.SetTransparent( true ); aFntLight.SetTransparent( true );
aFntBold = aFntLight; aFntBold = aFntLight;
aFntBold.SetWeight( WEIGHT_BOLD ); aFntBold.SetWeight( WEIGHT_BOLD );
@@ -331,9 +346,9 @@ FormulaDlg_Impl::FormulaDlg_Impl(Dialog* pParent
// function description for choosing a function is no longer in a different color // function description for choosing a function is no longer in a different color
aFtHeadLine.SetFont(aFntBold); m_pFtHeadLine->SetFont(aFntBold);
aFtFuncName.SetFont(aFntLight); m_pFtFuncName->SetFont(aFntLight);
aFtFuncDesc.SetFont(aFntLight); m_pFtFuncDesc->SetFont(aFntLight);
} }
FormulaDlg_Impl::~FormulaDlg_Impl() FormulaDlg_Impl::~FormulaDlg_Impl()
@@ -345,8 +360,8 @@ FormulaDlg_Impl::~FormulaDlg_Impl()
}// if(aTimer.IsActive()) }// if(aTimer.IsActive())
bIsShutDown=true;// Set it in order to PreNotify not to save GetFocus. bIsShutDown=true;// Set it in order to PreNotify not to save GetFocus.
aTabCtrl.RemovePage(TP_FUNCTION); m_pTabCtrl->RemovePage(TP_FUNCTION);
aTabCtrl.RemovePage(TP_STRUCT); m_pTabCtrl->RemovePage(TP_STRUCT);
delete pStructPage; delete pStructPage;
delete pFuncPage; delete pFuncPage;
@@ -361,12 +376,12 @@ void FormulaDlg_Impl::StoreFormEditData(FormEditData* pData)
pData->SetFStart(pMEdit->GetSelection().Min()); pData->SetFStart(pMEdit->GetSelection().Min());
pData->SetSelection(pMEdit->GetSelection()); pData->SetSelection(pMEdit->GetSelection());
if(aTabCtrl.GetCurPageId()==TP_FUNCTION) if(m_pTabCtrl->GetCurPageId()==TP_FUNCTION)
pData->SetMode( (sal_uInt16) FORMULA_FORMDLG_FORMULA ); pData->SetMode( (sal_uInt16) FORMULA_FORMDLG_FORMULA );
else else
pData->SetMode( (sal_uInt16) FORMULA_FORMDLG_EDIT ); pData->SetMode( (sal_uInt16) FORMULA_FORMDLG_EDIT );
pData->SetUndoStr(pMEdit->GetText()); pData->SetUndoStr(pMEdit->GetText());
pData->SetMatrixFlag(aBtnMatrix.IsChecked()); pData->SetMatrixFlag(m_pBtnMatrix->IsChecked());
} }
} }
@@ -480,7 +495,7 @@ sal_Int32 FormulaDlg_Impl::GetFunctionPos(sal_Int32 nPos)
if( !bUserMatrixFlag && FormulaCompiler::IsMatrixFunction((OpCode)eOp) ) if( !bUserMatrixFlag && FormulaCompiler::IsMatrixFunction((OpCode)eOp) )
{ {
aBtnMatrix.Check(); m_pBtnMatrix->Check();
} }
if( eOp == m_aSpecialOpCodes[sheet::FormulaMapGroupSpecialOffset::PUSH].Token.OpCode || if( eOp == m_aSpecialOpCodes[sheet::FormulaMapGroupSpecialOffset::PUSH].Token.OpCode ||
@@ -582,15 +597,15 @@ void FormulaDlg_Impl::UpdateValues()
OUString aStrResult; OUString aStrResult;
if ( CalcValue( pFuncDesc->getFormula( m_aArguments ), aStrResult ) ) if ( CalcValue( pFuncDesc->getFormula( m_aArguments ), aStrResult ) )
aWndResult.SetValue( aStrResult ); m_pWndResult->SetValue( aStrResult );
aStrResult = ""; aStrResult = "";
if ( CalcValue(m_pHelper->getCurrentFormula(), aStrResult ) ) if ( CalcValue(m_pHelper->getCurrentFormula(), aStrResult ) )
aWndFormResult.SetValue( aStrResult ); m_pWndFormResult->SetValue( aStrResult );
else else
{ {
aStrResult = ""; aStrResult = "";
aWndFormResult.SetValue( aStrResult ); m_pWndFormResult->SetValue( aStrResult );
} }
CalcStruct(pMEdit->GetText()); CalcStruct(pMEdit->GetText());
} }
@@ -618,7 +633,7 @@ bool FormulaDlg_Impl::CalcStruct( const OUString& rStrExp)
OUString aStrResult; OUString aStrResult;
if ( CalcValue(aString, aStrResult ) ) if ( CalcValue(aString, aStrResult ) )
aWndFormResult.SetValue( aStrResult ); m_pWndFormResult->SetValue( aStrResult );
UpdateTokenArray(aString); UpdateTokenArray(aString);
fillTree(pStructPage); fillTree(pStructPage);
@@ -754,18 +769,18 @@ void FormulaDlg_Impl::FillDialog(bool nFlag)
FillListboxes(); FillListboxes();
if(nFlag) if(nFlag)
{ {
aBtnBackward.Enable(bPrev); m_pBtnBackward->Enable(bPrev);
aBtnForward.Enable(bNext); m_pBtnForward->Enable(bNext);
} }
OUString aStrResult; OUString aStrResult;
if ( CalcValue(m_pHelper->getCurrentFormula(), aStrResult ) ) if ( CalcValue(m_pHelper->getCurrentFormula(), aStrResult ) )
aWndFormResult.SetValue( aStrResult ); m_pWndFormResult->SetValue( aStrResult );
else else
{ {
aStrResult = ""; aStrResult = "";
aWndFormResult.SetValue( aStrResult ); m_pWndFormResult->SetValue( aStrResult );
} }
} }
@@ -826,13 +841,13 @@ void FormulaDlg_Impl::FillControls(bool &rbNext, bool &rbPrev)
bTestFlag = (pOldFuncDesc != pFuncDesc); bTestFlag = (pOldFuncDesc != pFuncDesc);
if(bTestFlag) if(bTestFlag)
{ {
aFtHeadLine.Hide(); m_pFtHeadLine->Hide();
aFtFuncName.Hide(); m_pFtFuncName->Hide();
aFtFuncDesc.Hide(); m_pFtFuncDesc->Hide();
pParaWin->SetFunctionDesc(pFuncDesc); pParaWin->SetFunctionDesc(pFuncDesc);
aFtEditName.SetText( pFuncDesc->getFunctionName() ); m_pFtEditName->SetText( pFuncDesc->getFunctionName() );
aFtEditName.Show(); m_pFtEditName->Show();
pParaWin->Show(); m_pParaWinBox->Show();
const OString aHelpId = pFuncDesc->getHelpId(); const OString aHelpId = pFuncDesc->getHelpId();
if ( !aHelpId.isEmpty() ) if ( !aHelpId.isEmpty() )
pMEdit->SetHelpId(aHelpId); pMEdit->SetHelpId(aHelpId);
@@ -889,7 +904,7 @@ void FormulaDlg_Impl::FillControls(bool &rbNext, bool &rbPrev)
} }
else else
{ {
aFtEditName.SetText(""); m_pFtEditName->SetText("");
pMEdit->SetHelpId( m_aEditHelpId ); pMEdit->SetHelpId( m_aEditHelpId );
} }
// Test, ob vorne/hinten noch mehr Funktionen sind // Test, ob vorne/hinten noch mehr Funktionen sind
@@ -907,19 +922,19 @@ void FormulaDlg_Impl::ClearAllParas()
DeleteArgs(); DeleteArgs();
pFuncDesc = NULL; pFuncDesc = NULL;
pParaWin->ClearAll(); pParaWin->ClearAll();
aWndResult.SetValue(OUString()); m_pWndResult->SetValue(OUString());
aFtFuncName.SetText(OUString()); m_pFtFuncName->SetText(OUString());
FuncSelHdl(NULL); FuncSelHdl(NULL);
if (pFuncPage->IsVisible()) if (pFuncPage->IsVisible())
{ {
aFtEditName.Hide(); m_pFtEditName->Hide();
pParaWin->Hide(); m_pParaWinBox->Hide();
aBtnForward.Enable(true); //@new m_pBtnForward->Enable(true); //@new
aFtHeadLine.Show(); m_pFtHeadLine->Show();
aFtFuncName.Show(); m_pFtFuncName->Show();
aFtFuncDesc.Show(); m_pFtFuncDesc->Show();
} }
} }
OUString FormulaDlg_Impl::RepairFormula(const OUString& aFormula) OUString FormulaDlg_Impl::RepairFormula(const OUString& aFormula)
@@ -961,7 +976,7 @@ void FormulaDlg_Impl::DoEnter(bool bOk)
m_pHelper->switchBack(); m_pHelper->switchBack();
m_pHelper->dispatch(bOk,aBtnMatrix.IsChecked()); m_pHelper->dispatch(bOk,m_pBtnMatrix->IsChecked());
// Clear data // Clear data
m_pHelper->deleteFormData(); m_pHelper->deleteFormData();
@@ -972,15 +987,15 @@ void FormulaDlg_Impl::DoEnter(bool bOk)
IMPL_LINK( FormulaDlg_Impl, BtnHdl, PushButton*, pBtn ) IMPL_LINK( FormulaDlg_Impl, BtnHdl, PushButton*, pBtn )
{ {
if ( pBtn == &aBtnCancel ) if ( pBtn == m_pBtnCancel )
{ {
DoEnter(false); // closes the Dialog DoEnter(false); // closes the Dialog
} }
else if ( pBtn == &aBtnEnd ) else if ( pBtn == m_pBtnEnd )
{ {
DoEnter(true); // closes the Dialog DoEnter(true); // closes the Dialog
} }
else if ( pBtn == &aBtnForward ) else if ( pBtn == m_pBtnForward )
{ {
const IFunctionDescription* pDesc =pFuncPage->GetFuncDesc( pFuncPage->GetFunction() ); const IFunctionDescription* pDesc =pFuncPage->GetFuncDesc( pFuncPage->GetFunction() );
@@ -989,16 +1004,16 @@ IMPL_LINK( FormulaDlg_Impl, BtnHdl, PushButton*, pBtn )
else else
{ {
DblClkHdl(pFuncPage); //new DblClkHdl(pFuncPage); //new
aBtnForward.Enable(false); //new m_pBtnForward->Enable(false); //new
} }
} }
else if ( pBtn == &aBtnBackward ) else if ( pBtn == m_pBtnBackward )
{ {
bEditFlag=false; bEditFlag=false;
aBtnForward.Enable(true); m_pBtnForward->Enable(true);
EditNextFunc( false ); EditNextFunc( false );
aMEFormula.Invalidate(); m_pMEFormula->Invalidate();
aMEFormula.Update(); m_pMEFormula->Update();
} }
@@ -1038,11 +1053,11 @@ IMPL_LINK_NOARG(FormulaDlg_Impl, DblClkHdl)
if(nArgs==0) if(nArgs==0)
{ {
BtnHdl(&aBtnBackward); BtnHdl(m_pBtnBackward);
} }
pParaWin->SetEdFocus(0); pParaWin->SetEdFocus(0);
aBtnForward.Enable(false); //@New m_pBtnForward->Enable(false); //@New
return 0; return 0;
} }
@@ -1066,7 +1081,7 @@ void FormulaDlg_Impl::SetData(sal_Int32 nFStart, sal_Int32 nNextFStart, sal_Int3
if(!bEditFlag) if(!bEditFlag)
{ {
pMEdit->SetSelection( Selection(PrivStart, PrivEnd)); pMEdit->SetSelection( Selection(PrivStart, PrivEnd));
aMEFormula.UpdateOldSel(); m_pMEFormula->UpdateOldSel();
} }
FormEditData* pData = m_pHelper->getFormEditData(); FormEditData* pData = m_pHelper->getFormEditData();
@@ -1182,8 +1197,8 @@ IMPL_LINK( FormulaDlg_Impl, FxHdl, ParaWin*, pPtr )
{ {
if(pPtr==pParaWin) if(pPtr==pParaWin)
{ {
aBtnForward.Enable(true); //@ In order to be able to input another function. m_pBtnForward->Enable(true); //@ In order to be able to input another function.
aTabCtrl.SetCurPageId(TP_FUNCTION); m_pTabCtrl->SetCurPageId(TP_FUNCTION);
OUString aUndoStr = m_pHelper->getCurrentFormula(); // it will be added before a ";" OUString aUndoStr = m_pHelper->getCurrentFormula(); // it will be added before a ";"
FormEditData* pData = m_pHelper->getFormEditData(); FormEditData* pData = m_pHelper->getFormEditData();
@@ -1266,11 +1281,11 @@ IMPL_LINK_NOARG(FormulaDlg_Impl, FormulaHdl)
OUString aStrResult; OUString aStrResult;
if ( CalcValue(m_pHelper->getCurrentFormula(), aStrResult ) ) if ( CalcValue(m_pHelper->getCurrentFormula(), aStrResult ) )
aWndFormResult.SetValue( aStrResult ); m_pWndFormResult->SetValue( aStrResult );
else else
{ {
aStrResult = ""; aStrResult = "";
aWndFormResult.SetValue( aStrResult ); m_pWndFormResult->SetValue( aStrResult );
} }
CalcStruct(aString); CalcStruct(aString);
@@ -1385,36 +1400,36 @@ void FormulaDlg_Impl::UpdateSelection()
Selection aSel(nArgPos,nArgPos+nLength); Selection aSel(nArgPos,nArgPos+nLength);
m_pHelper->setSelection((sal_uInt16)nArgPos,(sal_uInt16)(nArgPos+nLength)); m_pHelper->setSelection((sal_uInt16)nArgPos,(sal_uInt16)(nArgPos+nLength));
pMEdit->SetSelection(aSel); pMEdit->SetSelection(aSel);
aMEFormula.UpdateOldSel(); m_pMEFormula->UpdateOldSel();
} }
::std::pair<RefButton*,RefEdit*> FormulaDlg_Impl::RefInputStartBefore( RefEdit* pEdit, RefButton* pButton ) ::std::pair<RefButton*,RefEdit*> FormulaDlg_Impl::RefInputStartBefore( RefEdit* pEdit, RefButton* pButton )
{ {
aEdRef.Show(); m_pEdRef->Show();
pTheRefEdit = pEdit; pTheRefEdit = pEdit;
pTheRefButton = pButton; pTheRefButton = pButton;
if( pTheRefEdit ) if( pTheRefEdit )
{ {
aEdRef.SetRefString( pTheRefEdit->GetText() ); m_pEdRef->SetRefString( pTheRefEdit->GetText() );
aEdRef.SetSelection( pTheRefEdit->GetSelection() ); m_pEdRef->SetSelection( pTheRefEdit->GetSelection() );
aEdRef.SetHelpId( pTheRefEdit->GetHelpId() ); m_pEdRef->SetHelpId( pTheRefEdit->GetHelpId() );
aEdRef.SetUniqueId( pTheRefEdit->GetUniqueId() ); m_pEdRef->SetUniqueId( pTheRefEdit->GetUniqueId() );
} }
aRefBtn.Show( pButton != NULL ); m_pRefBtn->Show( pButton != NULL );
::std::pair<RefButton*,RefEdit*> aPair; ::std::pair<RefButton*,RefEdit*> aPair;
aPair.first = pButton ? &aRefBtn : NULL; aPair.first = pButton ? m_pRefBtn : NULL;
aPair.second = &aEdRef; aPair.second = m_pEdRef;
return aPair; return aPair;
} }
void FormulaDlg_Impl::RefInputStartAfter( RefEdit* /*pEdit*/, RefButton* /*pButton*/ ) void FormulaDlg_Impl::RefInputStartAfter( RefEdit* /*pEdit*/, RefButton* /*pButton*/ )
{ {
aRefBtn.SetEndImage(); m_pRefBtn->SetEndImage();
if( pTheRefEdit ) if( pTheRefEdit )
{ {
OUString aStr = aTitle2 + " " + aFtEditName.GetText() + "( "; OUString aStr = aTitle2 + " " + m_pFtEditName->GetText() + "( ";
if( pParaWin->GetActiveLine() > 0 ) if( pParaWin->GetActiveLine() > 0 )
aStr += "...; "; aStr += "...; ";
@@ -1428,21 +1443,21 @@ void FormulaDlg_Impl::RefInputStartAfter( RefEdit* /*pEdit*/, RefButton* /*pButt
} }
void FormulaDlg_Impl::RefInputDoneAfter( bool bForced ) void FormulaDlg_Impl::RefInputDoneAfter( bool bForced )
{ {
aRefBtn.SetStartImage(); m_pRefBtn->SetStartImage();
if( bForced || !aRefBtn.IsVisible() ) if( bForced || !m_pRefBtn->IsVisible() )
{ {
aEdRef.Hide(); m_pEdRef->Hide();
aRefBtn.Hide(); m_pRefBtn->Hide();
if( pTheRefEdit ) if( pTheRefEdit )
{ {
pTheRefEdit->SetRefString( aEdRef.GetText() ); pTheRefEdit->SetRefString( m_pEdRef->GetText() );
pTheRefEdit->GrabFocus(); pTheRefEdit->GrabFocus();
if( pTheRefButton ) if( pTheRefButton )
pTheRefButton->SetStartImage(); pTheRefButton->SetStartImage();
sal_uInt16 nPrivActiv = pParaWin->GetActiveLine(); sal_uInt16 nPrivActiv = pParaWin->GetActiveLine();
pParaWin->SetArgument( nPrivActiv, aEdRef.GetText() ); pParaWin->SetArgument( nPrivActiv, m_pEdRef->GetText() );
ModifyHdl( pParaWin ); ModifyHdl( pParaWin );
pTheRefEdit = NULL; pTheRefEdit = NULL;
} }
@@ -1451,7 +1466,7 @@ void FormulaDlg_Impl::RefInputDoneAfter( bool bForced )
} }
RefEdit* FormulaDlg_Impl::GetCurrRefEdit() RefEdit* FormulaDlg_Impl::GetCurrRefEdit()
{ {
return aEdRef.IsVisible() ? &aEdRef : pParaWin->GetActiveEdit(); return m_pEdRef->IsVisible() ? m_pEdRef : pParaWin->GetActiveEdit();
} }
void FormulaDlg_Impl::Update() void FormulaDlg_Impl::Update()
{ {
@@ -1459,13 +1474,13 @@ void FormulaDlg_Impl::Update()
const OUString sExpression = pMEdit->GetText(); const OUString sExpression = pMEdit->GetText();
aOldFormula = ""; aOldFormula = "";
UpdateTokenArray(sExpression); UpdateTokenArray(sExpression);
FormulaCursorHdl(&aMEFormula); FormulaCursorHdl(m_pMEFormula);
CalcStruct(sExpression); CalcStruct(sExpression);
if(pData->GetMode() == FORMULA_FORMDLG_FORMULA) if(pData->GetMode() == FORMULA_FORMDLG_FORMULA)
aTabCtrl.SetCurPageId(TP_FUNCTION); m_pTabCtrl->SetCurPageId(TP_FUNCTION);
else else
aTabCtrl.SetCurPageId(TP_STRUCT); m_pTabCtrl->SetCurPageId(TP_STRUCT);
aBtnMatrix.Check(pData->GetMatrixFlag()); m_pBtnMatrix->Check(pData->GetMatrixFlag());
} }
void FormulaDlg_Impl::Update(const OUString& _sExp) void FormulaDlg_Impl::Update(const OUString& _sExp)
{ {
@@ -1478,7 +1493,7 @@ void FormulaDlg_Impl::SetMeText(const OUString& _sText)
FormEditData* pData = m_pHelper->getFormEditData(); FormEditData* pData = m_pHelper->getFormEditData();
pMEdit->SetText(_sText); pMEdit->SetText(_sText);
pMEdit->SetSelection( pData->GetSelection()); pMEdit->SetSelection( pData->GetSelection());
aMEFormula.UpdateOldSel(); m_pMEFormula->UpdateOldSel();
} }
FormulaDlgMode FormulaDlg_Impl::SetMeText(const OUString& _sText, sal_Int32 PrivStart, sal_Int32 PrivEnd, bool bMatrix, bool _bSelect, bool _bUpdate) FormulaDlgMode FormulaDlg_Impl::SetMeText(const OUString& _sText, sal_Int32 PrivStart, sal_Int32 PrivEnd, bool bMatrix, bool _bSelect, bool _bUpdate)
{ {
@@ -1490,12 +1505,12 @@ FormulaDlgMode FormulaDlg_Impl::SetMeText(const OUString& _sText, sal_Int32 Priv
pMEdit->SetSelection( Selection(PrivStart, PrivEnd)); pMEdit->SetSelection( Selection(PrivStart, PrivEnd));
if ( _bUpdate ) if ( _bUpdate )
{ {
aMEFormula.UpdateOldSel(); m_pMEFormula->UpdateOldSel();
pMEdit->Invalidate(); pMEdit->Invalidate();
m_pHelper->showReference(pMEdit->GetSelected()); m_pHelper->showReference(pMEdit->GetSelected());
eMode = FORMULA_FORMDLG_EDIT; eMode = FORMULA_FORMDLG_EDIT;
aBtnMatrix.Check( bMatrix ); m_pBtnMatrix->Check( bMatrix );
} // if ( _bUpdate ) } // if ( _bUpdate )
return eMode; return eMode;
} }
@@ -1510,17 +1525,17 @@ bool FormulaDlg_Impl::CheckMatrix(OUString& aFormula)
if ( bMatrix ) if ( bMatrix )
{ {
aFormula = aFormula.copy( 1, aFormula.getLength()-2 ); aFormula = aFormula.copy( 1, aFormula.getLength()-2 );
aBtnMatrix.Check( bMatrix ); m_pBtnMatrix->Check( bMatrix );
aBtnMatrix.Disable(); m_pBtnMatrix->Disable();
} // if ( bMatrix ) } // if ( bMatrix )
aTabCtrl.SetCurPageId(TP_STRUCT); m_pTabCtrl->SetCurPageId(TP_STRUCT);
return bMatrix; return bMatrix;
} }
IMPL_LINK_NOARG(FormulaDlg_Impl, StructSelHdl) IMPL_LINK_NOARG(FormulaDlg_Impl, StructSelHdl)
{ {
bStructUpdate=false; bStructUpdate=false;
if(pStructPage->IsVisible()) aBtnForward.Enable(false); //@New if(pStructPage->IsVisible()) m_pBtnForward->Enable(false); //@New
bStructUpdate=true; bStructUpdate=true;
return 0; return 0;
@@ -1543,23 +1558,23 @@ IMPL_LINK_NOARG(FormulaDlg_Impl, FuncSelHdl)
{ {
const IFunctionDescription* pDesc =pFuncPage->GetFuncDesc( pFuncPage->GetFunction() ); const IFunctionDescription* pDesc =pFuncPage->GetFuncDesc( pFuncPage->GetFunction() );
if(pDesc!=pFuncDesc) aBtnForward.Enable(true); //new if(pDesc!=pFuncDesc) m_pBtnForward->Enable(true); //new
if (pDesc) if (pDesc)
{ {
pDesc->initArgumentInfo(); // full argument info is needed pDesc->initArgumentInfo(); // full argument info is needed
OUString aSig = pDesc->getSignature(); OUString aSig = pDesc->getSignature();
aFtHeadLine.SetText( pDesc->getFunctionName() ); m_pFtHeadLine->SetText( pDesc->getFunctionName() );
aFtFuncName.SetText( aSig ); m_pFtFuncName->SetText( aSig );
aFtFuncDesc.SetText( pDesc->getDescription() ); m_pFtFuncDesc->SetText( pDesc->getDescription() );
} }
} }
else else
{ {
aFtHeadLine.SetText( OUString() ); m_pFtHeadLine->SetText( OUString() );
aFtFuncName.SetText( OUString() ); m_pFtFuncName->SetText( OUString() );
aFtFuncDesc.SetText( OUString() ); m_pFtFuncDesc->SetText( OUString() );
} }
return 0; return 0;
} }
@@ -1567,15 +1582,15 @@ IMPL_LINK_NOARG(FormulaDlg_Impl, FuncSelHdl)
void FormulaDlg_Impl::UpdateParaWin(const Selection& _rSelection, const OUString& _sRefStr) void FormulaDlg_Impl::UpdateParaWin(const Selection& _rSelection, const OUString& _sRefStr)
{ {
Selection theSel = _rSelection; Selection theSel = _rSelection;
aEdRef.ReplaceSelected( _sRefStr ); m_pEdRef->ReplaceSelected( _sRefStr );
theSel.Max() = theSel.Min() + _sRefStr.getLength(); theSel.Max() = theSel.Min() + _sRefStr.getLength();
aEdRef.SetSelection( theSel ); m_pEdRef->SetSelection( theSel );
// Manual Update of the results' fields: // Manual Update of the results' fields:
sal_uInt16 nPrivActiv = pParaWin->GetActiveLine(); sal_uInt16 nPrivActiv = pParaWin->GetActiveLine();
pParaWin->SetArgument(nPrivActiv,aEdRef.GetText()); pParaWin->SetArgument(nPrivActiv,m_pEdRef->GetText());
pParaWin->UpdateParas(); pParaWin->UpdateParas();
Edit* pEd = GetCurrRefEdit(); Edit* pEd = GetCurrRefEdit();
@@ -1595,14 +1610,14 @@ bool FormulaDlg_Impl::UpdateParaWin(Selection& _rSelection)
_rSelection=pEd->GetSelection(); _rSelection=pEd->GetSelection();
_rSelection.Justify(); _rSelection.Justify();
aStrEd=pEd->GetText(); aStrEd=pEd->GetText();
aEdRef.SetRefString(aStrEd); m_pEdRef->SetRefString(aStrEd);
aEdRef.SetSelection( _rSelection ); m_pEdRef->SetSelection( _rSelection );
} }
else else
{ {
_rSelection=aEdRef.GetSelection(); _rSelection=m_pEdRef->GetSelection();
_rSelection.Justify(); _rSelection.Justify();
aStrEd= aEdRef.GetText(); aStrEd= m_pEdRef->GetText();
} }
return pTheRefEdit == NULL; return pTheRefEdit == NULL;
} }
@@ -1612,7 +1627,7 @@ void FormulaDlg_Impl::SetEdSelection()
Edit* pEd = GetCurrRefEdit()/*aScParaWin.GetActiveEdit()*/; Edit* pEd = GetCurrRefEdit()/*aScParaWin.GetActiveEdit()*/;
if( pEd ) if( pEd )
{ {
Selection theSel = aEdRef.GetSelection(); Selection theSel = m_pEdRef->GetSelection();
// Edit may have the focus -> call ModifyHdl in addition // Edit may have the focus -> call ModifyHdl in addition
// to what's happening in GetFocus // to what's happening in GetFocus
pEd->GetModifyHdl().Call(pEd); pEd->GetModifyHdl().Call(pEd);
@@ -1714,13 +1729,12 @@ FormulaDlg::FormulaDlg( SfxBindings* pB, SfxChildWindow* pCW,
, bool _bSupportResult , bool _bSupportResult
, bool _bSupportMatrix , bool _bSupportMatrix
, IFunctionManager* _pFunctionMgr, IControlReferenceHandler* _pDlg ) : , IFunctionManager* _pFunctionMgr, IControlReferenceHandler* _pDlg ) :
SfxModelessDialog( pB, pCW, pParent, ModuleRes(RID_FORMULADLG_FORMULA) ), SfxModelessDialog( pB, pCW, pParent, "FormulaDialog", "formula/ui/formuladialog.ui" ),
m_pImpl( new FormulaDlg_Impl(this, _bSupportFunctionResult m_pImpl( new FormulaDlg_Impl(this, _bSupportFunctionResult
, _bSupportResult , _bSupportResult
, _bSupportMatrix , _bSupportMatrix
, this, _pFunctionMgr, _pDlg)) , this, _pFunctionMgr, _pDlg))
{ {
FreeResource();
//undo SfxModelessDialog HelpId clear hack //undo SfxModelessDialog HelpId clear hack
reverseUniqueHelpIdHack(*this); reverseUniqueHelpIdHack(*this);
SetText(m_pImpl->aTitle1); SetText(m_pImpl->aTitle1);
@@ -1809,7 +1823,7 @@ bool FormulaDlg::PreNotify( NotifyEvent& rNEvt )
void FormulaDlg::disableOk() void FormulaDlg::disableOk()
{ {
m_pImpl->aBtnEnd.Disable(); m_pImpl->m_pBtnEnd->Disable();
} }
void FormulaDlg::StoreFormEditData(FormEditData* pData) void FormulaDlg::StoreFormEditData(FormEditData* pData)

View File

@@ -31,8 +31,8 @@
namespace formula namespace formula
{ {
FormulaListBox::FormulaListBox( Window* pParent, const ResId& rResId ): FormulaListBox::FormulaListBox( Window* pParent, WinBits nBits ):
ListBox(pParent,rResId) ListBox(pParent, nBits)
{} {}
void FormulaListBox::KeyInput( const KeyEvent& rKEvt ) void FormulaListBox::KeyInput( const KeyEvent& rKEvt )
@@ -57,6 +57,11 @@ bool FormulaListBox::PreNotify( NotifyEvent& rNEvt )
return nResult; return nResult;
} }
extern "C" SAL_DLLPUBLIC_EXPORT Window* SAL_CALL makeFormulaListBox(Window *pParent, VclBuilder::stringmap &)
{
return new FormulaListBox(pParent, WB_BORDER | WB_SORT);
}
inline sal_uInt16 Lb2Cat( sal_uInt16 nLbPos ) inline sal_uInt16 Lb2Cat( sal_uInt16 nLbPos )
{ {
// Category 0 == LRU, otherwise Categories == LbPos-1 // Category 0 == LRU, otherwise Categories == LbPos-1
@@ -67,16 +72,17 @@ inline sal_uInt16 Lb2Cat( sal_uInt16 nLbPos )
} }
FuncPage::FuncPage(Window* pParent,const IFunctionManager* _pFunctionManager): FuncPage::FuncPage(Window* pParent,const IFunctionManager* _pFunctionManager):
TabPage(pParent,ModuleRes(RID_FORMULATAB_FUNCTION)), TabPage(pParent, "FunctionPage", "formula/ui/functionpage.ui"),
aFtCategory ( this, ModuleRes( FT_CATEGORY ) ),
aLbCategory ( this, ModuleRes( LB_CATEGORY ) ),
aFtFunction ( this, ModuleRes( FT_FUNCTION ) ),
aLbFunction ( this, ModuleRes( LB_FUNCTION ) ),
m_pFunctionManager(_pFunctionManager) m_pFunctionManager(_pFunctionManager)
{ {
FreeResource(); get(m_pLbCategory, "category");
m_aHelpId = aLbFunction.GetHelpId(); get(m_pLbFunction, "function");
aLbFunction.SetUniqueId(m_aHelpId); m_pLbFunction->SetStyle(m_pLbFunction->GetStyle() | WB_SORT);
Size aSize(LogicToPixel(Size(86 , 133), MAP_APPFONT));
m_pLbFunction->set_height_request(aSize.Height());
m_pLbFunction->set_width_request(aSize.Width());
m_aHelpId = m_pLbFunction->GetHelpId();
m_pLbFunction->SetUniqueId(m_aHelpId);
InitLRUList(); InitLRUList();
@@ -84,14 +90,14 @@ FuncPage::FuncPage(Window* pParent,const IFunctionManager* _pFunctionManager):
for(sal_uInt32 j= 0; j < nCategoryCount; ++j) for(sal_uInt32 j= 0; j < nCategoryCount; ++j)
{ {
const IFunctionCategory* pCategory = m_pFunctionManager->getCategory(j); const IFunctionCategory* pCategory = m_pFunctionManager->getCategory(j);
aLbCategory.SetEntryData(aLbCategory.InsertEntry(pCategory->getName()),(void*)pCategory); m_pLbCategory->SetEntryData(m_pLbCategory->InsertEntry(pCategory->getName()),(void*)pCategory);
} }
aLbCategory.SelectEntryPos(1); m_pLbCategory->SelectEntryPos(1);
UpdateFunctionList(); UpdateFunctionList();
aLbCategory.SetSelectHdl( LINK( this, FuncPage, SelHdl ) ); m_pLbCategory->SetSelectHdl( LINK( this, FuncPage, SelHdl ) );
aLbFunction.SetSelectHdl( LINK( this, FuncPage, SelHdl ) ); m_pLbFunction->SetSelectHdl( LINK( this, FuncPage, SelHdl ) );
aLbFunction.SetDoubleClickHdl( LINK( this, FuncPage, DblClkHdl ) ); m_pLbFunction->SetDoubleClickHdl( LINK( this, FuncPage, DblClkHdl ) );
} }
void FuncPage::impl_addFunctions(const IFunctionCategory* _pCategory) void FuncPage::impl_addFunctions(const IFunctionCategory* _pCategory)
@@ -100,22 +106,22 @@ void FuncPage::impl_addFunctions(const IFunctionCategory* _pCategory)
for(sal_uInt32 i = 0 ; i < nCount; ++i) for(sal_uInt32 i = 0 ; i < nCount; ++i)
{ {
TFunctionDesc pDesc(_pCategory->getFunction(i)); TFunctionDesc pDesc(_pCategory->getFunction(i));
aLbFunction.SetEntryData( m_pLbFunction->SetEntryData(
aLbFunction.InsertEntry(pDesc->getFunctionName() ),(void*)pDesc ); m_pLbFunction->InsertEntry(pDesc->getFunctionName() ),(void*)pDesc );
} }
} }
void FuncPage::UpdateFunctionList() void FuncPage::UpdateFunctionList()
{ {
sal_Int32 nSelPos = aLbCategory.GetSelectEntryPos(); sal_Int32 nSelPos = m_pLbCategory->GetSelectEntryPos();
const IFunctionCategory* pCategory = static_cast<const IFunctionCategory*>(aLbCategory.GetEntryData(nSelPos)); const IFunctionCategory* pCategory = static_cast<const IFunctionCategory*>(m_pLbCategory->GetEntryData(nSelPos));
sal_Int32 nCategory = ( LISTBOX_ENTRY_NOTFOUND != nSelPos ) sal_Int32 nCategory = ( LISTBOX_ENTRY_NOTFOUND != nSelPos )
? Lb2Cat( nSelPos ) : 0; ? Lb2Cat( nSelPos ) : 0;
(void)nCategory; (void)nCategory;
aLbFunction.Clear(); m_pLbFunction->Clear();
aLbFunction.SetUpdateMode( false ); m_pLbFunction->SetUpdateMode( false );
if ( nSelPos > 0 ) if ( nSelPos > 0 )
@@ -143,35 +149,35 @@ void FuncPage::UpdateFunctionList()
const IFunctionDescription* pDesc = *aIter; const IFunctionDescription* pDesc = *aIter;
if (pDesc) // may be null if a function is no longer available if (pDesc) // may be null if a function is no longer available
{ {
aLbFunction.SetEntryData( m_pLbFunction->SetEntryData(
aLbFunction.InsertEntry( pDesc->getFunctionName() ), (void*)pDesc ); m_pLbFunction->InsertEntry( pDesc->getFunctionName() ), (void*)pDesc );
} }
} }
} }
aLbFunction.SetUpdateMode( true ); m_pLbFunction->SetUpdateMode( true );
aLbFunction.SelectEntryPos(0); m_pLbFunction->SelectEntryPos(0);
if(IsVisible()) SelHdl(&aLbFunction); if(IsVisible()) SelHdl(m_pLbFunction);
} }
IMPL_LINK( FuncPage, SelHdl, ListBox*, pLb ) IMPL_LINK( FuncPage, SelHdl, ListBox*, pLb )
{ {
if(pLb==&aLbFunction) if(pLb==m_pLbFunction)
{ {
const IFunctionDescription* pDesc = GetFuncDesc( GetFunction() ); const IFunctionDescription* pDesc = GetFuncDesc( GetFunction() );
if ( pDesc ) if ( pDesc )
{ {
const OString sHelpId = pDesc->getHelpId(); const OString sHelpId = pDesc->getHelpId();
if ( !sHelpId.isEmpty() ) if ( !sHelpId.isEmpty() )
aLbFunction.SetHelpId(sHelpId); m_pLbFunction->SetHelpId(sHelpId);
} }
aSelectionLink.Call(this); aSelectionLink.Call(this);
} }
else else
{ {
aLbFunction.SetHelpId(m_aHelpId); m_pLbFunction->SetHelpId(m_aHelpId);
UpdateFunctionList(); UpdateFunctionList();
} }
return 0; return 0;
@@ -185,49 +191,49 @@ IMPL_LINK_NOARG(FuncPage, DblClkHdl)
void FuncPage::SetCategory(sal_Int32 nCat) void FuncPage::SetCategory(sal_Int32 nCat)
{ {
aLbCategory.SelectEntryPos(nCat); m_pLbCategory->SelectEntryPos(nCat);
UpdateFunctionList(); UpdateFunctionList();
} }
sal_Int32 FuncPage::GetFuncPos(const IFunctionDescription* _pDesc) sal_Int32 FuncPage::GetFuncPos(const IFunctionDescription* _pDesc)
{ {
return aLbFunction.GetEntryPos(_pDesc); return m_pLbFunction->GetEntryPos(_pDesc);
} }
void FuncPage::SetFunction(sal_Int32 nFunc) void FuncPage::SetFunction(sal_Int32 nFunc)
{ {
aLbFunction.SelectEntryPos(nFunc); m_pLbFunction->SelectEntryPos(nFunc);
} }
void FuncPage::SetFocus() void FuncPage::SetFocus()
{ {
aLbFunction.GrabFocus(); m_pLbFunction->GrabFocus();
} }
sal_Int32 FuncPage::GetCategory() sal_Int32 FuncPage::GetCategory()
{ {
return aLbCategory.GetSelectEntryPos(); return m_pLbCategory->GetSelectEntryPos();
} }
sal_Int32 FuncPage::GetFunction() sal_Int32 FuncPage::GetFunction()
{ {
return aLbFunction.GetSelectEntryPos(); return m_pLbFunction->GetSelectEntryPos();
} }
sal_Int32 FuncPage::GetFunctionEntryCount() sal_Int32 FuncPage::GetFunctionEntryCount()
{ {
return aLbFunction.GetSelectEntryCount(); return m_pLbFunction->GetSelectEntryCount();
} }
OUString FuncPage::GetSelFunctionName() const OUString FuncPage::GetSelFunctionName() const
{ {
return aLbFunction.GetSelectEntry(); return m_pLbFunction->GetSelectEntry();
} }
const IFunctionDescription* FuncPage::GetFuncDesc( sal_Int32 nPos ) const const IFunctionDescription* FuncPage::GetFuncDesc( sal_Int32 nPos ) const
{ {
// not pretty, but hopefully rare // not pretty, but hopefully rare
return (const IFunctionDescription*) aLbFunction.GetEntryData(nPos); return (const IFunctionDescription*) m_pLbFunction->GetEntryData(nPos);
} }
void FuncPage::InitLRUList() void FuncPage::InitLRUList()

View File

@@ -50,7 +50,7 @@ protected:
virtual bool PreNotify( NotifyEvent& rNEvt ) SAL_OVERRIDE; virtual bool PreNotify( NotifyEvent& rNEvt ) SAL_OVERRIDE;
public: public:
FormulaListBox( Window* pParent, const ResId& rResId ); FormulaListBox( Window* pParent, WinBits nBits );
}; };
@@ -64,10 +64,8 @@ private:
OModuleClient m_aModuleClient; OModuleClient m_aModuleClient;
Link aDoubleClickLink; Link aDoubleClickLink;
Link aSelectionLink; Link aSelectionLink;
FixedText aFtCategory; ListBox *m_pLbCategory;
ListBox aLbCategory; FormulaListBox *m_pLbFunction;
FixedText aFtFunction;
FormulaListBox aLbFunction;
const IFunctionManager* const IFunctionManager*
m_pFunctionManager; m_pFunctionManager;

View File

@@ -33,13 +33,15 @@ namespace formula
{ {
// class ValWnd // class ValWnd
ValWnd::ValWnd( Window* pParent, const ResId& rId ) : Window( pParent, rId ) ValWnd::ValWnd(Window* pParent, WinBits nBits)
: Window(pParent, nBits)
{ {
Font aFnt( GetFont() ); Font aFnt( GetFont() );
aFnt.SetTransparent( true ); aFnt.SetTransparent( true );
aFnt.SetWeight( WEIGHT_LIGHT ); aFnt.SetWeight( WEIGHT_LIGHT );
if ( pParent->IsBackground() ) if ( pParent->IsBackground() )
{ {
fprintf(stderr, "one\n");
Wallpaper aBack = pParent->GetBackground(); Wallpaper aBack = pParent->GetBackground();
SetFillColor( aBack.GetColor() ); SetFillColor( aBack.GetColor() );
SetBackground( aBack ); SetBackground( aBack );
@@ -47,12 +49,25 @@ ValWnd::ValWnd( Window* pParent, const ResId& rId ) : Window( pParent, rId )
} }
else else
{ {
fprintf(stderr, "two\n");
SetFillColor(); SetFillColor();
SetBackground(); SetBackground();
} }
SetFont( aFnt ); SetFont( aFnt );
SetLineColor(); SetLineColor();
SetAccessibleRole( ::com::sun::star::accessibility::AccessibleRole::LABEL );
}
Size ValWnd::GetOptimalSize() const
{
return LogicToPixel(Size(60, 12), MAP_APPFONT);
}
void ValWnd::Resize()
{
Window::Resize();
Size aSzWnd = GetOutputSizePixel(); Size aSzWnd = GetOutputSizePixel();
long nHeight = GetTextHeight(); long nHeight = GetTextHeight();
long nDiff = aSzWnd.Height()-nHeight; long nDiff = aSzWnd.Height()-nHeight;
@@ -60,7 +75,11 @@ ValWnd::ValWnd( Window* pParent, const ResId& rId ) : Window( pParent, rId )
aRectOut = Rectangle( Point( 1, ( nDiff<2 ) ? 1 : nDiff/2), aRectOut = Rectangle( Point( 1, ( nDiff<2 ) ? 1 : nDiff/2),
Size ( aSzWnd.Width()-2, nHeight ) ); Size ( aSzWnd.Width()-2, nHeight ) );
SetClipRegion( Region( aRectOut ) ); SetClipRegion( Region( aRectOut ) );
SetAccessibleRole( ::com::sun::star::accessibility::AccessibleRole::LABEL ); }
extern "C" SAL_DLLPUBLIC_EXPORT Window* SAL_CALL makeValWnd(Window *pParent, VclBuilder::stringmap &)
{
return new ValWnd(pParent, WB_BORDER);
} }
void ValWnd::Paint( const Rectangle& ) void ValWnd::Paint( const Rectangle& )
@@ -80,8 +99,8 @@ void ValWnd::SetValue( const OUString& rStrVal )
// class ArgEdit // class ArgEdit
ArgEdit::ArgEdit( Window* pParent, const ResId& rResId ) ArgEdit::ArgEdit( Window* pParent, WinBits nBits )
: RefEdit( pParent, NULL, NULL, rResId ), : RefEdit( pParent, NULL, nBits ),
pEdPrev ( NULL ), pEdPrev ( NULL ),
pEdNext ( NULL ), pEdNext ( NULL ),
pSlider ( NULL ), pSlider ( NULL ),
@@ -89,6 +108,11 @@ ArgEdit::ArgEdit( Window* pParent, const ResId& rResId )
{ {
} }
extern "C" SAL_DLLPUBLIC_EXPORT Window* SAL_CALL makeArgEdit(Window *pParent, VclBuilder::stringmap &)
{
return new ArgEdit(pParent, WB_BORDER);
}
void ArgEdit::Init( ArgEdit* pPrevEdit, ArgEdit* pNextEdit, void ArgEdit::Init( ArgEdit* pPrevEdit, ArgEdit* pNextEdit,
ScrollBar& rArgSlider, sal_uInt16 nArgCount ) ScrollBar& rArgSlider, sal_uInt16 nArgCount )
{ {
@@ -183,7 +207,7 @@ ArgInput::ArgInput()
pRefBtn=NULL; pRefBtn=NULL;
} }
void ArgInput::InitArgInput( FixedText* pftArg, ImageButton* pbtnFx, void ArgInput::InitArgInput( FixedText* pftArg, PushButton* pbtnFx,
ArgEdit* pedArg, RefButton* prefBtn) ArgEdit* pedArg, RefButton* prefBtn)
{ {
pFtArg =pftArg; pFtArg =pftArg;
@@ -374,8 +398,9 @@ IMPL_LINK( ArgInput, EdModifyHdl,ArgEdit*, pEd )
} }
// class EditBox // class EditBox
EditBox::EditBox( Window* pParent, const ResId& rResId )
:Control(pParent,rResId), EditBox::EditBox( Window* pParent, WinBits nBits )
:Control(pParent,nBits),
bMouseFlag(false) bMouseFlag(false)
{ {
WinBits nStyle=GetStyle(); WinBits nStyle=GetStyle();
@@ -395,6 +420,11 @@ EditBox::EditBox( Window* pParent, const ResId& rResId )
SetHelpId( "" ); SetHelpId( "" );
} }
extern "C" SAL_DLLPUBLIC_EXPORT Window* SAL_CALL makeEditBox(Window *pParent, VclBuilder::stringmap &)
{
return new EditBox(pParent, WB_BORDER);
}
EditBox::~EditBox() EditBox::~EditBox()
{ {
MultiLineEdit* pTheEdit=pMEdit; MultiLineEdit* pTheEdit=pMEdit;
@@ -493,16 +523,6 @@ void EditBox::UpdateOldSel()
#define SC_ENABLE_TIME 100 #define SC_ENABLE_TIME 100
RefEdit::RefEdit( Window* _pParent,IControlReferenceHandler* pParent,
Window* pShrinkModeLabel, const ResId& rResId )
: Edit( _pParent, rResId )
, pAnyRefDlg( pParent )
, pLabelWidget(pShrinkModeLabel)
{
aTimer.SetTimeoutHdl( LINK( this, RefEdit, UpdateHdl ) );
aTimer.SetTimeout( SC_ENABLE_TIME );
}
RefEdit::RefEdit( Window* _pParent, Window* pShrinkModeLabel, WinBits nStyle ) RefEdit::RefEdit( Window* _pParent, Window* pShrinkModeLabel, WinBits nStyle )
: Edit( _pParent, nStyle ) : Edit( _pParent, nStyle )
, pAnyRefDlg( NULL ) , pAnyRefDlg( NULL )
@@ -608,18 +628,6 @@ IMPL_LINK_NOARG(RefEdit, UpdateHdl)
//class RefButton //class RefButton
RefButton::RefButton( Window* _pParent, const ResId& rResId) :
ImageButton( _pParent, rResId ),
aImgRefStart( ModuleRes( RID_BMP_REFBTN1 ) ),
aImgRefDone( ModuleRes( RID_BMP_REFBTN2 ) ),
aShrinkQuickHelp( ModuleRes( RID_STR_SHRINK ).toString() ),
aExpandQuickHelp( ModuleRes( RID_STR_EXPAND ).toString() ),
pAnyRefDlg( NULL ),
pRefEdit( NULL )
{
SetStartImage();
}
RefButton::RefButton( Window* _pParent, WinBits nStyle ) : RefButton::RefButton( Window* _pParent, WinBits nStyle ) :
ImageButton( _pParent, nStyle ), ImageButton( _pParent, nStyle ),
aImgRefStart( ModuleRes( RID_BMP_REFBTN1 ) ), aImgRefStart( ModuleRes( RID_BMP_REFBTN1 ) ),
@@ -637,18 +645,6 @@ extern "C" SAL_DLLPUBLIC_EXPORT Window* SAL_CALL makeRefButton(Window *pParent,
return new RefButton(pParent, 0); return new RefButton(pParent, 0);
} }
RefButton::RefButton( Window* _pParent, const ResId& rResId, RefEdit* pEdit, IControlReferenceHandler* _pDlg ) :
ImageButton( _pParent, rResId ),
aImgRefStart( ModuleRes( RID_BMP_REFBTN1 ) ),
aImgRefDone( ModuleRes( RID_BMP_REFBTN2 ) ),
aShrinkQuickHelp( ModuleRes( RID_STR_SHRINK ).toString() ),
aExpandQuickHelp( ModuleRes( RID_STR_EXPAND ).toString() ),
pAnyRefDlg( _pDlg ),
pRefEdit( pEdit )
{
SetStartImage();
}
void RefButton::SetStartImage() void RefButton::SetStartImage()
{ {
SetModeImage( aImgRefStart ); SetModeImage( aImgRefStart );

View File

@@ -23,7 +23,6 @@
#include <vcl/settings.hxx> #include <vcl/settings.hxx>
#include "parawin.hxx" #include "parawin.hxx"
#include "parawin.hrc"
#include "helpids.hrc" #include "helpids.hrc"
#include "formula/formdata.hxx" #include "formula/formdata.hxx"
#include "formula/IFunctionDescription.hxx" #include "formula/IFunctionDescription.hxx"
@@ -36,55 +35,69 @@ namespace formula
{ {
ParaWin::ParaWin(Window* pParent,IControlReferenceHandler* _pDlg,Point aPos): ParaWin::ParaWin(Window* pParent,IControlReferenceHandler* _pDlg):
TabPage (pParent,ModuleRes(RID_FORMULATAB_PARAMETER)), TabPage (pParent, "ParameterPage", "formula/ui/parameter.ui"),
pFuncDesc ( NULL ), pFuncDesc ( NULL ),
pMyParent (_pDlg), pMyParent (_pDlg),
aFtEditDesc ( this, ModuleRes( FT_EDITDESC ) ),
aFtArgName ( this, ModuleRes( FT_PARNAME ) ),
aFtArgDesc ( this, ModuleRes( FT_PARDESC ) ),
aBtnFx1 ( this, ModuleRes( BTN_FX1 ) ),
aFtArg1 ( this, ModuleRes( FT_ARG1 ) ),
aEdArg1 ( this, ModuleRes( ED_ARG1 ) ),
aRefBtn1 ( this, ModuleRes( RB_ARG1 ) ),
aBtnFx2 ( this, ModuleRes( BTN_FX2 ) ),
aFtArg2 ( this, ModuleRes( FT_ARG2 ) ),
aEdArg2 ( this, ModuleRes( ED_ARG2 ) ),
aRefBtn2 ( this, ModuleRes( RB_ARG2 ) ),
aBtnFx3 ( this, ModuleRes( BTN_FX3 ) ),
aFtArg3 ( this, ModuleRes( FT_ARG3 ) ),
aEdArg3 ( this, ModuleRes( ED_ARG3 ) ),
aRefBtn3 ( this, ModuleRes( RB_ARG3 ) ),
aBtnFx4 ( this, ModuleRes( BTN_FX4 ) ),
aFtArg4 ( this, ModuleRes( FT_ARG4 ) ),
aEdArg4 ( this, ModuleRes( ED_ARG4 ) ),
aRefBtn4 ( this, ModuleRes( RB_ARG4 ) ),
aSlider ( this, ModuleRes( WND_SLIDER ) ),
m_sOptional ( ModuleRes( STR_OPTIONAL ) ), m_sOptional ( ModuleRes( STR_OPTIONAL ) ),
m_sRequired ( ModuleRes( STR_REQUIRED ) ), m_sRequired ( ModuleRes( STR_REQUIRED ) ),
bRefMode (false) bRefMode (false)
{ {
FreeResource(); get(m_pFtEditDesc, "editdesc");
aDefaultString=aFtEditDesc.GetText(); get(m_pFtArgName, "parname");
get(m_pFtArgDesc, "pardesc");
SetPosPixel(aPos); //Space for two lines of text
m_pFtArgDesc->SetText("X\nX\n");
long nHeight = m_pFtArgDesc->GetOptimalSize().Height();
m_pFtEditDesc->set_height_request(nHeight);
m_pFtArgDesc->set_height_request(nHeight);
m_pFtArgDesc->SetText("");
get(m_pBtnFx1, "FX1");
m_pBtnFx1->SetModeImage(Image(ModuleRes( BMP_FX )));
get(m_pBtnFx2, "FX2");
m_pBtnFx2->SetModeImage(Image(ModuleRes( BMP_FX )));
get(m_pBtnFx3, "FX3");
m_pBtnFx3->SetModeImage(Image(ModuleRes( BMP_FX )));
get(m_pBtnFx4, "FX4");
m_pBtnFx4->SetModeImage(Image(ModuleRes( BMP_FX )));
get(m_pFtArg1, "FT_ARG1");
get(m_pFtArg2, "FT_ARG2");
get(m_pFtArg3, "FT_ARG3");
get(m_pFtArg4, "FT_ARG4");
get(m_pEdArg1, "ED_ARG1");
get(m_pEdArg2, "ED_ARG2");
get(m_pEdArg3, "ED_ARG3");
get(m_pEdArg4, "ED_ARG4");
get(m_pRefBtn1, "RB_ARG1");
get(m_pRefBtn2, "RB_ARG2");
get(m_pRefBtn3, "RB_ARG3");
get(m_pRefBtn4, "RB_ARG4");
get(m_pSlider, "scrollbar");
//lock down initial preferences
Window *pGrid = get<Window>("paramgrid");
pGrid->set_height_request(pGrid->get_preferred_size().Height());
Size aSize(get_preferred_size());
set_width_request(aSize.Width());
set_height_request(aSize.Height());
aDefaultString=m_pFtEditDesc->GetText();
nEdFocus=NOT_FOUND; nEdFocus=NOT_FOUND;
nActiveLine=0; nActiveLine=0;
Size aSize = aSlider.GetSizePixel();
aSize.Width() = GetSettings().GetStyleSettings().GetScrollBarSize();
aSlider.SetSizePixel( aSize );
aSlider.SetEndScrollHdl( LINK( this, ParaWin, ScrollHdl ) );
aSlider.SetScrollHdl( LINK( this, ParaWin, ScrollHdl ) );
InitArgInput( 0, aFtArg1, aBtnFx1, aEdArg1, aRefBtn1); m_pSlider->SetEndScrollHdl( LINK( this, ParaWin, ScrollHdl ) );
InitArgInput( 1, aFtArg2, aBtnFx2, aEdArg2, aRefBtn2); m_pSlider->SetScrollHdl( LINK( this, ParaWin, ScrollHdl ) );
InitArgInput( 2, aFtArg3, aBtnFx3, aEdArg3, aRefBtn3);
InitArgInput( 3, aFtArg4, aBtnFx4, aEdArg4, aRefBtn4); InitArgInput( 0, *m_pFtArg1, *m_pBtnFx1, *m_pEdArg1, *m_pRefBtn1);
InitArgInput( 1, *m_pFtArg2, *m_pBtnFx2, *m_pEdArg2, *m_pRefBtn2);
InitArgInput( 2, *m_pFtArg3, *m_pBtnFx3, *m_pEdArg3, *m_pRefBtn3);
InitArgInput( 3, *m_pFtArg4, *m_pBtnFx4, *m_pEdArg4, *m_pRefBtn4);
ClearAll(); ClearAll();
} }
@@ -211,10 +224,10 @@ ParaWin::~ParaWin()
// #i66422# if the focus changes during destruction of the controls, // #i66422# if the focus changes during destruction of the controls,
// don't call the focus handlers // don't call the focus handlers
Link aEmptyLink; Link aEmptyLink;
aBtnFx1.SetGetFocusHdl( aEmptyLink ); m_pBtnFx1->SetGetFocusHdl( aEmptyLink );
aBtnFx2.SetGetFocusHdl( aEmptyLink ); m_pBtnFx2->SetGetFocusHdl( aEmptyLink );
aBtnFx3.SetGetFocusHdl( aEmptyLink ); m_pBtnFx3->SetGetFocusHdl( aEmptyLink );
aBtnFx4.SetGetFocusHdl( aEmptyLink ); m_pBtnFx4->SetGetFocusHdl( aEmptyLink );
} }
@@ -309,20 +322,20 @@ void ParaWin::SetFunctionDesc(const IFunctionDescription* pFDesc)
} }
nArgs = pFuncDesc->getSuppressedArgumentCount(); nArgs = pFuncDesc->getSuppressedArgumentCount();
pFuncDesc->fillVisibleArgumentMapping(aVisibleArgMapping); pFuncDesc->fillVisibleArgumentMapping(aVisibleArgMapping);
aSlider.Hide(); m_pSlider->Hide();
OString sHelpId = pFuncDesc->getHelpId(); OString sHelpId = pFuncDesc->getHelpId();
SetHelpId( sHelpId ); SetHelpId( sHelpId );
aEdArg1.SetHelpId( sHelpId ); m_pEdArg1->SetHelpId( sHelpId );
aEdArg2.SetHelpId( sHelpId ); m_pEdArg2->SetHelpId( sHelpId );
aEdArg3.SetHelpId( sHelpId ); m_pEdArg3->SetHelpId( sHelpId );
aEdArg4.SetHelpId( sHelpId ); m_pEdArg4->SetHelpId( sHelpId );
// Unique-IDs muessen gleich bleiben fuer Automatisierung // Unique-IDs muessen gleich bleiben fuer Automatisierung
SetUniqueId( HID_FORMULA_FAP_PAGE ); SetUniqueId( HID_FORMULA_FAP_PAGE );
aEdArg1.SetUniqueId( HID_FORMULA_FAP_EDIT1 ); m_pEdArg1->SetUniqueId( HID_FORMULA_FAP_EDIT1 );
aEdArg2.SetUniqueId( HID_FORMULA_FAP_EDIT2 ); m_pEdArg2->SetUniqueId( HID_FORMULA_FAP_EDIT2 );
aEdArg3.SetUniqueId( HID_FORMULA_FAP_EDIT3 ); m_pEdArg3->SetUniqueId( HID_FORMULA_FAP_EDIT3 );
aEdArg4.SetUniqueId( HID_FORMULA_FAP_EDIT4 ); m_pEdArg4->SetUniqueId( HID_FORMULA_FAP_EDIT4 );
SetActiveLine(0); SetActiveLine(0);
} }
else else
@@ -334,17 +347,17 @@ void ParaWin::SetFunctionDesc(const IFunctionDescription* pFDesc)
void ParaWin::SetArgumentText(const OUString& aText) void ParaWin::SetArgumentText(const OUString& aText)
{ {
aFtArgName.SetText(aText); m_pFtArgName->SetText(aText);
} }
void ParaWin::SetArgumentDesc(const OUString& aText) void ParaWin::SetArgumentDesc(const OUString& aText)
{ {
aFtArgDesc.SetText(aText); m_pFtArgDesc->SetText(aText);
} }
void ParaWin::SetEditDesc(const OUString& aText) void ParaWin::SetEditDesc(const OUString& aText)
{ {
aFtEditDesc.SetText(aText); m_pFtEditDesc->SetText(aText);
} }
void ParaWin::SetArgName(sal_uInt16 no,const OUString& aText) void ParaWin::SetArgName(sal_uInt16 no,const OUString& aText)
@@ -381,7 +394,7 @@ void ParaWin::SetEdFocus(sal_uInt16 no)
} }
void ParaWin::InitArgInput( sal_uInt16 nPos, FixedText& rFtArg, ImageButton& rBtnFx, void ParaWin::InitArgInput( sal_uInt16 nPos, FixedText& rFtArg, PushButton& rBtnFx,
ArgEdit& rEdArg, RefButton& rRefBtn) ArgEdit& rEdArg, RefButton& rRefBtn)
{ {
@@ -408,7 +421,7 @@ void ParaWin::ClearAll()
void ParaWin::SetArgumentOffset(sal_uInt16 nOffset) void ParaWin::SetArgumentOffset(sal_uInt16 nOffset)
{ {
DelParaArray(); DelParaArray();
aSlider.SetThumbPos(0); m_pSlider->SetThumbPos(0);
aParaArray.resize(nArgs); aParaArray.resize(nArgs);
@@ -421,22 +434,22 @@ void ParaWin::SetArgumentOffset(sal_uInt16 nOffset)
aArgInput[i].GetArgEdPtr()->Init( aArgInput[i].GetArgEdPtr()->Init(
(i==0) ? (ArgEdit *)NULL : aArgInput[i-1].GetArgEdPtr(), (i==0) ? (ArgEdit *)NULL : aArgInput[i-1].GetArgEdPtr(),
(i==3 || i==nArgs-1) ? (ArgEdit *)NULL : aArgInput[i+1].GetArgEdPtr(), (i==3 || i==nArgs-1) ? (ArgEdit *)NULL : aArgInput[i+1].GetArgEdPtr(),
aSlider, nArgs ); *m_pSlider, nArgs );
} }
} }
if ( nArgs < 5 ) if ( nArgs < 5 )
{ {
aSlider.Hide(); m_pSlider->Hide();
} }
else else
{ {
aSlider.SetPageSize( 4 ); m_pSlider->SetPageSize( 4 );
aSlider.SetVisibleSize( 4 ); m_pSlider->SetVisibleSize( 4 );
aSlider.SetLineSize( 1 ); m_pSlider->SetLineSize( 1 );
aSlider.SetRange( Range( 0, nArgs ) ); m_pSlider->SetRange( Range( 0, nArgs ) );
aSlider.SetThumbPos( nOffset ); m_pSlider->SetThumbPos( nOffset );
aSlider.Show(); m_pSlider->Show();
} }
UpdateParas(); UpdateParas();
@@ -462,16 +475,16 @@ void ParaWin::UpdateParas()
sal_uInt16 ParaWin::GetSliderPos() sal_uInt16 ParaWin::GetSliderPos()
{ {
return (sal_uInt16) aSlider.GetThumbPos(); return (sal_uInt16) m_pSlider->GetThumbPos();
} }
void ParaWin::SetSliderPos(sal_uInt16 nSliderPos) void ParaWin::SetSliderPos(sal_uInt16 nSliderPos)
{ {
sal_uInt16 nOffset = GetSliderPos(); sal_uInt16 nOffset = GetSliderPos();
if(aSlider.IsVisible() && nOffset!=nSliderPos) if(m_pSlider->IsVisible() && nOffset!=nSliderPos)
{ {
aSlider.SetThumbPos(nSliderPos); m_pSlider->SetThumbPos(nSliderPos);
for ( sal_uInt16 i=0; i<4; i++ ) for ( sal_uInt16 i=0; i<4; i++ )
{ {
UpdateArgInput( nSliderPos, i ); UpdateArgInput( nSliderPos, i );

View File

@@ -1,44 +0,0 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership. The ASF licenses this file to you under the Apache
* License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
#define FT_PARNAME 1
#define FT_PARDESC 2
#define FT_EDITDESC 3
#define FT_ARG1 4
#define FT_ARG2 5
#define FT_ARG3 6
#define FT_ARG4 7
#define BTN_FX1 8
#define BTN_FX2 9
#define BTN_FX3 10
#define BTN_FX4 11
#define ED_ARG1 12
#define ED_ARG2 13
#define ED_ARG3 14
#define ED_ARG4 15
#define RB_ARG1 16
#define RB_ARG2 17
#define RB_ARG3 18
#define RB_ARG4 19
#define WND_SLIDER 20
#define STR_OPTIONAL 1
#define STR_REQUIRED 2
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */

View File

@@ -56,31 +56,31 @@ private:
Font aFntBold; Font aFntBold;
Font aFntLight; Font aFntLight;
FixedInfo aFtEditDesc; FixedText *m_pFtEditDesc;
FixedText aFtArgName; FixedText *m_pFtArgName;
FixedInfo aFtArgDesc; FixedText *m_pFtArgDesc;
ImageButton aBtnFx1; PushButton *m_pBtnFx1;
FixedText aFtArg1; FixedText *m_pFtArg1;
ArgEdit aEdArg1; ArgEdit *m_pEdArg1;
RefButton aRefBtn1; RefButton *m_pRefBtn1;
ImageButton aBtnFx2; PushButton *m_pBtnFx2;
FixedText aFtArg2; FixedText *m_pFtArg2;
ArgEdit aEdArg2; ArgEdit *m_pEdArg2;
RefButton aRefBtn2; RefButton *m_pRefBtn2;
ImageButton aBtnFx3; PushButton *m_pBtnFx3;
FixedText aFtArg3; FixedText *m_pFtArg3;
ArgEdit aEdArg3; ArgEdit *m_pEdArg3;
RefButton aRefBtn3; RefButton *m_pRefBtn3;
ImageButton aBtnFx4; PushButton *m_pBtnFx4;
FixedText aFtArg4; FixedText *m_pFtArg4;
ArgEdit aEdArg4; ArgEdit *m_pEdArg4;
RefButton aRefBtn4; RefButton *m_pRefBtn4;
ScrollBar aSlider; ScrollBar *m_pSlider;
OUString m_sOptional; OUString m_sOptional;
OUString m_sRequired; OUString m_sRequired;
bool bRefMode; bool bRefMode;
@@ -105,7 +105,7 @@ protected:
virtual void ArgumentModified(); virtual void ArgumentModified();
virtual void FxClick(); virtual void FxClick();
void InitArgInput( sal_uInt16 nPos, FixedText& rFtArg, ImageButton& rBtnFx, void InitArgInput( sal_uInt16 nPos, FixedText& rFtArg, PushButton& rBtnFx,
ArgEdit& rEdArg, RefButton& rRefBtn); ArgEdit& rEdArg, RefButton& rRefBtn);
void DelParaArray(); void DelParaArray();
@@ -123,7 +123,7 @@ protected:
void UpdateArgInput( sal_uInt16 nOffset, sal_uInt16 i ); void UpdateArgInput( sal_uInt16 nOffset, sal_uInt16 i );
public: public:
ParaWin(Window* pParent,IControlReferenceHandler* _pDlg,Point aPos); ParaWin(Window* pParent,IControlReferenceHandler* _pDlg);
virtual ~ParaWin(); virtual ~ParaWin();
void SetFunctionDesc(const IFunctionDescription* pFDesc); void SetFunctionDesc(const IFunctionDescription* pFDesc);

View File

@@ -17,138 +17,15 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 . * the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/ */
#include "parawin.hrc"
#include "ForResId.hrc" #include "ForResId.hrc"
#include "helpids.hrc" #include "helpids.hrc"
#define STD_MASKCOLOR Color { Red=0xFFFF; Green=0x0000; Blue=0xFFFF; } #define STD_MASKCOLOR Color { Red=0xFFFF; Green=0x0000; Blue=0xFFFF; }
#define FT_ARGBLOCK( y ) \ Image BMP_FX
Pos = MAP_APPFONT (6 , y ) ; \
Size = MAP_APPFONT ( 74 , 8 ) ; \
Right = TRUE ;
#define FXBUTTONBLOCK( y ) \
Pos = MAP_APPFONT (83 , y-1 ) ; \
Size = MAP_APPFONT ( 13 , 15 ) ; \
TabStop = TRUE ; \
ButtonImage = Image\
{\
ImageBitmap = Bitmap\
{\
File = "fx.bmp" ; \
};\
MaskColor = STD_MASKCOLOR;\
};
#define ED_ARGBLOCK( y ) \
Border = TRUE; \
Pos = MAP_APPFONT( 98, y ); \
Size = MAP_APPFONT( 66, 12 ); \
TabStop = TRUE;
#define RB_ARGBLOCK( y ) \
Pos = MAP_APPFONT ( 166 , y-1 ) ; \
Size = MAP_APPFONT ( 13 , 15 ) ; \
TabStop = FALSE ; \
QuickHelpText [ en-US ] = "Select"; \
// jetzt alles zusammen
TabPage RID_FORMULATAB_PARAMETER
{ {
HelpID = "formula:TabPage:RID_FORMULATAB_PARAMETER"; ImageBitmap = Bitmap { File = "fx.bmp" ; };
Border = FALSE; MaskColor = STD_MASKCOLOR;
Size = MAP_APPFONT( 203, 128 );
DialogControl = TRUE;
SVLook = TRUE;
FixedText FT_EDITDESC
{
Pos = MAP_APPFONT (3 , 6 ) ;
Size = MAP_APPFONT ( 198 , 20 ) ;
WordBreak = TRUE ;
Text [ en-US ] = "Function not known";
};
FixedText FT_PARNAME
{
Pos = MAP_APPFONT ( 3, 29) ;
Size = MAP_APPFONT ( 198 , 10 ) ;
};
FixedText FT_PARDESC
{
Pos = MAP_APPFONT ( 3, 42 ) ;
Size = MAP_APPFONT ( 198 , 20 ) ;
WordBreak = TRUE ;
};
FixedText FT_ARG1 { FT_ARGBLOCK ( 66 ) };
FixedText FT_ARG2 { FT_ARGBLOCK ( 81 ) };
FixedText FT_ARG3 { FT_ARGBLOCK ( 96 ) };
FixedText FT_ARG4 { FT_ARGBLOCK ( 111 ) };
ImageButton BTN_FX1
{
HelpId=HID_FORMULA_FAP_BTN_FX1;
FXBUTTONBLOCK ( 64 )
};
ImageButton BTN_FX2
{
HelpId=HID_FORMULA_FAP_BTN_FX2;
FXBUTTONBLOCK ( 79 )
};
ImageButton BTN_FX3
{
HelpId=HID_FORMULA_FAP_BTN_FX3;
FXBUTTONBLOCK ( 94 )
};
ImageButton BTN_FX4
{
HelpId=HID_FORMULA_FAP_BTN_FX4;
FXBUTTONBLOCK ( 109 )
};
Edit ED_ARG1 { ED_ARGBLOCK ( 64 )
HelpID = "formula:Edit:RID_FORMULATAB_PARAMETER:ED_ARG1";
};
Edit ED_ARG2 { ED_ARGBLOCK ( 79 )
HelpID = "formula:Edit:RID_FORMULATAB_PARAMETER:ED_ARG2";
};
Edit ED_ARG3 { ED_ARGBLOCK ( 94 )
HelpID = "formula:Edit:RID_FORMULATAB_PARAMETER:ED_ARG3";
};
Edit ED_ARG4 { ED_ARGBLOCK ( 109 )
HelpID = "formula:Edit:RID_FORMULATAB_PARAMETER:ED_ARG4";
};
ImageButton RB_ARG1
{
HelpId=HID_FORMULA_FAP_BTN_REF1;
RB_ARGBLOCK ( 64 )
};
ImageButton RB_ARG2
{
HelpId=HID_FORMULA_FAP_BTN_REF2;
RB_ARGBLOCK ( 79 )
};
ImageButton RB_ARG3
{
HelpId=HID_FORMULA_FAP_BTN_REF3;
RB_ARGBLOCK ( 94 )
};
ImageButton RB_ARG4
{
HelpId=HID_FORMULA_FAP_BTN_REF4;
RB_ARGBLOCK ( 109 )
};
ScrollBar WND_SLIDER
{
Pos = MAP_APPFONT ( 183, 63 ) ;
Size = MAP_APPFONT ( 8 , 59 ) ;
VScroll = TRUE ;
}; };
String STR_OPTIONAL String STR_OPTIONAL
@@ -159,6 +36,6 @@ TabPage RID_FORMULATAB_PARAMETER
{ {
Text [ en-US ] = "(required)" ; Text [ en-US ] = "(required)" ;
}; };
};
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

View File

@@ -32,8 +32,8 @@
namespace formula namespace formula
{ {
StructListBox::StructListBox(Window* pParent, const ResId& rResId ): StructListBox::StructListBox(Window* pParent, WinBits nBits ):
SvTreeListBox(pParent,rResId ) SvTreeListBox(pParent, nBits)
{ {
bActiveFlag=false; bActiveFlag=false;
@@ -77,55 +77,59 @@ void StructListBox::LoseFocus()
SvTreeListBox::LoseFocus(); SvTreeListBox::LoseFocus();
} }
extern "C" SAL_DLLPUBLIC_EXPORT Window* SAL_CALL makeStructListBox(Window *pParent, VclBuilder::stringmap &)
{
return new StructListBox(pParent, WB_BORDER);
}
StructPage::StructPage(Window* pParent): StructPage::StructPage(Window* pParent):
TabPage(pParent,ModuleRes(RID_FORMULATAB_STRUCT)), TabPage(pParent, "StructPage", "formula/ui/structpage.ui"),
aFtStruct ( this, ModuleRes( FT_STRUCT ) ),
aTlbStruct ( this, ModuleRes( TLB_STRUCT ) ),
maImgEnd ( ModuleRes( BMP_STR_END ) ), maImgEnd ( ModuleRes( BMP_STR_END ) ),
maImgError ( ModuleRes( BMP_STR_ERROR ) ), maImgError ( ModuleRes( BMP_STR_ERROR ) ),
pSelectedToken ( NULL ) pSelectedToken ( NULL )
{ {
aTlbStruct.SetStyle(aTlbStruct.GetStyle()|WB_HASLINES|WB_CLIPCHILDREN| get(m_pTlbStruct, "struct");
Size aSize(LogicToPixel(Size(86, 162), MAP_APPFONT));
m_pTlbStruct->set_height_request(aSize.Height());
m_pTlbStruct->set_width_request(aSize.Width());
m_pTlbStruct->SetStyle(m_pTlbStruct->GetStyle()|WB_HASLINES|WB_CLIPCHILDREN|
WB_HASBUTTONS|WB_HSCROLL|WB_NOINITIALSELECTION); WB_HASBUTTONS|WB_HSCROLL|WB_NOINITIALSELECTION);
aTlbStruct.SetNodeDefaultImages(); m_pTlbStruct->SetNodeDefaultImages();
aTlbStruct.SetDefaultExpandedEntryBmp( Image( ModuleRes( BMP_STR_OPEN ) ) ); m_pTlbStruct->SetDefaultExpandedEntryBmp( Image( ModuleRes( BMP_STR_OPEN ) ) );
aTlbStruct.SetDefaultCollapsedEntryBmp( Image( ModuleRes( BMP_STR_CLOSE ) ) ); m_pTlbStruct->SetDefaultCollapsedEntryBmp( Image( ModuleRes( BMP_STR_CLOSE ) ) );
FreeResource();
aTlbStruct.SetSelectHdl(LINK( this, StructPage, SelectHdl ) ); m_pTlbStruct->SetSelectHdl(LINK( this, StructPage, SelectHdl ) );
} }
void StructPage::ClearStruct() void StructPage::ClearStruct()
{ {
aTlbStruct.SetActiveFlag(false); m_pTlbStruct->SetActiveFlag(false);
aTlbStruct.Clear(); m_pTlbStruct->Clear();
} }
SvTreeListEntry* StructPage::InsertEntry( const OUString& rText, SvTreeListEntry* pParent, SvTreeListEntry* StructPage::InsertEntry( const OUString& rText, SvTreeListEntry* pParent,
sal_uInt16 nFlag,sal_uLong nPos,IFormulaToken* pIFormulaToken) sal_uInt16 nFlag,sal_uLong nPos,IFormulaToken* pIFormulaToken)
{ {
aTlbStruct.SetActiveFlag( false ); m_pTlbStruct->SetActiveFlag( false );
SvTreeListEntry* pEntry = NULL; SvTreeListEntry* pEntry = NULL;
switch( nFlag ) switch( nFlag )
{ {
case STRUCT_FOLDER: case STRUCT_FOLDER:
pEntry = aTlbStruct.InsertEntry( rText, pParent, false, nPos, pIFormulaToken ); pEntry = m_pTlbStruct->InsertEntry( rText, pParent, false, nPos, pIFormulaToken );
break; break;
case STRUCT_END: case STRUCT_END:
pEntry = aTlbStruct.InsertStaticEntry( rText, maImgEnd, pParent, nPos, pIFormulaToken ); pEntry = m_pTlbStruct->InsertStaticEntry( rText, maImgEnd, pParent, nPos, pIFormulaToken );
break; break;
case STRUCT_ERROR: case STRUCT_ERROR:
pEntry = aTlbStruct.InsertStaticEntry( rText, maImgError, pParent, nPos, pIFormulaToken ); pEntry = m_pTlbStruct->InsertStaticEntry( rText, maImgError, pParent, nPos, pIFormulaToken );
break; break;
} }
if( pEntry && pParent ) if( pEntry && pParent )
aTlbStruct.Expand( pParent ); m_pTlbStruct->Expand( pParent );
return pEntry; return pEntry;
} }
@@ -133,13 +137,13 @@ OUString StructPage::GetEntryText(SvTreeListEntry* pEntry) const
{ {
OUString aString; OUString aString;
if(pEntry!=NULL) if(pEntry!=NULL)
aString = aTlbStruct.GetEntryText(pEntry); aString = m_pTlbStruct->GetEntryText(pEntry);
return aString; return aString;
} }
SvTreeListEntry* StructPage::GetParent(SvTreeListEntry* pEntry) const SvTreeListEntry* StructPage::GetParent(SvTreeListEntry* pEntry) const
{ {
return aTlbStruct.GetParent(pEntry); return m_pTlbStruct->GetParent(pEntry);
} }
IFormulaToken* StructPage::GetFunctionEntry(SvTreeListEntry* pEntry) IFormulaToken* StructPage::GetFunctionEntry(SvTreeListEntry* pEntry)
{ {
@@ -150,7 +154,7 @@ IFormulaToken* StructPage::GetFunctionEntry(SvTreeListEntry* pEntry)
{ {
if ( !(pToken->isFunction() || pToken->getArgumentCount() > 1 ) ) if ( !(pToken->isFunction() || pToken->getArgumentCount() > 1 ) )
{ {
return GetFunctionEntry(aTlbStruct.GetParent(pEntry)); return GetFunctionEntry(m_pTlbStruct->GetParent(pEntry));
} }
else else
{ {
@@ -163,11 +167,11 @@ IFormulaToken* StructPage::GetFunctionEntry(SvTreeListEntry* pEntry)
IMPL_LINK( StructPage, SelectHdl, SvTreeListBox*, pTlb ) IMPL_LINK( StructPage, SelectHdl, SvTreeListBox*, pTlb )
{ {
if(aTlbStruct.GetActiveFlag()) if(m_pTlbStruct->GetActiveFlag())
{ {
if(pTlb==&aTlbStruct) if(pTlb==m_pTlbStruct)
{ {
SvTreeListEntry* pCurEntry=aTlbStruct.GetCurEntry(); SvTreeListEntry* pCurEntry=m_pTlbStruct->GetCurEntry();
if(pCurEntry!=NULL) if(pCurEntry!=NULL)
{ {
pSelectedToken=(IFormulaToken *)pCurEntry->GetUserData(); pSelectedToken=(IFormulaToken *)pCurEntry->GetUserData();

View File

@@ -48,7 +48,7 @@ protected:
public: public:
StructListBox(Window* pParent, const ResId& rResId ); StructListBox(Window* pParent, WinBits nBits );
/** Inserts an entry with static image (no difference between collapsed/expanded). */ /** Inserts an entry with static image (no difference between collapsed/expanded). */
SvTreeListEntry* InsertStaticEntry( SvTreeListEntry* InsertStaticEntry(
@@ -73,8 +73,7 @@ private:
OModuleClient m_aModuleClient; OModuleClient m_aModuleClient;
Link aSelLink; Link aSelLink;
FixedText aFtStruct; StructListBox *m_pTlbStruct;
StructListBox aTlbStruct;
Image maImgEnd; Image maImgEnd;
Image maImgError; Image maImgError;

View File

@@ -42,16 +42,24 @@
// strings // strings
#define RID_STR_SHRINK (RID_STRING_START + 0) #define RID_STR_SHRINK (RID_STRING_START + 0)
#define RID_STR_EXPAND (RID_STRING_START + 1) #define RID_STR_EXPAND (RID_STRING_START + 1)
#define STR_STRUCT_ERR1 (RID_STRING_START + 2)
#define STR_STRUCT_ERR2 (RID_STRING_START + 3)
#define STR_OPTIONAL (RID_STRING_START + 4)
#define STR_REQUIRED (RID_STRING_START + 5)
#define STR_END (RID_STRING_START + 6)
#define STR_TITLE1 (RID_STRING_START + 7)
#define STR_TITLE2 (RID_STRING_START + 8)
// bitmap // bitmap
#define RID_BMP_REFBTN1 (RID_BITMAP_START + 0) #define RID_BMP_REFBTN1 (RID_BITMAP_START + 0)
#define RID_BMP_REFBTN2 (RID_BITMAP_START + 2) #define RID_BMP_REFBTN2 (RID_BITMAP_START + 2)
#define BMP_STR_CLOSE (RID_BITMAP_START + 3)
#define BMP_STR_OPEN (RID_BITMAP_START + 4)
#define BMP_STR_END (RID_BITMAP_START + 5)
#define BMP_STR_ERROR (RID_BITMAP_START + 6)
#define BMP_FX (RID_BITMAP_START + 7)
// pages // pages
#define RID_FORMULATAB_STRUCT (RID_PAGE_START + 0)
#define RID_FORMULATAB_FUNCTION (RID_PAGE_START + 1)
#define RID_FORMULADLG_FORMULA (RID_PAGE_START + 2)
#define RID_FORMULATAB_PARAMETER (RID_PAGE_START + 3)
#define RID_FORMULADLG_FORMULA_MODAL (RID_PAGE_START + 4) #define RID_FORMULADLG_FORMULA_MODAL (RID_PAGE_START + 4)
#endif // FORMULA_FORRESID_HRC #endif // FORMULA_FORRESID_HRC

View File

@@ -0,0 +1,496 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.16.1 -->
<interface>
<requires lib="gtk+" version="3.0"/>
<!-- interface-requires LibreOffice 1.0 -->
<object class="GtkDialog" id="FormulaDialog">
<property name="can_focus">False</property>
<property name="border_width">5</property>
<property name="type_hint">dialog</property>
<child internal-child="vbox">
<object class="GtkBox" id="dialog-vbox1">
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<property name="spacing">6</property>
<child internal-child="action_area">
<object class="GtkButtonBox" id="dialog-action_area1">
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<property name="layout_style">end</property>
<child>
<object class="GtkCheckButton" id="array">
<property name="label" translatable="yes">Array</property>
<property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="halign">start</property>
<property name="hexpand">True</property>
<property name="xalign">0</property>
<property name="draw_indicator">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
<property name="secondary">True</property>
</packing>
</child>
<child>
<object class="GtkButton" id="help">
<property name="label">gtk-help</property>
<property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_stock">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="cancel">
<property name="label">gtk-cancel</property>
<property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_stock">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
<child>
<object class="GtkButton" id="back">
<property name="label" translatable="yes">&lt;&lt; _Back</property>
<property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_underline">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">3</property>
</packing>
</child>
<child>
<object class="GtkButton" id="next">
<property name="label" translatable="yes">_Next &gt;&gt;</property>
<property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_underline">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">4</property>
</packing>
</child>
<child>
<object class="GtkButton" id="ok">
<property name="label">gtk-ok</property>
<property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="can_default">True</property>
<property name="has_default">True</property>
<property name="receives_default">True</property>
<property name="use_stock">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">5</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack_type">end</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkBox" id="box1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="orientation">vertical</property>
<property name="spacing">6</property>
<child>
<object class="GtkBox" id="box2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="spacing">6</property>
<child>
<object class="GtkNotebook" id="tabs">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="vexpand">True</property>
<child>
<placeholder/>
</child>
<child type="tab">
<object class="GtkLabel" id="function">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Functions</property>
</object>
<packing>
<property name="tab_fill">False</property>
</packing>
</child>
<child>
<placeholder/>
</child>
<child type="tab">
<object class="GtkLabel" id="struct">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Structure</property>
</object>
<packing>
<property name="position">1</property>
<property name="tab_fill">False</property>
</packing>
</child>
<child>
<placeholder/>
</child>
<child type="tab">
<placeholder/>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkBox" id="box3">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="vexpand">True</property>
<property name="orientation">vertical</property>
<property name="spacing">6</property>
<child>
<object class="GtkGrid" id="grid2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="row_spacing">6</property>
<property name="column_spacing">6</property>
<child>
<object class="GtkLabel" id="label2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
<property name="label" translatable="yes">Function result</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">result</property>
</object>
<packing>
<property name="left_attach">2</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="foruilo-ValWnd" id="result">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
</object>
<packing>
<property name="left_attach">3</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="editname">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="hexpand">True</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="label3">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkBox" id="BOX">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="orientation">vertical</property>
<property name="spacing">6</property>
<child>
<placeholder/>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkGrid" id="ALTBOX">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="row_spacing">12</property>
<child>
<object class="GtkLabel" id="headline">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="xalign">0</property>
<property name="yalign">0</property>
<property name="wrap">True</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="funcname">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="xalign">0</property>
<property name="yalign">0</property>
<property name="wrap">True</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">1</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="funcdesc">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="vexpand">True</property>
<property name="xalign">0</property>
<property name="yalign">0</property>
<property name="wrap">True</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">2</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
<child>
<object class="GtkGrid" id="grid3">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="row_spacing">6</property>
<property name="column_spacing">12</property>
<child>
<object class="GtkLabel" id="formula">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="hexpand">True</property>
<property name="label" translatable="yes">For_mula</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">ed_formula</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="label1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
<property name="label" translatable="yes">Result</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">formula_result</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="foruilo-ValWnd" id="formula_result">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
</object>
<packing>
<property name="left_attach">2</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">3</property>
</packing>
</child>
<child>
<object class="foruilo-EditBox" id="ed_formula">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="hexpand">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">5</property>
</packing>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkGrid" id="grid4">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<property name="row_spacing">6</property>
<property name="column_spacing">6</property>
<child>
<object class="foruilo-RefEdit" id="ED_REF">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="hexpand">True</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="foruilo-RefButton" id="RB_REF">
<property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="tooltip_text" translatable="yes">Maximize</property>
<property name="halign">end</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
</child>
<action-widgets>
<action-widget response="0">array</action-widget>
<action-widget response="0">help</action-widget>
<action-widget response="0">cancel</action-widget>
<action-widget response="0">back</action-widget>
<action-widget response="0">next</action-widget>
<action-widget response="0">ok</action-widget>
</action-widgets>
</object>
<object class="GtkSizeGroup" id="sizegroup1">
<widgets>
<widget name="BOX"/>
<widget name="ALTBOX"/>
</widgets>
</object>
</interface>

View File

@@ -0,0 +1,77 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.16.1 -->
<interface>
<requires lib="gtk+" version="3.0"/>
<!-- interface-requires LibreOffice 1.0 -->
<object class="GtkBox" id="FunctionPage">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="border_width">6</property>
<property name="orientation">vertical</property>
<property name="spacing">6</property>
<child>
<object class="GtkLabel" id="label1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="label" translatable="yes">_Category</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">category</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkComboBoxText" id="category">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<items>
<item translatable="yes">Last Used</item>
<item translatable="yes">All</item>
</items>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="label2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="label" translatable="yes">_Function</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">function</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
<child>
<object class="foruilo-FormulaListBox" id="function">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<child internal-child="selection">
<object class="GtkTreeSelection" id="Formula ListBox-selection1"/>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">3</property>
</packing>
</child>
</object>
</interface>

View File

@@ -0,0 +1,367 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.16.1 -->
<interface>
<requires lib="gtk+" version="3.0"/>
<!-- interface-requires LibreOffice 1.0 -->
<object class="GtkBox" id="ParameterPage">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="border_width">6</property>
<property name="orientation">vertical</property>
<property name="spacing">6</property>
<child>
<object class="GtkBox" id="box2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="orientation">vertical</property>
<property name="spacing">12</property>
<child>
<object class="GtkLabel" id="editdesc">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="hexpand">True</property>
<property name="xalign">0</property>
<property name="yalign">0</property>
<property name="label" translatable="yes">Function not known</property>
<property name="wrap">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="parname">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="hexpand">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="pardesc">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="xalign">0</property>
<property name="yalign">0</property>
<property name="wrap">True</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">3</property>
</packing>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkGrid" id="paramgrid">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<property name="column_spacing">12</property>
<child>
<object class="GtkGrid" id="grid2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
<property name="valign">start</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="row_spacing">6</property>
<property name="column_spacing">6</property>
<property name="row_homogeneous">True</property>
<child>
<object class="GtkLabel" id="FT_ARG1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">1</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">ED_ARG1</property>
<property name="single_line_mode">True</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="FT_ARG2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">1</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">ED_ARG2</property>
<property name="single_line_mode">True</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">1</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="FT_ARG3">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">1</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">ED_ARG3</property>
<property name="single_line_mode">True</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">2</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="FT_ARG4">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">1</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">ED_ARG4</property>
<property name="single_line_mode">True</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">3</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="foruilo-ArgEdit" id="ED_ARG1">
<property name="width_request">150</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="hexpand">True</property>
</object>
<packing>
<property name="left_attach">2</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="foruilo-ArgEdit" id="ED_ARG2">
<property name="width_request">150</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="hexpand">True</property>
</object>
<packing>
<property name="left_attach">2</property>
<property name="top_attach">1</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="foruilo-ArgEdit" id="ED_ARG3">
<property name="width_request">150</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="hexpand">True</property>
</object>
<packing>
<property name="left_attach">2</property>
<property name="top_attach">2</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="foruilo-ArgEdit" id="ED_ARG4">
<property name="width_request">150</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="hexpand">True</property>
</object>
<packing>
<property name="left_attach">2</property>
<property name="top_attach">3</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="FX1">
<property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="halign">end</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="FX2">
<property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="halign">end</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">1</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="FX3">
<property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="halign">end</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">2</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="FX4">
<property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="halign">end</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">3</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="foruilo-RefButton" id="RB_ARG1">
<property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="tooltip_text" translatable="yes">Select</property>
<property name="halign">end</property>
</object>
<packing>
<property name="left_attach">3</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="foruilo-RefButton" id="RB_ARG2">
<property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="tooltip_text" translatable="yes">Select</property>
<property name="halign">end</property>
</object>
<packing>
<property name="left_attach">3</property>
<property name="top_attach">1</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="foruilo-RefButton" id="RB_ARG3">
<property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="tooltip_text" translatable="yes">Select</property>
<property name="halign">end</property>
</object>
<packing>
<property name="left_attach">3</property>
<property name="top_attach">2</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="foruilo-RefButton" id="RB_ARG4">
<property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="tooltip_text" translatable="yes">Select</property>
<property name="halign">end</property>
</object>
<packing>
<property name="left_attach">3</property>
<property name="top_attach">3</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkScrollbar" id="scrollbar">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="vexpand">True</property>
<property name="orientation">vertical</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
</interface>

View File

@@ -0,0 +1,46 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.16.1 -->
<interface>
<requires lib="gtk+" version="3.0"/>
<!-- interface-requires LibreOffice 1.0 -->
<object class="GtkBox" id="StructPage">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="border_width">6</property>
<property name="orientation">vertical</property>
<property name="spacing">6</property>
<child>
<object class="GtkLabel" id="label1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="label" translatable="yes">_Structure</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">struct</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="foruilo-StructListBox" id="struct">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<child internal-child="selection">
<object class="GtkTreeSelection" id="Formula ListBox-selection1"/>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">3</property>
</packing>
</child>
</object>
</interface>

View File

@@ -44,7 +44,6 @@ protected:
virtual void LoseFocus() SAL_OVERRIDE; virtual void LoseFocus() SAL_OVERRIDE;
public: public:
RefEdit( Window* _pParent,IControlReferenceHandler* pParent, Window* pShrinkModeLabel, const ResId& rResId );
RefEdit( Window* _pParent, Window* pShrinkModeLabel, WinBits nStyle = WB_BORDER ); RefEdit( Window* _pParent, Window* pShrinkModeLabel, WinBits nStyle = WB_BORDER );
virtual ~RefEdit(); virtual ~RefEdit();
@@ -95,10 +94,7 @@ protected:
virtual void LoseFocus() SAL_OVERRIDE; virtual void LoseFocus() SAL_OVERRIDE;
public: public:
RefButton(Window* _pParent, const ResId& rResId);
RefButton(Window* _pParent, WinBits nStyle = 0); RefButton(Window* _pParent, WinBits nStyle = 0);
RefButton(Window* _pParent, const ResId& rResId,
RefEdit* pEdit, IControlReferenceHandler* pDlg);
void SetReferences( IControlReferenceHandler* pDlg, RefEdit* pEdit ); void SetReferences( IControlReferenceHandler* pDlg, RefEdit* pEdit );