Kaydet (Commit) 5dfc4fd2 authored tarafından Caolán McNamara's avatar Caolán McNamara

weld ScDbNameDlg

Change-Id: I676909cbb4067ce69d5327403dd25cc80c4cbc4b
Reviewed-on: https://gerrit.libreoffice.org/70593
Tested-by: Jenkins
Reviewed-by: 's avatarCaolán McNamara <caolanm@redhat.com>
Tested-by: 's avatarCaolán McNamara <caolanm@redhat.com>
üst 86c1b5ff
......@@ -285,11 +285,14 @@ public:
virtual int get_vscroll_width() const = 0;
};
class Label;
class VCL_DLLPUBLIC Frame : virtual public Container
{
public:
virtual void set_label(const OUString& rText) = 0;
virtual OUString get_label() const = 0;
virtual std::unique_ptr<Label> weld_label_widget() const = 0;
};
class VCL_DLLPUBLIC Notebook : virtual public Container
......
This diff is collapsed.
......@@ -32,41 +32,20 @@
class ScViewData;
class ScDocument;
class ScDbNameDlg : public ScAnyRefDlg
class ScDbNameDlg : public ScAnyRefDlgController
{
public:
ScDbNameDlg( SfxBindings* pB, SfxChildWindow* pCW, vcl::Window* pParent,
ScViewData* ptrViewData );
virtual ~ScDbNameDlg() override;
virtual void dispose() override;
ScDbNameDlg(SfxBindings* pB, SfxChildWindow* pCW, weld::Window* pParent,
ScViewData* ptrViewData);
virtual ~ScDbNameDlg() override;
virtual void SetReference( const ScRange& rRef, ScDocument* pDoc ) override;
virtual bool IsRefInputMode() const override;
virtual void SetActive() override;
virtual bool Close() override;
virtual void Close() override;
private:
VclPtr<ComboBox> m_pEdName;
VclPtr<VclFrame> m_pAssignFrame;
VclPtr<formula::RefEdit> m_pEdAssign;
VclPtr<formula::RefButton> m_pRbAssign;
VclPtr<VclContainer> m_pOptions;
VclPtr<CheckBox> m_pBtnHeader;
VclPtr<CheckBox> m_pBtnTotals;
VclPtr<CheckBox> m_pBtnDoSize;
VclPtr<CheckBox> m_pBtnKeepFmt;
VclPtr<CheckBox> m_pBtnStripData;
VclPtr<FixedText> m_pFTSource;
VclPtr<FixedText> m_pFTOperations;
VclPtr<OKButton> m_pBtnOk;
VclPtr<CancelButton> m_pBtnCancel;
VclPtr<PushButton> m_pBtnAdd;
VclPtr<PushButton> m_pBtnRemove;
bool bSaved;
OUString aStrAdd;
......@@ -85,18 +64,43 @@ private:
ScRange theCurArea;
std::vector<ScRange> aRemoveList;
std::unique_ptr<weld::EntryTreeView> m_xEdName;
std::unique_ptr<weld::Frame> m_xAssignFrame;
std::unique_ptr<formula::WeldRefEdit> m_xEdAssign;
std::unique_ptr<formula::WeldRefButton> m_xRbAssign;
std::unique_ptr<weld::Widget> m_xOptions;
std::unique_ptr<weld::CheckButton> m_xBtnHeader;
std::unique_ptr<weld::CheckButton> m_xBtnTotals;
std::unique_ptr<weld::CheckButton> m_xBtnDoSize;
std::unique_ptr<weld::CheckButton> m_xBtnKeepFmt;
std::unique_ptr<weld::CheckButton> m_xBtnStripData;
std::unique_ptr<weld::Label> m_xFTSource;
std::unique_ptr<weld::Label> m_xFTOperations;
std::unique_ptr<weld::Button> m_xBtnOk;
std::unique_ptr<weld::Button> m_xBtnCancel;
std::unique_ptr<weld::Button> m_xBtnAdd;
std::unique_ptr<weld::Button> m_xBtnRemove;
std::unique_ptr<weld::Button> m_xModifyPB;
std::unique_ptr<weld::Label> m_xInvalidFT;
std::unique_ptr<weld::Label> m_xFrameLabel;
std::unique_ptr<weld::Expander> m_xExpander;
private:
void Init();
void UpdateNames();
void UpdateDBData( const OUString& rStrName );
void SetInfoStrings( const ScDBData* pDBData );
DECL_LINK( CancelBtnHdl, Button*, void );
DECL_LINK( OkBtnHdl, Button*, void );
DECL_LINK( AddBtnHdl, Button*, void );
DECL_LINK( RemoveBtnHdl, Button*, void );
DECL_LINK( NameModifyHdl, Edit&, void );
DECL_LINK( AssModifyHdl, Edit&, void );
DECL_LINK( CancelBtnHdl, weld::Button&, void );
DECL_LINK( OkBtnHdl, weld::Button&, void );
DECL_LINK( AddBtnHdl, weld::Button&, void );
DECL_LINK( RemoveBtnHdl, weld::Button&, void );
DECL_LINK( NameModifyHdl, weld::ComboBox&, void );
DECL_LINK( AssModifyHdl, formula::WeldRefEdit&, void );
};
#endif // INCLUDED_SC_SOURCE_UI_INC_DBNAMDLG_HXX
......
......@@ -53,7 +53,7 @@ DECL_WRAPPER_WITHID(ScPivotLayoutWrapper)
DECL_WRAPPER_WITHID(ScTabOpDlgWrapper)
DECL_WRAPPER_WITHID(ScFilterDlgWrapper)
DECL_WRAPPER_WITHID(ScSpecialFilterDlgWrapper)
DECL_WRAPPER_WITHID(ScDbNameDlgWrapper)
DECL_WRAPPER_WITHID_CONTROLLER(ScDbNameDlgWrapper)
DECL_WRAPPER_WITHID(ScConsolidateDlgWrapper)
DECL_WRAPPER_WITHID(ScPrintAreasDlgWrapper)
DECL_WRAPPER_WITHID(ScColRowNameRangesDlgWrapper)
......
......@@ -41,7 +41,7 @@ SFX_IMPL_MODELESSDIALOG_WITHID(ScPivotLayoutWrapper, SID_OPENDLG_PIVOTTABLE )
SFX_IMPL_MODELESSDIALOG_WITHID(ScTabOpDlgWrapper, SID_OPENDLG_TABOP )
SFX_IMPL_MODELESSDIALOG_WITHID(ScFilterDlgWrapper, SID_FILTER )
SFX_IMPL_MODELESSDIALOG_WITHID(ScSpecialFilterDlgWrapper, SID_SPECIAL_FILTER )
SFX_IMPL_MODELESSDIALOG_WITHID(ScDbNameDlgWrapper, SID_DEFINE_DBNAME )
SFX_IMPL_CHILDWINDOW_WITHID(ScDbNameDlgWrapper, SID_DEFINE_DBNAME )
SFX_IMPL_MODELESSDIALOG_WITHID(ScConsolidateDlgWrapper, SID_OPENDLG_CONSOLIDATE )
SFX_IMPL_MODELESSDIALOG_WITHID(ScPrintAreasDlgWrapper, SID_OPENDLG_EDIT_PRINTAREA )
SFX_IMPL_MODELESSDIALOG_WITHID(ScColRowNameRangesDlgWrapper, SID_DEFINE_COLROWNAMERANGES )
......@@ -139,7 +139,7 @@ IMPL_CHILD_CTOR( ScFilterDlgWrapper, SID_FILTER )
IMPL_CHILD_CTOR( ScSpecialFilterDlgWrapper, SID_SPECIAL_FILTER )
IMPL_CHILD_CTOR( ScDbNameDlgWrapper, SID_DEFINE_DBNAME )
IMPL_CONTROLLER_CHILD_CTOR( ScDbNameDlgWrapper, SID_DEFINE_DBNAME )
IMPL_CHILD_CTOR( ScColRowNameRangesDlgWrapper, SID_DEFINE_COLROWNAMERANGES )
......
......@@ -188,18 +188,6 @@ VclPtr<SfxModelessDialog> ScTabViewShell::CreateRefDialog(
}
break;
case SID_DEFINE_DBNAME:
{
// when called for an existing range, then mark
GetDBData( true, SC_DB_OLD );
const ScMarkData& rMark = GetViewData().GetMarkData();
if ( !rMark.IsMarked() && !rMark.IsMultiMarked() )
MarkDataArea( false );
pResult = VclPtr<ScDbNameDlg>::Create( pB, pCW, pParent, &GetViewData() );
}
break;
case SID_SPECIAL_FILTER:
{
ScQueryParam aQueryParam;
......@@ -496,6 +484,17 @@ std::unique_ptr<SfxModelessDialogController> ScTabViewShell::CreateRefDialogCont
case SID_RANDOM_NUMBER_GENERATOR_DIALOG:
xResult.reset(new ScRandomNumberGeneratorDialog(pB, pCW, pParent, &GetViewData()));
break;
case SID_DEFINE_DBNAME:
{
// when called for an existing range, then mark
GetDBData( true, SC_DB_OLD );
const ScMarkData& rMark = GetViewData().GetMarkData();
if ( !rMark.IsMarked() && !rMark.IsMultiMarked() )
MarkDataArea( false );
xResult.reset(new ScDbNameDlg(pB, pCW, pParent, &GetViewData()));
break;
}
}
if (xResult)
......
......@@ -70,6 +70,9 @@ sc/uiconfig/scalc/ui/definedatabaserangedialog.ui://foruilo-RefEdit[@id='assign'
sc/uiconfig/scalc/ui/definedatabaserangedialog.ui://GtkLabel[@id='Source'] orphan-label
sc/uiconfig/scalc/ui/definedatabaserangedialog.ui://GtkLabel[@id='Operations'] orphan-label
sc/uiconfig/scalc/ui/definedatabaserangedialog.ui://GtkLabel[@id='invalid'] orphan-label
sc/uiconfig/scalc/ui/definedatabaserangedialog.ui://GtkButton[@id='assignrb'] button-no-label
sc/uiconfig/scalc/ui/definedatabaserangedialog.ui://GtkEntry[@id='assign'] no-labelled-by
sc/uiconfig/scalc/ui/definedatabaserangedialog.ui://GtkEntry[@id='entry'] no-labelled-by
sc/uiconfig/scalc/ui/definename.ui://GtkLabel[@id='label'] orphan-label
sc/uiconfig/scalc/ui/definename.ui://GtkButton[@id='refbutton'] button-no-label
sc/uiconfig/scalc/ui/deletecolumnentry.ui:GtkGrid[@id='grid']/GtkBox/GtkLabel orphan-label
......
......@@ -1236,6 +1236,8 @@ public:
{
return m_xFrame->get_label();
}
virtual std::unique_ptr<weld::Label> weld_label_widget() const override;
};
class SalInstanceScrolledWindow : public SalInstanceContainer, public virtual weld::ScrolledWindow
......@@ -3774,6 +3776,14 @@ public:
}
};
std::unique_ptr<weld::Label> SalInstanceFrame::weld_label_widget() const
{
FixedText* pLabel = dynamic_cast<FixedText*>(m_xFrame->get_label_widget());
if (!pLabel)
return nullptr;
return std::make_unique<SalInstanceLabel>(pLabel, m_pBuilder, false);
}
class SalInstanceTextView : public SalInstanceContainer, public virtual weld::TextView
{
private:
......
......@@ -3128,6 +3128,8 @@ public:
const gchar* pStr = gtk_frame_get_label(m_pFrame);
return OUString(pStr, pStr ? strlen(pStr) : 0, RTL_TEXTENCODING_UTF8);
}
virtual std::unique_ptr<weld::Label> weld_label_widget() const override;
};
static GType crippled_viewport_get_type();
......@@ -7540,6 +7542,14 @@ public:
}
};
std::unique_ptr<weld::Label> GtkInstanceFrame::weld_label_widget() const
{
GtkWidget* pLabel = gtk_frame_get_label_widget(m_pFrame);
if (!pLabel || !GTK_IS_LABEL(pLabel))
return nullptr;
return std::make_unique<GtkInstanceLabel>(GTK_LABEL(pLabel), m_pBuilder, false);
}
class GtkInstanceTextView : public GtkInstanceContainer, public virtual weld::TextView
{
private:
......
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