diff options
| author | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2012-07-16 04:21:40 +0200 |
|---|---|---|
| committer | Fridrich Štrba <fridrich.strba@bluewin.ch> | 2012-07-16 10:24:46 +0200 |
| commit | ffdee69b8e653085e4681c264682cfb71761f8db (patch) | |
| tree | 68aa6e7571e1bbef23320e76a2b4f7d637840bd5 | |
| parent | e535c1f6d4d14c27b8d963758184b2fd025d10a9 (diff) | |
disable edit field for min and max type, fdo#51834
Change-Id: Id77c58f333bfab5446cf96d24cd9ccfc18802862
Signed-off-by: Fridrich Štrba <fridrich.strba@bluewin.ch>
| -rw-r--r-- | sc/source/ui/condformat/condformatdlg.cxx | 40 | ||||
| -rw-r--r-- | sc/source/ui/inc/condformatdlg.hxx | 1 |
2 files changed, 41 insertions, 0 deletions
diff --git a/sc/source/ui/condformat/condformatdlg.cxx b/sc/source/ui/condformat/condformatdlg.cxx index 9ba146d1e5ef..643efdba3ab1 100644 --- a/sc/source/ui/condformat/condformatdlg.cxx +++ b/sc/source/ui/condformat/condformatdlg.cxx @@ -173,6 +173,10 @@ ScCondFrmtEntry::ScCondFrmtEntry(Window* pParent, ScDocument* pDoc): SwitchToType(COLLAPSED); SetHeight(); SetCondType(); + + EntryTypeHdl(&maLbEntryTypeMin); + EntryTypeHdl(&maLbEntryTypeMiddle); + EntryTypeHdl(&maLbEntryTypeMax); } ScCondFrmtEntry::ScCondFrmtEntry(Window* pParent, ScDocument* pDoc, const ScFormatEntry* pFormatEntry): @@ -297,6 +301,10 @@ ScCondFrmtEntry::ScCondFrmtEntry(Window* pParent, ScDocument* pDoc, const ScForm maClickHdl = LINK( pParent, ScCondFormatList, EntrySelectHdl ); SwitchToType(COLLAPSED); SetHeight(); + + EntryTypeHdl(&maLbEntryTypeMin); + EntryTypeHdl(&maLbEntryTypeMiddle); + EntryTypeHdl(&maLbEntryTypeMax); } ScCondFrmtEntry::~ScCondFrmtEntry() @@ -307,6 +315,12 @@ void ScCondFrmtEntry::Init() { maLbType.SetSelectHdl( LINK( this, ScCondFrmtEntry, TypeListHdl ) ); maLbColorFormat.SetSelectHdl( LINK( this, ScCondFrmtEntry, ColFormatTypeHdl ) ); + maLbEntryTypeMin.SetSelectHdl( LINK( this, ScCondFrmtEntry, EntryTypeHdl ) ); + maLbEntryTypeMax.SetSelectHdl( LINK( this, ScCondFrmtEntry, EntryTypeHdl ) ); + maLbEntryTypeMiddle.SetSelectHdl( LINK( this, ScCondFrmtEntry, EntryTypeHdl ) ); + + + SfxStyleSheetIterator aStyleIter( mpDoc->GetStyleSheetPool(), SFX_STYLE_FAMILY_PARA ); for ( SfxStyleSheetBase* pStyle = aStyleIter.First(); pStyle; pStyle = aStyleIter.Next() ) { @@ -813,6 +827,31 @@ IMPL_LINK_NOARG(ScCondFrmtEntry, ColFormatTypeHdl) return 0; } +IMPL_LINK( ScCondFrmtEntry, EntryTypeHdl, ListBox*, pBox ) +{ + bool bEnableEdit = true; + sal_Int32 nPos = pBox->GetSelectEntryPos(); + if(nPos == 0 || nPos == 1) + { + bEnableEdit = false; + } + + Edit* pEd = NULL; + if(pBox == &maLbEntryTypeMin) + pEd = &maEdMin; + else if(pBox == &maLbEntryTypeMiddle) + pEd = &maEdMiddle; + else if(pBox == &maLbEntryTypeMax) + pEd = &maEdMax; + + if(bEnableEdit) + pEd->Enable(); + else + pEd->Disable(); + + return 0; +} + IMPL_LINK_NOARG(ScCondFrmtEntry, StyleSelectHdl) { if(maLbStyle.GetSelectEntryPos() == 0) @@ -906,6 +945,7 @@ IMPL_LINK_NOARG( ScCondFrmtEntry, ConditionTypeSelectHdl ) { maEdVal2.Hide(); } + return 0; } diff --git a/sc/source/ui/inc/condformatdlg.hxx b/sc/source/ui/inc/condformatdlg.hxx index 35e24da2f36c..298b357ad778 100644 --- a/sc/source/ui/inc/condformatdlg.hxx +++ b/sc/source/ui/inc/condformatdlg.hxx @@ -124,6 +124,7 @@ private: DECL_LINK( OptionBtnHdl, void* ); DECL_LINK( DataBarTypeSelectHdl, void* ); DECL_LINK( ConditionTypeSelectHdl, void* ); + DECL_LINK( EntryTypeHdl, ListBox* ); public: ScCondFrmtEntry( Window* pParent, ScDocument* pDoc ); |
