Kaydet (Commit) 23da9369 authored tarafından Markus Mohrhard's avatar Markus Mohrhard

ManageNames: add RangeOptions button to Define Name dialog

üst 684b53cf
...@@ -20,3 +20,4 @@ ...@@ -20,3 +20,4 @@
#define STR_ERR_NAME_INVALID 18 #define STR_ERR_NAME_INVALID 18
#define STR_DEFAULT_INFO 19 #define STR_DEFAULT_INFO 19
#define RB_RANGE 20 #define RB_RANGE 20
#define BTN_MORE 21
...@@ -44,6 +44,7 @@ class ScNameDefDlg : public ScAnyRefDlg ...@@ -44,6 +44,7 @@ class ScNameDefDlg : public ScAnyRefDlg
private: private:
PushButton maBtnAdd; PushButton maBtnAdd;
PushButton maBtnCancel; PushButton maBtnCancel;
DisclosureButton maBtnMore;
FixedText maFtInfo; FixedText maFtInfo;
FixedText maFtName; FixedText maFtName;
FixedText maFtRange; FixedText maFtRange;
...@@ -73,6 +74,7 @@ private: ...@@ -73,6 +74,7 @@ private:
void CancelPushed(); void CancelPushed();
void AddPushed(); void AddPushed();
void MorePushed();
bool IsNameValid(); bool IsNameValid();
...@@ -81,6 +83,7 @@ private: ...@@ -81,6 +83,7 @@ private:
DECL_LINK( NameModifyHdl, void* ); DECL_LINK( NameModifyHdl, void* );
DECL_LINK( EdModifyHdl, void * ); DECL_LINK( EdModifyHdl, void * );
DECL_LINK( AssignGetFocusHdl, void * ); DECL_LINK( AssignGetFocusHdl, void * );
DECL_LINK( MoreBtnHdl, void* );
protected: protected:
virtual void RefInputDone( sal_Bool bForced = sal_False ); virtual void RefInputDone( sal_Bool bForced = sal_False );
......
...@@ -24,6 +24,7 @@ ScNameDefDlg::ScNameDefDlg( SfxBindings* pB, SfxChildWindow* pCW, Window* pParen ...@@ -24,6 +24,7 @@ ScNameDefDlg::ScNameDefDlg( SfxBindings* pB, SfxChildWindow* pCW, Window* pParen
ScAnyRefDlg( pB, pCW, pParent, RID_SCDLG_NAMES_DEFINE ), ScAnyRefDlg( pB, pCW, pParent, RID_SCDLG_NAMES_DEFINE ),
maBtnAdd( this, ScResId( BTN_ADD ) ), maBtnAdd( this, ScResId( BTN_ADD ) ),
maBtnCancel( this, ScResId( BTN_CANCEL ) ), maBtnCancel( this, ScResId( BTN_CANCEL ) ),
maBtnMore( this, ScResId( BTN_MORE ) ),
maFtInfo( this, ScResId( FT_INFO ) ), maFtInfo( this, ScResId( FT_INFO ) ),
maFtName( this, ScResId( FT_NAME ) ), maFtName( this, ScResId( FT_NAME ) ),
maFtRange( this, ScResId( FT_RANGE ) ), maFtRange( this, ScResId( FT_RANGE ) ),
...@@ -57,12 +58,20 @@ ScNameDefDlg::ScNameDefDlg( SfxBindings* pB, SfxChildWindow* pCW, Window* pParen ...@@ -57,12 +58,20 @@ ScNameDefDlg::ScNameDefDlg( SfxBindings* pB, SfxChildWindow* pCW, Window* pParen
maBtnCancel.SetClickHdl( LINK( this, ScNameDefDlg, CancelBtnHdl)); maBtnCancel.SetClickHdl( LINK( this, ScNameDefDlg, CancelBtnHdl));
maBtnAdd.SetClickHdl( LINK( this, ScNameDefDlg, AddBtnHdl )); maBtnAdd.SetClickHdl( LINK( this, ScNameDefDlg, AddBtnHdl ));
maBtnMore.SetClickHdl( LINK( this, ScNameDefDlg, MoreBtnHdl ));
maEdName.SetModifyHdl( LINK( this, ScNameDefDlg, NameModifyHdl )); maEdName.SetModifyHdl( LINK( this, ScNameDefDlg, NameModifyHdl ));
maEdRange.SetGetFocusHdl( LINK( this, ScNameDefDlg, AssignGetFocusHdl ) ); maEdRange.SetGetFocusHdl( LINK( this, ScNameDefDlg, AssignGetFocusHdl ) );
maFtInfo.SetText(ResId::toString( ScResId( STR_DEFAULT_INFO ) )); maFtInfo.SetText(ResId::toString( ScResId( STR_DEFAULT_INFO ) ));
maBtnAdd.Disable(); // empty name is invalid maBtnAdd.Disable(); // empty name is invalid
maBtnRowHeader.Hide();
maBtnColHeader.Hide();
maBtnCriteria.Hide();
maBtnPrintArea.Hide();
FreeResource();
} }
void ScNameDefDlg::CancelPushed() void ScNameDefDlg::CancelPushed()
...@@ -226,6 +235,45 @@ void ScNameDefDlg::SetActive() ...@@ -226,6 +235,45 @@ void ScNameDefDlg::SetActive()
RefInputDone(); RefInputDone();
} }
namespace {
void MoveWindow( Window& rButton, long nPixel)
{
Point aPoint = rButton.GetPosPixel();
aPoint.Y() += nPixel;
rButton.SetPosPixel(aPoint);
}
}
void ScNameDefDlg::MorePushed()
{
Size nSize = GetSizePixel();
//depending on the state of the button, move all elements below up/down
long nPixel = 85;
if (!maBtnMore.GetState())
{
nPixel *= -1;
maBtnRowHeader.Hide();
maBtnColHeader.Hide();
maBtnPrintArea.Hide();
maBtnCriteria.Hide();
}
else
{
maBtnRowHeader.Show();
maBtnColHeader.Show();
maBtnPrintArea.Show();
maBtnCriteria.Show();
}
nSize.Height() += nPixel;
SetSizePixel(nSize);
MoveWindow(maBtnAdd, nPixel);
MoveWindow(maBtnCancel, nPixel);
MoveWindow(maFlDiv, nPixel);
}
IMPL_LINK( ScNameDefDlg, CancelBtnHdl, void*, EMPTYARG) IMPL_LINK( ScNameDefDlg, CancelBtnHdl, void*, EMPTYARG)
{ {
CancelPushed(); CancelPushed();
...@@ -255,3 +303,9 @@ IMPL_LINK( ScNameDefDlg, AssignGetFocusHdl, void *, EMPTYARG ) ...@@ -255,3 +303,9 @@ IMPL_LINK( ScNameDefDlg, AssignGetFocusHdl, void *, EMPTYARG )
EdModifyHdl( &maEdRange ); EdModifyHdl( &maEdRange );
return 0; return 0;
} }
IMPL_LINK( ScNameDefDlg, MoreBtnHdl, void*, EMPTYARG)
{
MorePushed();
return 0;
}
...@@ -7,24 +7,30 @@ ModelessDialog RID_SCDLG_NAMES_DEFINE ...@@ -7,24 +7,30 @@ ModelessDialog RID_SCDLG_NAMES_DEFINE
HelpId = CMD_FID_ADD_NAME ; HelpId = CMD_FID_ADD_NAME ;
Hide = TRUE ; Hide = TRUE ;
SVLook = TRUE ; SVLook = TRUE ;
Size = MAP_APPFONT ( 200 , 100 ) ; Size = MAP_APPFONT ( 200 , 120 ) ;
Text [ en-US ] = "Define Name" ; Text [ en-US ] = "Define Name" ;
Moveable = TRUE ; Moveable = TRUE ;
Closeable = TRUE; Closeable = TRUE;
PushButton BTN_ADD PushButton BTN_ADD
{ {
Pos = MAP_APPFONT( 110, 80 ); Pos = MAP_APPFONT( 110, 100 );
Size = MAP_APPFONT( 40, 14 ); Size = MAP_APPFONT( 40, 14 );
TabStop = TRUE; TabStop = TRUE;
Text [en-US] = "Add"; Text [en-US] = "Add";
}; };
PushButton BTN_CANCEL PushButton BTN_CANCEL
{ {
Pos = MAP_APPFONT( 155, 80 ); Pos = MAP_APPFONT( 155, 100 );
Size = MAP_APPFONT ( 40, 14 ); Size = MAP_APPFONT ( 40, 14 );
TabStop = TRUE; TabStop = TRUE;
Text [en-US] = "Cancel"; Text [en-US] = "Cancel";
}; };
CheckBox BTN_MORE
{
Pos = MAP_APPFONT( 6, 82 );
Size = MAP_APPFONT( 60, 14 );
Text [en-US] = "RangeOptions";
};
FixedText FT_INFO FixedText FT_INFO
{ {
Pos = MAP_APPFONT( 6, 6 ); Pos = MAP_APPFONT( 6, 6 );
...@@ -72,7 +78,7 @@ ModelessDialog RID_SCDLG_NAMES_DEFINE ...@@ -72,7 +78,7 @@ ModelessDialog RID_SCDLG_NAMES_DEFINE
CheckBox BTN_PRINTAREA CheckBox BTN_PRINTAREA
{ {
HelpID = "sc:CheckBox:RID_SCDLG_NAMES:BTN_PRINTAREA"; HelpID = "sc:CheckBox:RID_SCDLG_NAMES:BTN_PRINTAREA";
Pos = MAP_APPFONT ( 6 , 208 ) ; Pos = MAP_APPFONT ( 6 , 100 ) ;
Size = MAP_APPFONT ( 80 , 14 ) ; Size = MAP_APPFONT ( 80 , 14 ) ;
Text [ en-US ] = "~Print range" ; Text [ en-US ] = "~Print range" ;
TabStop = TRUE ; TabStop = TRUE ;
...@@ -80,7 +86,7 @@ ModelessDialog RID_SCDLG_NAMES_DEFINE ...@@ -80,7 +86,7 @@ ModelessDialog RID_SCDLG_NAMES_DEFINE
CheckBox BTN_CRITERIA CheckBox BTN_CRITERIA
{ {
HelpID = "sc:CheckBox:RID_SCDLG_NAMES:BTN_CRITERIA"; HelpID = "sc:CheckBox:RID_SCDLG_NAMES:BTN_CRITERIA";
Pos = MAP_APPFONT ( 6 , 223 ) ; Pos = MAP_APPFONT ( 6 , 118 ) ;
Size = MAP_APPFONT ( 60 , 14 ) ; Size = MAP_APPFONT ( 60 , 14 ) ;
Text [ en-US ] = "~Filter" ; Text [ en-US ] = "~Filter" ;
TabStop = TRUE ; TabStop = TRUE ;
...@@ -88,7 +94,7 @@ ModelessDialog RID_SCDLG_NAMES_DEFINE ...@@ -88,7 +94,7 @@ ModelessDialog RID_SCDLG_NAMES_DEFINE
CheckBox BTN_ROWHEADER CheckBox BTN_ROWHEADER
{ {
HelpID = "sc:CheckBox:RID_SCDLG_NAMES:BTN_ROWHEADER"; HelpID = "sc:CheckBox:RID_SCDLG_NAMES:BTN_ROWHEADER";
Pos = MAP_APPFONT ( 110, 223 ) ; Pos = MAP_APPFONT ( 110, 118 ) ;
Size = MAP_APPFONT ( 82 , 14 ) ; Size = MAP_APPFONT ( 82 , 14 ) ;
Text [ en-US ] = "Repeat ~row" ; Text [ en-US ] = "Repeat ~row" ;
TabStop = TRUE ; TabStop = TRUE ;
...@@ -96,7 +102,7 @@ ModelessDialog RID_SCDLG_NAMES_DEFINE ...@@ -96,7 +102,7 @@ ModelessDialog RID_SCDLG_NAMES_DEFINE
CheckBox BTN_COLHEADER CheckBox BTN_COLHEADER
{ {
HelpID = "sc:CheckBox:RID_SCDLG_NAMES:BTN_COLHEADER"; HelpID = "sc:CheckBox:RID_SCDLG_NAMES:BTN_COLHEADER";
Pos = MAP_APPFONT ( 110 , 208 ) ; Pos = MAP_APPFONT ( 110 , 100 ) ;
Size = MAP_APPFONT ( 82 , 14 ) ; Size = MAP_APPFONT ( 82 , 14 ) ;
Text [ en-US ] = "Repeat ~column" ; Text [ en-US ] = "Repeat ~column" ;
TabStop = TRUE ; TabStop = TRUE ;
...@@ -111,7 +117,7 @@ ModelessDialog RID_SCDLG_NAMES_DEFINE ...@@ -111,7 +117,7 @@ ModelessDialog RID_SCDLG_NAMES_DEFINE
}; };
FixedLine FL_DIV FixedLine FL_DIV
{ {
Pos = MAP_APPFONT( 0, 75 ); Pos = MAP_APPFONT( 0, 95 );
Size = MAP_APPFONT(200, 3 ); Size = MAP_APPFONT(200, 3 );
}; };
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment