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

make ScCondFormatDlg a ScAnyRefDlg

Change-Id: I4e04a1f34dd958922e9856294639de7bf40249e4
üst d540c322
...@@ -329,6 +329,9 @@ $(eval $(call gb_Library_add_exception_objects,sc,\ ...@@ -329,6 +329,9 @@ $(eval $(call gb_Library_add_exception_objects,sc,\
sc/source/ui/cctrl/popmenu \ sc/source/ui/cctrl/popmenu \
sc/source/ui/cctrl/tbinsert \ sc/source/ui/cctrl/tbinsert \
sc/source/ui/cctrl/tbzoomsliderctrl \ sc/source/ui/cctrl/tbzoomsliderctrl \
sc/source/ui/condformat/condformatdlg \
sc/source/ui/condformat/condformathelper \
sc/source/ui/condformat/colorformat \
sc/source/ui/dbgui/asciiopt \ sc/source/ui/dbgui/asciiopt \
sc/source/ui/dbgui/consdlg \ sc/source/ui/dbgui/consdlg \
sc/source/ui/dbgui/csvcontrol \ sc/source/ui/dbgui/csvcontrol \
......
...@@ -63,9 +63,6 @@ $(eval $(call gb_Library_add_exception_objects,scui,\ ...@@ -63,9 +63,6 @@ $(eval $(call gb_Library_add_exception_objects,scui,\
sc/source/ui/attrdlg/scuiexp \ sc/source/ui/attrdlg/scuiexp \
sc/source/ui/attrdlg/tabpages \ sc/source/ui/attrdlg/tabpages \
sc/source/ui/cctrl/editfield \ sc/source/ui/cctrl/editfield \
sc/source/ui/condformat/colorformat \
sc/source/ui/condformat/condformatdlg \
sc/source/ui/condformat/condformathelper \
sc/source/ui/condformat/condformatmgr \ sc/source/ui/condformat/condformatmgr \
sc/source/ui/dbgui/dapidata \ sc/source/ui/dbgui/dapidata \
sc/source/ui/dbgui/dapitype \ sc/source/ui/dbgui/dapitype \
......
...@@ -84,12 +84,6 @@ public: ...@@ -84,12 +84,6 @@ public:
virtual sal_Bool IsRow() = 0; virtual sal_Bool IsRow() = 0;
}; };
class AbstractScCondFormatDlg : public VclAbstractDialog
{
public:
virtual ScConditionalFormat* GetConditionalFormat() = 0;
};
class AbstractScCondFormatManagerDlg : public VclAbstractDialog class AbstractScCondFormatManagerDlg : public VclAbstractDialog
{ {
public: public:
...@@ -98,10 +92,6 @@ public: ...@@ -98,10 +92,6 @@ public:
virtual bool CondFormatsChanged() = 0; virtual bool CondFormatsChanged() = 0;
}; };
class AbstractScDataBarSettingsDlg : public VclAbstractDialog
{
};
class AbstractScDataPilotDatabaseDlg :public VclAbstractDialog //add for ScDataPilotDatabaseDlg class AbstractScDataPilotDatabaseDlg :public VclAbstractDialog //add for ScDataPilotDatabaseDlg
{ {
public: public:
...@@ -365,14 +355,9 @@ public: ...@@ -365,14 +355,9 @@ public:
sal_Bool bColDefault = sal_True ) = 0; sal_Bool bColDefault = sal_True ) = 0;
virtual VclAbstractDialog * CreateScSortWarningDlg ( Window* pParent, const String& rExtendText, const String& rCurrentText, int nId ) = 0; //add for ScSortWarningDlg virtual VclAbstractDialog * CreateScSortWarningDlg ( Window* pParent, const String& rExtendText, const String& rCurrentText, int nId ) = 0; //add for ScSortWarningDlg
virtual AbstractScCondFormatDlg* CreateScCondFormatDlg (Window* pParent, ScDocument* pDoc, const ScConditionalFormat* pFormat,
const ScRangeList& rList, const ScAddress& rPos, int nId ) = 0; //add for ScCondFormatDlg
virtual AbstractScCondFormatManagerDlg* CreateScCondFormatMgrDlg(Window* pParent, ScDocument* pDoc, const ScConditionalFormatList* pFormatList, virtual AbstractScCondFormatManagerDlg* CreateScCondFormatMgrDlg(Window* pParent, ScDocument* pDoc, const ScConditionalFormatList* pFormatList,
const ScAddress& rPos, int nId ) = 0; const ScAddress& rPos, int nId ) = 0;
virtual AbstractScDataBarSettingsDlg* CreateScDataBarSetttingsDlg (Window* pParent, ScDocument* pDoc, int nId ) = 0; //add for ScDataBarSettingsDlg
virtual AbstractScDataPilotDatabaseDlg * CreateScDataPilotDatabaseDlg (Window* pParent ,int nId ) = 0; //add for ScDataPilotDatabaseDlg virtual AbstractScDataPilotDatabaseDlg * CreateScDataPilotDatabaseDlg (Window* pParent ,int nId ) = 0; //add for ScDataPilotDatabaseDlg
virtual AbstractScDataPilotSourceTypeDlg * CreateScDataPilotSourceTypeDlg ( Window* pParent, sal_Bool bEnableExternal, int nId ) = 0; //add for ScDataPilotSourceTypeDlg virtual AbstractScDataPilotSourceTypeDlg * CreateScDataPilotSourceTypeDlg ( Window* pParent, sal_Bool bEnableExternal, int nId ) = 0; //add for ScDataPilotSourceTypeDlg
......
...@@ -188,7 +188,7 @@ interface CellSelection ...@@ -188,7 +188,7 @@ interface CellSelection
FID_USE_NAME [ ExecMethod = ExecuteEdit; StateMethod = GetState; ] FID_USE_NAME [ ExecMethod = ExecuteEdit; StateMethod = GetState; ]
SID_CANCEL [ ExecMethod = Execute; ] SID_CANCEL [ ExecMethod = Execute; ]
SID_TOGGLE_REL [ ExecMethod = ExecuteEdit; StateMethod = GetState; ] SID_TOGGLE_REL [ ExecMethod = ExecuteEdit; StateMethod = GetState; ]
SID_OPENDLG_CONDFRMT [ ExecMethod = ExecuteEdit; ] SID_OPENDLG_CONDFRMT [ ExecMethod = ExecuteEdit; StateMethod = GetState; ]
SID_OPENDLG_COLORSCALE [ ExecMethod = ExecuteEdit; ] SID_OPENDLG_COLORSCALE [ ExecMethod = ExecuteEdit; ]
SID_OPENDLG_DATABAR [ ExecMethod = ExecuteEdit; ] SID_OPENDLG_DATABAR [ ExecMethod = ExecuteEdit; ]
SID_OPENDLG_CONDFRMT_MANAGER [ ExecMethod = ExecuteEdit; ] SID_OPENDLG_CONDFRMT_MANAGER [ ExecMethod = ExecuteEdit; ]
......
...@@ -258,7 +258,8 @@ void ScDLL::Init() ...@@ -258,7 +258,8 @@ void ScDLL::Init()
ScSolverDlgWrapper ::RegisterChildWindow(false, pMod); ScSolverDlgWrapper ::RegisterChildWindow(false, pMod);
ScOptSolverDlgWrapper ::RegisterChildWindow(false, pMod); ScOptSolverDlgWrapper ::RegisterChildWindow(false, pMod);
ScNameDlgWrapper ::RegisterChildWindow(false, pMod); ScNameDlgWrapper ::RegisterChildWindow(false, pMod);
ScNameDefDlgWrapper ::RegisterChildWindow(false, pMod); ScNameDefDlgWrapper ::RegisterChildWindow(false, pMod);
ScCondFormatDlgWrapper ::RegisterChildWindow(false, pMod);
ScPivotLayoutWrapper ::RegisterChildWindow(false, pMod); ScPivotLayoutWrapper ::RegisterChildWindow(false, pMod);
ScTabOpDlgWrapper ::RegisterChildWindow(false, pMod); ScTabOpDlgWrapper ::RegisterChildWindow(false, pMod);
ScFilterDlgWrapper ::RegisterChildWindow(false, pMod); ScFilterDlgWrapper ::RegisterChildWindow(false, pMod);
......
...@@ -90,9 +90,7 @@ IMPL_ABSTDLG_BASE(ScVclAbstractDialog_Impl); ...@@ -90,9 +90,7 @@ IMPL_ABSTDLG_BASE(ScVclAbstractDialog_Impl);
IMPL_ABSTDLG_BASE(AbstractScImportAsciiDlg_Impl); IMPL_ABSTDLG_BASE(AbstractScImportAsciiDlg_Impl);
IMPL_ABSTDLG_BASE(AbstractScAutoFormatDlg_Impl); IMPL_ABSTDLG_BASE(AbstractScAutoFormatDlg_Impl);
IMPL_ABSTDLG_BASE(AbstractScColRowLabelDlg_Impl); IMPL_ABSTDLG_BASE(AbstractScColRowLabelDlg_Impl);
IMPL_ABSTDLG_BASE(AbstractScCondFormatDlg_Impl);
IMPL_ABSTDLG_BASE(AbstractScCondFormatManagerDlg_Impl); IMPL_ABSTDLG_BASE(AbstractScCondFormatManagerDlg_Impl);
IMPL_ABSTDLG_BASE(AbstractScDataBarSettingsDlg_Impl);
IMPL_ABSTDLG_BASE(AbstractScDataPilotDatabaseDlg_Impl); IMPL_ABSTDLG_BASE(AbstractScDataPilotDatabaseDlg_Impl);
IMPL_ABSTDLG_BASE(AbstractScDataPilotSourceTypeDlg_Impl); IMPL_ABSTDLG_BASE(AbstractScDataPilotSourceTypeDlg_Impl);
IMPL_ABSTDLG_BASE(AbstractScDataPilotServiceDlg_Impl); IMPL_ABSTDLG_BASE(AbstractScDataPilotServiceDlg_Impl);
...@@ -452,11 +450,6 @@ sal_uLong AbstractScLinkedAreaDlg_Impl::GetRefresh() ...@@ -452,11 +450,6 @@ sal_uLong AbstractScLinkedAreaDlg_Impl::GetRefresh()
} }
ScConditionalFormat* AbstractScCondFormatDlg_Impl::GetConditionalFormat()
{
return pDlg->GetConditionalFormat();
}
ScConditionalFormatList* AbstractScCondFormatManagerDlg_Impl::GetConditionalFormatList() ScConditionalFormatList* AbstractScCondFormatManagerDlg_Impl::GetConditionalFormatList()
{ {
return pDlg->GetConditionalFormatList(); return pDlg->GetConditionalFormatList();
...@@ -781,33 +774,6 @@ VclAbstractDialog * ScAbstractDialogFactory_Impl::CreateScSortWarningDlg( Window ...@@ -781,33 +774,6 @@ VclAbstractDialog * ScAbstractDialogFactory_Impl::CreateScSortWarningDlg( Window
} }
AbstractScCondFormatDlg* ScAbstractDialogFactory_Impl::CreateScCondFormatDlg(Window* pParent, ScDocument* pDoc, const ScConditionalFormat* pFormat,
const ScRangeList& rRange, const ScAddress& rPos, int nId)
{
ScCondFormatDlg* pDlg = NULL;
switch( nId )
{
case 0:
pDlg = new ScCondFormatDlg( pParent, pDoc, pFormat, rRange, rPos, condformat::dialog::NONE );
break;
case SID_OPENDLG_CONDFRMT:
pDlg = new ScCondFormatDlg( pParent, pDoc, pFormat, rRange, rPos, condformat::dialog::CONDITION );
break;
case SID_OPENDLG_COLORSCALE:
pDlg = new ScCondFormatDlg( pParent, pDoc, pFormat, rRange, rPos, condformat::dialog::COLORSCALE );
break;
case SID_OPENDLG_DATABAR:
pDlg = new ScCondFormatDlg( pParent, pDoc, pFormat, rRange, rPos, condformat::dialog::DATABAR );
break;
default:
break;
}
if(pDlg)
return new AbstractScCondFormatDlg_Impl( pDlg );
return NULL;
}
AbstractScCondFormatManagerDlg* ScAbstractDialogFactory_Impl::CreateScCondFormatMgrDlg(Window* pParent, ScDocument* pDoc, const ScConditionalFormatList* pFormatList, AbstractScCondFormatManagerDlg* ScAbstractDialogFactory_Impl::CreateScCondFormatMgrDlg(Window* pParent, ScDocument* pDoc, const ScConditionalFormatList* pFormatList,
const ScAddress& rPos, int nId ) const ScAddress& rPos, int nId )
{ {
...@@ -826,24 +792,6 @@ AbstractScCondFormatManagerDlg* ScAbstractDialogFactory_Impl::CreateScCondFormat ...@@ -826,24 +792,6 @@ AbstractScCondFormatManagerDlg* ScAbstractDialogFactory_Impl::CreateScCondFormat
return NULL; return NULL;
} }
AbstractScDataBarSettingsDlg* ScAbstractDialogFactory_Impl::CreateScDataBarSetttingsDlg(Window* pParent, ScDocument* pDoc, int nId)
{
ScDataBarSettingsDlg* pDlg = NULL;
switch( nId )
{
case RID_SCDLG_DATABAR:
pDlg = new ScDataBarSettingsDlg( pParent, pDoc );
break;
default:
break;
}
if(pDlg)
return new AbstractScDataBarSettingsDlg_Impl( pDlg );
return NULL;
}
AbstractScDataPilotDatabaseDlg * ScAbstractDialogFactory_Impl::CreateScDataPilotDatabaseDlg (Window* pParent , AbstractScDataPilotDatabaseDlg * ScAbstractDialogFactory_Impl::CreateScDataPilotDatabaseDlg (Window* pParent ,
int nId ) int nId )
{ {
......
...@@ -63,8 +63,6 @@ class ScTabBgColorDlg; ...@@ -63,8 +63,6 @@ class ScTabBgColorDlg;
class ScImportOptionsDlg; class ScImportOptionsDlg;
class SfxTabDialog; class SfxTabDialog;
class ScTextImportOptionsDlg; class ScTextImportOptionsDlg;
class ScDataBarSettingsDlg;
class ScCondFormatDlg;
class ScCondFormatManagerDlg; class ScCondFormatManagerDlg;
#define DECL_ABSTDLG_BASE(Class,DialogClass) \ #define DECL_ABSTDLG_BASE(Class,DialogClass) \
...@@ -136,13 +134,6 @@ class AbstractScColRowLabelDlg_Impl : public AbstractScColRowLabelDlg //add for ...@@ -136,13 +134,6 @@ class AbstractScColRowLabelDlg_Impl : public AbstractScColRowLabelDlg //add for
virtual sal_Bool IsRow(); virtual sal_Bool IsRow();
}; };
class AbstractScCondFormatDlg_Impl : public AbstractScCondFormatDlg
{
DECL_ABSTDLG_BASE(AbstractScCondFormatDlg_Impl, ScCondFormatDlg)
virtual ScConditionalFormat* GetConditionalFormat();
};
class AbstractScCondFormatManagerDlg_Impl : public AbstractScCondFormatManagerDlg class AbstractScCondFormatManagerDlg_Impl : public AbstractScCondFormatManagerDlg
{ {
DECL_ABSTDLG_BASE(AbstractScCondFormatManagerDlg_Impl, ScCondFormatManagerDlg) DECL_ABSTDLG_BASE(AbstractScCondFormatManagerDlg_Impl, ScCondFormatManagerDlg)
...@@ -152,11 +143,6 @@ class AbstractScCondFormatManagerDlg_Impl : public AbstractScCondFormatManagerDl ...@@ -152,11 +143,6 @@ class AbstractScCondFormatManagerDlg_Impl : public AbstractScCondFormatManagerDl
virtual bool CondFormatsChanged(); virtual bool CondFormatsChanged();
}; };
class AbstractScDataBarSettingsDlg_Impl : public AbstractScDataBarSettingsDlg
{
DECL_ABSTDLG_BASE(AbstractScDataBarSettingsDlg_Impl, ScDataBarSettingsDlg)
};
class AbstractScDataPilotDatabaseDlg_Impl :public AbstractScDataPilotDatabaseDlg //add for ScDataPilotDatabaseDlg class AbstractScDataPilotDatabaseDlg_Impl :public AbstractScDataPilotDatabaseDlg //add for ScDataPilotDatabaseDlg
{ {
DECL_ABSTDLG_BASE(AbstractScDataPilotDatabaseDlg_Impl, ScDataPilotDatabaseDlg) DECL_ABSTDLG_BASE(AbstractScDataPilotDatabaseDlg_Impl, ScDataPilotDatabaseDlg)
...@@ -435,14 +421,9 @@ public: ...@@ -435,14 +421,9 @@ public:
virtual VclAbstractDialog * CreateScSortWarningDlg( Window* pParent, const String& rExtendText, const String& rCurrentText, int nId ); virtual VclAbstractDialog * CreateScSortWarningDlg( Window* pParent, const String& rExtendText, const String& rCurrentText, int nId );
virtual AbstractScCondFormatDlg* CreateScCondFormatDlg(Window* pParent, ScDocument* pDoc, const ScConditionalFormat* pFormat,
const ScRangeList& rRange, const ScAddress& rPos, int nId ); //add for ScDataBarSettingsDlg
virtual AbstractScCondFormatManagerDlg* CreateScCondFormatMgrDlg(Window* pParent, ScDocument* pDoc, const ScConditionalFormatList* pFormatList, virtual AbstractScCondFormatManagerDlg* CreateScCondFormatMgrDlg(Window* pParent, ScDocument* pDoc, const ScConditionalFormatList* pFormatList,
const ScAddress& rPos, int nId ); const ScAddress& rPos, int nId );
virtual AbstractScDataBarSettingsDlg* CreateScDataBarSetttingsDlg (Window* pParent, ScDocument* pDoc, int nId ); //add for ScDataBarSettingsDlg
virtual AbstractScDataPilotDatabaseDlg * CreateScDataPilotDatabaseDlg (Window* pParent ,int nId ); //add for ScDataPilotDatabaseDlg virtual AbstractScDataPilotDatabaseDlg * CreateScDataPilotDatabaseDlg (Window* pParent ,int nId ); //add for ScDataPilotDatabaseDlg
virtual AbstractScDataPilotSourceTypeDlg * CreateScDataPilotSourceTypeDlg ( Window* pParent, sal_Bool bEnableExternal, int nId ) ; //add for ScDataPilotSourceTypeDlg virtual AbstractScDataPilotSourceTypeDlg * CreateScDataPilotSourceTypeDlg ( Window* pParent, sal_Bool bEnableExternal, int nId ) ; //add for ScDataPilotSourceTypeDlg
......
...@@ -46,6 +46,7 @@ ...@@ -46,6 +46,7 @@
#include "conditio.hxx" #include "conditio.hxx"
#include "colorscale.hxx" #include "colorscale.hxx"
#include "colorformat.hxx" #include "colorformat.hxx"
#include "reffact.hxx"
#include "globstr.hrc" #include "globstr.hrc"
...@@ -1111,9 +1112,9 @@ void ScCondFormatList::DoScroll(long nDelta) ...@@ -1111,9 +1112,9 @@ void ScCondFormatList::DoScroll(long nDelta)
mpScrollBar->SetPosPixel(aNewPoint); mpScrollBar->SetPosPixel(aNewPoint);
} }
ScCondFormatDlg::ScCondFormatDlg(Window* pParent, ScDocument* pDoc, const ScConditionalFormat* pFormat, const ScRangeList& rRange, ScCondFormatDlg::ScCondFormatDlg(SfxBindings* pB, SfxChildWindow* pCW, Window* pParent, ScDocument* pDoc, const ScConditionalFormat* pFormat, const ScRangeList& rRange,
const ScAddress& rPos, condformat::dialog::ScCondFormatDialogType eType): const ScAddress& rPos, condformat::dialog::ScCondFormatDialogType eType):
ModalDialog(pParent, ScResId( RID_SCDLG_CONDFORMAT )), ScAnyRefDlg(pB, pCW, pParent, RID_SCDLG_CONDFORMAT ),
maBtnAdd( this, ScResId( BTN_ADD ) ), maBtnAdd( this, ScResId( BTN_ADD ) ),
maBtnRemove( this, ScResId( BTN_REMOVE ) ), maBtnRemove( this, ScResId( BTN_REMOVE ) ),
maBtnOk( this, ScResId( BTN_OK ) ), maBtnOk( this, ScResId( BTN_OK ) ),
...@@ -1134,11 +1135,26 @@ ScCondFormatDlg::ScCondFormatDlg(Window* pParent, ScDocument* pDoc, const ScCond ...@@ -1134,11 +1135,26 @@ ScCondFormatDlg::ScCondFormatDlg(Window* pParent, ScDocument* pDoc, const ScCond
maBtnRemove.SetClickHdl( LINK( &maCondFormList, ScCondFormatList, RemoveBtnHdl ) ); maBtnRemove.SetClickHdl( LINK( &maCondFormList, ScCondFormatList, RemoveBtnHdl ) );
maEdRange.SetModifyHdl( LINK( this, ScCondFormatDlg, EdRangeModifyHdl ) ); maEdRange.SetModifyHdl( LINK( this, ScCondFormatDlg, EdRangeModifyHdl ) );
maBtnOk.SetClickHdl( LINK( this, ScCondFormatDlg, OkBtnHdl ) ); maBtnOk.SetClickHdl( LINK( this, ScCondFormatDlg, OkBtnHdl ) );
maBtnCancel.SetClickHdl( LINK( this, ScCondFormatDlg, CancelBtnHdl ) );
FreeResource(); FreeResource();
maEdRange.SetText(aRangeString); maEdRange.SetText(aRangeString);
} }
ScCondFormatDlg::~ScCondFormatDlg()
{
}
void ScCondFormatDlg::SetActive()
{
}
void ScCondFormatDlg::SetReference(const ScRange&, ScDocument*)
{
}
ScConditionalFormat* ScCondFormatDlg::GetConditionalFormat() const ScConditionalFormat* ScCondFormatDlg::GetConditionalFormat() const
{ {
rtl::OUString aRangeStr = maEdRange.GetText(); rtl::OUString aRangeStr = maEdRange.GetText();
...@@ -1210,16 +1226,14 @@ IMPL_LINK( ScCondFormatDlg, EdRangeModifyHdl, Edit*, pEdit ) ...@@ -1210,16 +1226,14 @@ IMPL_LINK( ScCondFormatDlg, EdRangeModifyHdl, Edit*, pEdit )
IMPL_LINK_NOARG( ScCondFormatDlg, OkBtnHdl ) IMPL_LINK_NOARG( ScCondFormatDlg, OkBtnHdl )
{ {
rtl::OUString aRangeStr = maEdRange.GetText(); DoClose( ScCondFormatDlgWrapper::GetChildWindowId() );
ScRangeList aRange;
aRange.Parse(aRangeStr, mpDoc, SCA_VALID, mpDoc->GetAddressConvention()); return 0;
boost::scoped_ptr<ScConditionalFormat> pFormat(maCondFormList.GetConditionalFormat()); }
if(pFormat && pFormat->GetRange().empty() && aRange.empty())
return 0; IMPL_LINK_NOARG( ScCondFormatDlg, CancelBtnHdl )
else {
{ DoClose( ScCondFormatDlgWrapper::GetChildWindowId() );
EndDialog(RET_OK);
}
return 0; return 0;
} }
......
...@@ -216,8 +216,8 @@ IMPL_LINK_NOARG(ScCondFormatManagerDlg, EditBtnHdl) ...@@ -216,8 +216,8 @@ IMPL_LINK_NOARG(ScCondFormatManagerDlg, EditBtnHdl)
if(!pFormat) if(!pFormat)
return 0; return 0;
boost::scoped_ptr<ScCondFormatDlg> pDlg(new ScCondFormatDlg(this, mpDoc, pFormat, pFormat->GetRange(), boost::scoped_ptr<ScCondFormatDlg> pDlg;//(new ScCondFormatDlg(this, mpDoc, pFormat, pFormat->GetRange(),
pFormat->GetRange().GetTopLeftCorner(), condformat::dialog::NONE)); // pFormat->GetRange().GetTopLeftCorner(), condformat::dialog::NONE));
if(pDlg->Execute() == RET_OK) if(pDlg->Execute() == RET_OK)
{ {
sal_Int32 nKey = pFormat->GetKey(); sal_Int32 nKey = pFormat->GetKey();
...@@ -252,8 +252,8 @@ sal_uInt32 FindKey(ScConditionalFormatList* pFormatList) ...@@ -252,8 +252,8 @@ sal_uInt32 FindKey(ScConditionalFormatList* pFormatList)
IMPL_LINK_NOARG(ScCondFormatManagerDlg, AddBtnHdl) IMPL_LINK_NOARG(ScCondFormatManagerDlg, AddBtnHdl)
{ {
boost::scoped_ptr<ScCondFormatDlg> pDlg(new ScCondFormatDlg(this, mpDoc, NULL, ScRangeList(), boost::scoped_ptr<ScCondFormatDlg> pDlg;//(new ScCondFormatDlg(this, mpDoc, NULL, ScRangeList(),
maPos, condformat::dialog::CONDITION)); // maPos, condformat::dialog::CONDITION));
if(pDlg->Execute() == RET_OK) if(pDlg->Execute() == RET_OK)
{ {
ScConditionalFormat* pNewFormat = pDlg->GetConditionalFormat(); ScConditionalFormat* pNewFormat = pDlg->GetConditionalFormat();
......
...@@ -40,6 +40,7 @@ ...@@ -40,6 +40,7 @@
#include <boost/ptr_container/ptr_vector.hpp> #include <boost/ptr_container/ptr_vector.hpp>
#include <boost/scoped_ptr.hpp> #include <boost/scoped_ptr.hpp>
#include "anyrefdg.hxx"
class ScDocument; class ScDocument;
class ScConditionalFormat; class ScConditionalFormat;
...@@ -189,7 +190,7 @@ public: ...@@ -189,7 +190,7 @@ public:
}; };
class ScCondFormatDlg : public ModalDialog class ScCondFormatDlg : public ScAnyRefDlg
{ {
private: private:
PushButton maBtnAdd; PushButton maBtnAdd;
...@@ -206,11 +207,17 @@ private: ...@@ -206,11 +207,17 @@ private:
DECL_LINK( EdRangeModifyHdl, Edit* ); DECL_LINK( EdRangeModifyHdl, Edit* );
DECL_LINK( OkBtnHdl, void* ); DECL_LINK( OkBtnHdl, void* );
DECL_LINK( CancelBtnHdl, void* );
public: public:
ScCondFormatDlg(Window* pWindow, ScDocument* pDoc, const ScConditionalFormat* pFormat, const ScRangeList& rRange, const ScAddress& rPos, condformat::dialog::ScCondFormatDialogType eType); ScCondFormatDlg(SfxBindings* pB, SfxChildWindow* pSW, Window* pWindow, ScDocument* pDoc, const ScConditionalFormat* pFormat,
const ScRangeList& rRange, const ScAddress& rPos, condformat::dialog::ScCondFormatDialogType eType);
virtual ~ScCondFormatDlg();
ScConditionalFormat* GetConditionalFormat() const; SC_DLLPUBLIC ScConditionalFormat* GetConditionalFormat() const;
virtual void SetReference(const ScRange&, ScDocument*);
virtual void SetActive();
}; };
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
...@@ -10,6 +10,8 @@ ...@@ -10,6 +10,8 @@
#include <rtl/ustring.hxx> #include <rtl/ustring.hxx>
#include "conditio.hxx" #include "conditio.hxx"
#include "global.hxx"
enum ScCondFormatEntryType enum ScCondFormatEntryType
{ {
CONDITION, CONDITION,
...@@ -22,9 +24,9 @@ enum ScCondFormatEntryType ...@@ -22,9 +24,9 @@ enum ScCondFormatEntryType
class ScCondFormatHelper class ScCondFormatHelper
{ {
public: public:
static rtl::OUString GetExpression(const ScConditionalFormat& rFormat, const ScAddress& rPos); static SC_DLLPUBLIC rtl::OUString GetExpression(const ScConditionalFormat& rFormat, const ScAddress& rPos);
static rtl::OUString GetExpression( ScCondFormatEntryType eType, sal_Int32 nIndex ); static SC_DLLPUBLIC rtl::OUString GetExpression( ScCondFormatEntryType eType, sal_Int32 nIndex );
}; };
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
...@@ -45,6 +45,7 @@ ...@@ -45,6 +45,7 @@
DECL_WRAPPER_WITHID(ScNameDlgWrapper) DECL_WRAPPER_WITHID(ScNameDlgWrapper)
DECL_WRAPPER_WITHID(ScNameDefDlgWrapper) DECL_WRAPPER_WITHID(ScNameDefDlgWrapper)
DECL_WRAPPER_WITHID(ScCondFormatDlgWrapper)
DECL_WRAPPER_WITHID(ScSolverDlgWrapper) DECL_WRAPPER_WITHID(ScSolverDlgWrapper)
DECL_WRAPPER_WITHID(ScOptSolverDlgWrapper) DECL_WRAPPER_WITHID(ScOptSolverDlgWrapper)
DECL_WRAPPER_WITHID(ScPivotLayoutWrapper) DECL_WRAPPER_WITHID(ScPivotLayoutWrapper)
......
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
#include "condformatdlg.hrc" #include "condformatdlg.hrc"
ModalDialog RID_SCDLG_CONDFORMAT ModelessDialog RID_SCDLG_CONDFORMAT
{ {
OutputSize = TRUE; OutputSize = TRUE;
Hide = TRUE; Hide = TRUE;
......
...@@ -126,6 +126,9 @@ void ScCellShell::ExecuteEdit( SfxRequest& rReq ) ...@@ -126,6 +126,9 @@ void ScCellShell::ExecuteEdit( SfxRequest& rReq )
case FID_INSERT_NAME: case FID_INSERT_NAME:
case SID_SPELL_DIALOG: case SID_SPELL_DIALOG:
case SID_HANGUL_HANJA_CONVERSION: case SID_HANGUL_HANJA_CONVERSION:
case SID_OPENDLG_CONDFRMT:
case SID_OPENDLG_COLORSCALE:
case SID_OPENDLG_DATABAR:
pScMod->InputEnterHandler(); pScMod->InputEnterHandler();
pTabViewShell->UpdateInputHandler(); pTabViewShell->UpdateInputHandler();
...@@ -1762,6 +1765,18 @@ void ScCellShell::ExecuteEdit( SfxRequest& rReq ) ...@@ -1762,6 +1765,18 @@ void ScCellShell::ExecuteEdit( SfxRequest& rReq )
} }
break; break;
case SID_OPENDLG_CONDFRMT:
case SID_OPENDLG_COLORSCALE:
case SID_OPENDLG_DATABAR:
{
sal_uInt16 nId = ScCondFormatDlgWrapper::GetChildWindowId();
SfxViewFrame* pViewFrm = pTabViewShell->GetViewFrame();
SfxChildWindow* pWnd = pViewFrm->GetChildWindow( nId );
pScMod->SetRefDialog( nId, pWnd ? false : sal_True );
}
break;
case SID_DEFINE_COLROWNAMERANGES: case SID_DEFINE_COLROWNAMERANGES:
{ {
...@@ -2034,56 +2049,6 @@ void ScCellShell::ExecuteEdit( SfxRequest& rReq ) ...@@ -2034,56 +2049,6 @@ void ScCellShell::ExecuteEdit( SfxRequest& rReq )
} }
break; break;
case SID_OPENDLG_CONDFRMT:
case SID_OPENDLG_COLORSCALE:
case SID_OPENDLG_DATABAR:
{
ScAbstractDialogFactory* pFact = ScAbstractDialogFactory::Create();
OSL_ENSURE(pFact, "ScAbstractFactory create fail!");
ScRangeList aRangeList;
ScViewData* pData = GetViewData();
pData->GetMarkData().FillRangeListWithMarks(&aRangeList, false);
ScDocument* pDoc = pData->GetDocument();
if(pDoc->IsTabProtected(pData->GetTabNo()))
{
pTabViewShell->ErrorMessage( STR_ERR_CONDFORMAT_PROTECTED );
break;
}
ScAddress aPos(pData->GetCurX(), pData->GetCurY(), pData->GetTabNo());
if(aRangeList.empty())
{
ScRange* pRange = new ScRange(aPos);
aRangeList.push_back(pRange);
}
boost::scoped_ptr<AbstractScCondFormatDlg> pDlg;
const ScConditionalFormat* pCondFormat = pDoc->GetCondFormat(aPos.Col(), aPos.Row(), aPos.Tab());
if(pCondFormat)
{
const ScRangeList& rCondFormatRange = pCondFormat->GetRange();
if(rCondFormatRange == aRangeList)
pDlg.reset(pFact->CreateScCondFormatDlg( pTabViewShell->GetDialogParent(), pDoc, pCondFormat, pCondFormat->GetRange(), aPos, 0 ));
}
if(!pDlg)
{
pDlg.reset(pFact->CreateScCondFormatDlg( pTabViewShell->GetDialogParent(), pDoc, NULL, aRangeList, aRangeList.GetTopLeftCorner(), nSlot ));
}
if(pDlg && pDlg->Execute() == RET_OK)
{
ScConditionalFormat* pFormat = pDlg->GetConditionalFormat();
sal_uLong nOldIndex = 0;
if(pCondFormat)
nOldIndex = pCondFormat->GetKey();
pData->GetDocShell()->GetDocFunc().ReplaceConditionalFormat( nOldIndex, pFormat, pData->GetTabNo(), pFormat->GetRange() );
}
}
break;
case SID_OPENDLG_CONDFRMT_MANAGER: case SID_OPENDLG_CONDFRMT_MANAGER:
{ {
ScAbstractDialogFactory* pFact = ScAbstractDialogFactory::Create(); ScAbstractDialogFactory* pFact = ScAbstractDialogFactory::Create();
...@@ -2110,33 +2075,6 @@ void ScCellShell::ExecuteEdit( SfxRequest& rReq ) ...@@ -2110,33 +2075,6 @@ void ScCellShell::ExecuteEdit( SfxRequest& rReq )
} }
break; break;
case SID_COLORSCALE:
{
ScAbstractDialogFactory* pFact = ScAbstractDialogFactory::Create();
OSL_ENSURE(pFact, "ScAbstractFactory create fail!");
ScDocument* pDoc = GetViewData()->GetDocument();
boost::scoped_ptr<AbstractScDataBarSettingsDlg> pDlg(pFact->CreateScDataBarSetttingsDlg( pTabViewShell->GetDialogParent(), pDoc, RID_SCDLG_DATABAR ));
OSL_ENSURE(pDlg, "Dialog create fail!");
pDlg->Execute();
}
break;
case SID_DATABAR:
{
ScAbstractDialogFactory* pFact = ScAbstractDialogFactory::Create();
OSL_ENSURE(pFact, "ScAbstractFactory create fail!");
ScDocument* pDoc = GetViewData()->GetDocument();
boost::scoped_ptr<AbstractScDataBarSettingsDlg> pDlg(pFact->CreateScDataBarSetttingsDlg( pTabViewShell->GetDialogParent(), pDoc, RID_SCDLG_DATABAR ));
OSL_ENSURE(pDlg, "Dialog create fail!");
if(pDlg->Execute() == RET_OK)
{
//add here code that handles the data bar inserting
}
}
break;
case SID_EXTERNAL_SOURCE: case SID_EXTERNAL_SOURCE:
{ {
String aFile; String aFile;
......
...@@ -44,6 +44,7 @@ ...@@ -44,6 +44,7 @@
SFX_IMPL_MODELESSDIALOG_WITHID(ScNameDlgWrapper, FID_DEFINE_NAME ) SFX_IMPL_MODELESSDIALOG_WITHID(ScNameDlgWrapper, FID_DEFINE_NAME )
SFX_IMPL_MODELESSDIALOG_WITHID(ScNameDefDlgWrapper, FID_ADD_NAME ) SFX_IMPL_MODELESSDIALOG_WITHID(ScNameDefDlgWrapper, FID_ADD_NAME )
SFX_IMPL_MODELESSDIALOG_WITHID(ScCondFormatDlgWrapper, SID_OPENDLG_CONDFRMT )
SFX_IMPL_MODELESSDIALOG_WITHID(ScSolverDlgWrapper, SID_OPENDLG_SOLVE ) SFX_IMPL_MODELESSDIALOG_WITHID(ScSolverDlgWrapper, SID_OPENDLG_SOLVE )
SFX_IMPL_MODELESSDIALOG_WITHID(ScOptSolverDlgWrapper, SID_OPENDLG_OPTSOLVER ) SFX_IMPL_MODELESSDIALOG_WITHID(ScOptSolverDlgWrapper, SID_OPENDLG_OPTSOLVER )
SFX_IMPL_MODELESSDIALOG_WITHID(ScPivotLayoutWrapper, SID_OPENDLG_PIVOTTABLE ) SFX_IMPL_MODELESSDIALOG_WITHID(ScPivotLayoutWrapper, SID_OPENDLG_PIVOTTABLE )
...@@ -115,6 +116,12 @@ IMPL_CHILD_CTOR( ScNameDlgWrapper, FID_DEFINE_NAME ) ...@@ -115,6 +116,12 @@ IMPL_CHILD_CTOR( ScNameDlgWrapper, FID_DEFINE_NAME )
IMPL_CHILD_CTOR( ScNameDefDlgWrapper, FID_ADD_NAME ) IMPL_CHILD_CTOR( ScNameDefDlgWrapper, FID_ADD_NAME )
//-------------------------------------------------------------------------
// ScNameDlgWrapper
//-------------------------------------------------------------------------
IMPL_CHILD_CTOR( ScCondFormatDlgWrapper, SID_OPENDLG_CONDFRMT )
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
// ScSolverDlgWrapper // ScSolverDlgWrapper
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
......
...@@ -63,6 +63,7 @@ SFX_IMPL_INTERFACE(ScTabViewShell,SfxViewShell,ScResId(SCSTR_TABVIEWSHELL)) ...@@ -63,6 +63,7 @@ SFX_IMPL_INTERFACE(ScTabViewShell,SfxViewShell,ScResId(SCSTR_TABVIEWSHELL))
SFX_CHILDWINDOW_REGISTRATION(SID_TASKPANE); SFX_CHILDWINDOW_REGISTRATION(SID_TASKPANE);
SFX_CHILDWINDOW_REGISTRATION(ScNameDlgWrapper::GetChildWindowId()); SFX_CHILDWINDOW_REGISTRATION(ScNameDlgWrapper::GetChildWindowId());
SFX_CHILDWINDOW_REGISTRATION(ScNameDefDlgWrapper::GetChildWindowId()); SFX_CHILDWINDOW_REGISTRATION(ScNameDefDlgWrapper::GetChildWindowId());
SFX_CHILDWINDOW_REGISTRATION(ScCondFormatDlgWrapper::GetChildWindowId());
SFX_CHILDWINDOW_REGISTRATION(ScSolverDlgWrapper::GetChildWindowId()); SFX_CHILDWINDOW_REGISTRATION(ScSolverDlgWrapper::GetChildWindowId());
SFX_CHILDWINDOW_REGISTRATION(ScOptSolverDlgWrapper::GetChildWindowId()); SFX_CHILDWINDOW_REGISTRATION(ScOptSolverDlgWrapper::GetChildWindowId());
SFX_CHILDWINDOW_REGISTRATION(ScPivotLayoutWrapper::GetChildWindowId()); SFX_CHILDWINDOW_REGISTRATION(ScPivotLayoutWrapper::GetChildWindowId());
......
...@@ -63,6 +63,9 @@ ...@@ -63,6 +63,9 @@
#include "dpobject.hxx" #include "dpobject.hxx"
#include "markdata.hxx" #include "markdata.hxx"
#include "reffact.hxx" #include "reffact.hxx"
#include "condformatdlg.hxx"
#include <iostream>
//------------------------------------------------------------------ //------------------------------------------------------------------
...@@ -180,6 +183,59 @@ SfxModelessDialog* ScTabViewShell::CreateRefDialog( ...@@ -180,6 +183,59 @@ SfxModelessDialog* ScTabViewShell::CreateRefDialog(
} }
break; break;
case SID_OPENDLG_CONDFRMT:
case SID_OPENDLG_COLORSCALE:
case SID_OPENDLG_DATABAR:
{
std::cout << "Open Dlg" << std::endl;
ScRangeList aRangeList;
ScViewData* pData = GetViewData();
pData->GetMarkData().FillRangeListWithMarks(&aRangeList, false);
if(pDoc->IsTabProtected(pData->GetTabNo()))
{
ErrorMessage( STR_ERR_CONDFORMAT_PROTECTED );
break;
}
ScAddress aPos(pData->GetCurX(), pData->GetCurY(), pData->GetTabNo());
if(aRangeList.empty())
{
ScRange* pRange = new ScRange(aPos);
aRangeList.push_back(pRange);
}
const ScConditionalFormat* pCondFormat = pDoc->GetCondFormat(aPos.Col(), aPos.Row(), aPos.Tab());
if(pCondFormat)
{
const ScRangeList& rCondFormatRange = pCondFormat->GetRange();
if(rCondFormatRange == aRangeList)
pResult = new ScCondFormatDlg( pB, pCW, pParent, pDoc, NULL, rCondFormatRange, aPos, condformat::dialog::NONE );
}
if(!pResult)
{
condformat::dialog::ScCondFormatDialogType eType = condformat::dialog::NONE;
switch(nSlotId)
{
case SID_OPENDLG_CONDFRMT:
eType = condformat::dialog::CONDITION;
break;
case SID_OPENDLG_COLORSCALE:
eType = condformat::dialog::COLORSCALE;
break;
case SID_OPENDLG_DATABAR:
eType = condformat::dialog::DATABAR;
break;
default:
break;
}
pResult = new ScCondFormatDlg( pB, pCW, pParent, pDoc, NULL, aRangeList, aRangeList.GetTopLeftCorner(), eType );
}
}
break;
case SID_DEFINE_COLROWNAMERANGES: case SID_DEFINE_COLROWNAMERANGES:
{ {
pResult = new ScColRowNameRangesDlg( pB, pCW, pParent, GetViewData() ); pResult = new ScColRowNameRangesDlg( pB, pCW, pParent, GetViewData() );
......
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