summaryrefslogtreecommitdiff
path: root/formula
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2013-04-16 20:41:34 +0100
committerCaolán McNamara <caolanm@redhat.com>2013-04-17 10:25:10 +0100
commit02179ab7e771fae9d012724b8ff1397f4265cfc1 (patch)
tree2f56bf55fcfe40f2833a4d028b90e6c80e8cd532 /formula
parenta59565f855cb30fff56eb3d889376bfd27dc728f (diff)
stash the label widget for shrink mode in the edit, not the button
because we always have we a refedit, but sometimes not a refbutton, so set the label widget to use for the dialog shrink mode on the refedit instead of the refbutton. This way we get the shrunken dialog title bar updated with the label contents regardless of using the shrink button or clicking in the editbox and dragging the mouse around the spreadsheet triggering the shrink mode Change-Id: Ifdff01a30d5c65aa964d4bf544017a2927757d67
Diffstat (limited to 'formula')
-rw-r--r--formula/inc/formula/funcutl.hxx17
-rw-r--r--formula/source/ui/dlg/formula.cxx4
-rw-r--r--formula/source/ui/dlg/funcutl.cxx28
-rw-r--r--formula/source/ui/dlg/parawin.cxx4
4 files changed, 27 insertions, 26 deletions
diff --git a/formula/inc/formula/funcutl.hxx b/formula/inc/formula/funcutl.hxx
index 76a2287ed45c..6676117cdf20 100644
--- a/formula/inc/formula/funcutl.hxx
+++ b/formula/inc/formula/funcutl.hxx
@@ -34,6 +34,7 @@ class FORMULA_DLLPUBLIC RefEdit : public Edit
private:
Timer aTimer;
IControlReferenceHandler* pAnyRefDlg; // parent dialog
+ Window* pLabelWidget;
DECL_LINK( UpdateHdl, void* );
@@ -43,8 +44,10 @@ protected:
virtual void LoseFocus();
public:
- RefEdit( Window* _pParent,IControlReferenceHandler* pParent, const ResId& rResId );
- RefEdit( Window* _pParent, WinBits nStyle = WB_BORDER );
+ RefEdit( Window* _pParent,IControlReferenceHandler* pParent,
+ Window* pShrinkModeLabel, const ResId& rResId );
+ RefEdit( Window* _pParent, Window* pShrinkModeLabel,
+ WinBits nStyle = WB_BORDER );
virtual ~RefEdit();
void SetRefString( const XubString& rStr );
@@ -61,8 +64,9 @@ public:
void StartUpdateData();
- void SetRefDialog( IControlReferenceHandler* pDlg );
+ void SetReferences( IControlReferenceHandler* pDlg, Window *pLabelWidget );
IControlReferenceHandler* GetRefDialog() { return pAnyRefDlg; }
+ Window* GetLabelWidgetForShrinkMode() { return pLabelWidget; }
};
@@ -77,7 +81,6 @@ private:
OUString aExpandQuickHelp;
IControlReferenceHandler* pAnyRefDlg; // parent dialog
RefEdit* pRefEdit; // zugeordnetes Edit-Control
- Window* pLabelWidget;
protected:
virtual void Click();
@@ -89,16 +92,14 @@ public:
RefButton(Window* _pParent, const ResId& rResId);
RefButton(Window* _pParent, WinBits nStyle = 0);
RefButton(Window* _pParent, const ResId& rResId,
- RefEdit* pEdit, Window* pShrinkModeLabel,
- IControlReferenceHandler* pDlg);
+ RefEdit* pEdit, IControlReferenceHandler* pDlg);
void SetReferences( IControlReferenceHandler* pDlg,
- RefEdit* pEdit, Window* pShrinkModeLabel );
+ RefEdit* pEdit );
void SetStartImage();
void SetEndImage();
void DoRef() { Click(); }
- Window* GetLabelWidgetForShrinkMode() { return pLabelWidget; }
};
} // formula
diff --git a/formula/source/ui/dlg/formula.cxx b/formula/source/ui/dlg/formula.cxx
index df893f624b8c..6f98e56b31aa 100644
--- a/formula/source/ui/dlg/formula.cxx
+++ b/formula/source/ui/dlg/formula.cxx
@@ -265,8 +265,8 @@ FormulaDlg_Impl::FormulaDlg_Impl(Dialog* pParent
aBtnBackward ( pParent, ModuleRes( BTN_BACKWARD ) ),
aBtnForward ( pParent, ModuleRes( BTN_FORWARD ) ),
aBtnEnd ( pParent, ModuleRes( BTN_END ) ),
- aEdRef ( pParent, _pDlg, ModuleRes( ED_REF) ),
- aRefBtn ( pParent, ModuleRes( RB_REF),&aEdRef,&aFtEditName,_pDlg ),
+ 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),
diff --git a/formula/source/ui/dlg/funcutl.cxx b/formula/source/ui/dlg/funcutl.cxx
index 8d39ea91f556..01fc78b45d92 100644
--- a/formula/source/ui/dlg/funcutl.cxx
+++ b/formula/source/ui/dlg/funcutl.cxx
@@ -87,7 +87,7 @@ void ValWnd::SetValue( const String& rStrVal )
//----------------------------------------------------------------------------
ArgEdit::ArgEdit( Window* pParent, const ResId& rResId )
- : RefEdit( pParent, NULL, rResId ),
+ : RefEdit( pParent, NULL, NULL, rResId ),
pEdPrev ( NULL ),
pEdNext ( NULL ),
pSlider ( NULL ),
@@ -847,17 +847,20 @@ void EditBox::UpdateOldSel()
#define SC_ENABLE_TIME 100
-RefEdit::RefEdit( Window* _pParent,IControlReferenceHandler* pParent, const ResId& rResId )
+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, WinBits nStyle )
+RefEdit::RefEdit( Window* _pParent, Window* pShrinkModeLabel, WinBits nStyle )
: Edit( _pParent, nStyle )
, pAnyRefDlg( NULL )
+ , pLabelWidget(pShrinkModeLabel)
{
aTimer.SetTimeoutHdl( LINK( this, RefEdit, UpdateHdl ) );
aTimer.SetTimeout( SC_ENABLE_TIME );
@@ -865,7 +868,7 @@ RefEdit::RefEdit( Window* _pParent, WinBits nStyle )
extern "C" SAL_DLLPUBLIC_EXPORT Window* SAL_CALL makeRefEdit(Window *pParent, VclBuilder::stringmap &)
{
- return new RefEdit(pParent, WB_BORDER);
+ return new RefEdit(pParent, NULL, WB_BORDER);
}
RefEdit::~RefEdit()
@@ -904,9 +907,10 @@ void RefEdit::StartUpdateData()
aTimer.Start();
}
-void RefEdit::SetRefDialog( IControlReferenceHandler* pDlg )
+void RefEdit::SetReferences( IControlReferenceHandler* pDlg, Window* pLabel )
{
pAnyRefDlg = pDlg;
+ pLabelWidget = pLabel;
if( pDlg )
{
@@ -967,8 +971,7 @@ RefButton::RefButton( Window* _pParent, const ResId& rResId) :
aShrinkQuickHelp( ModuleRes( RID_STR_SHRINK ).toString() ),
aExpandQuickHelp( ModuleRes( RID_STR_EXPAND ).toString() ),
pAnyRefDlg( NULL ),
- pRefEdit( NULL ),
- pLabelWidget( NULL )
+ pRefEdit( NULL )
{
SetStartImage();
}
@@ -980,8 +983,7 @@ RefButton::RefButton( Window* _pParent, WinBits nStyle ) :
aShrinkQuickHelp( ModuleRes( RID_STR_SHRINK ).toString() ),
aExpandQuickHelp( ModuleRes( RID_STR_EXPAND ).toString() ),
pAnyRefDlg( NULL ),
- pRefEdit( NULL ),
- pLabelWidget( NULL )
+ pRefEdit( NULL )
{
SetStartImage();
}
@@ -991,15 +993,14 @@ extern "C" SAL_DLLPUBLIC_EXPORT Window* SAL_CALL makeRefButton(Window *pParent,
return new RefButton(pParent, 0);
}
-RefButton::RefButton( Window* _pParent, const ResId& rResId, RefEdit* pEdit, Window* pShrinkModeLabel, IControlReferenceHandler* _pDlg ) :
+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 ),
- pLabelWidget( pShrinkModeLabel )
+ pRefEdit( pEdit )
{
SetStartImage();
}
@@ -1016,11 +1017,10 @@ void RefButton::SetEndImage()
SetQuickHelpText( aExpandQuickHelp );
}
-void RefButton::SetReferences( IControlReferenceHandler* pDlg, RefEdit* pEdit, Window* pShrinkModeLabel )
+void RefButton::SetReferences( IControlReferenceHandler* pDlg, RefEdit* pEdit )
{
pAnyRefDlg = pDlg;
pRefEdit = pEdit;
- pLabelWidget = pShrinkModeLabel;
}
//----------------------------------------------------------------------------
diff --git a/formula/source/ui/dlg/parawin.cxx b/formula/source/ui/dlg/parawin.cxx
index 50a2d0ded967..77e8935b118b 100644
--- a/formula/source/ui/dlg/parawin.cxx
+++ b/formula/source/ui/dlg/parawin.cxx
@@ -387,8 +387,8 @@ void ParaWin::InitArgInput( sal_uInt16 nPos, FixedText& rFtArg, ImageButton& rBt
ArgEdit& rEdArg, RefButton& rRefBtn)
{
- rRefBtn.SetReferences(pMyParent, &rEdArg, &rFtArg);
- rEdArg.SetRefDialog(pMyParent);
+ rRefBtn.SetReferences(pMyParent, &rEdArg);
+ rEdArg.SetReferences(pMyParent, &rFtArg);
aArgInput[nPos].InitArgInput (&rFtArg,&rBtnFx,&rEdArg,&rRefBtn);