summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2014-01-13 14:48:45 +0000
committerCaolán McNamara <caolanm@redhat.com>2014-01-16 12:03:36 +0000
commit34a94e6855782667f54110b0ff68bf3bf8f058a2 (patch)
tree7ced9f450c83fdf57f2c269b36a18dd19caa68d4
parentae1674c0dcf8e422a4d7ebfed0fdfb11a441357f (diff)
Resolves: rhbz#1047871 convert conditional formattting dialog to widget layout
the wrapper dialog not the list contained within Change-Id: I4f4793888885ec5d991f1ab4218cc371726558e6
-rw-r--r--extras/source/glade/libreoffice-catalog.xml.in4
-rw-r--r--sc/UIConfig_scalc.mk1
-rw-r--r--sc/inc/sc.hrc1
-rw-r--r--sc/source/ui/condformat/condformatdlg.cxx109
-rw-r--r--sc/source/ui/condformat/condformatdlgentry.cxx11
-rw-r--r--sc/source/ui/inc/anyrefdg.hxx6
-rw-r--r--sc/source/ui/inc/condformatdlg.hxx26
-rw-r--r--sc/source/ui/miscdlgs/anyrefdg.cxx16
-rw-r--r--sc/source/ui/src/condformatdlg.src64
-rw-r--r--sc/uiconfig/scalc/ui/conditionalformatdialog.ui202
10 files changed, 319 insertions, 121 deletions
diff --git a/extras/source/glade/libreoffice-catalog.xml.in b/extras/source/glade/libreoffice-catalog.xml.in
index b43be2f89c8a..6d7a6dcbe731 100644
--- a/extras/source/glade/libreoffice-catalog.xml.in
+++ b/extras/source/glade/libreoffice-catalog.xml.in
@@ -574,6 +574,10 @@
generic-name="CropExample" parent="GtkDrawingArea"
icon-name="widget-gtk-drawingarea"/>
+ <glade-widget-class title="ScCondFormatList" name="scuilo-ScCondFormatList"
+ generic-name="CondFormatList" parent="GtkDrawingArea"
+ icon-name="widget-gtk-drawingarea"/>
+
<glade-widget-class title="Recent Documents View" name="sfxlo-RecentDocsView"
generic-name="Icon View" parent="GtkIconView"
icon-name="widget-gtk-iconview"/>
diff --git a/sc/UIConfig_scalc.mk b/sc/UIConfig_scalc.mk
index b0308befdbbe..9fb69cfce895 100644
--- a/sc/UIConfig_scalc.mk
+++ b/sc/UIConfig_scalc.mk
@@ -67,6 +67,7 @@ $(eval $(call gb_UIConfig_add_uifiles,modules/scalc,\
sc/uiconfig/scalc/ui/chardialog \
sc/uiconfig/scalc/ui/colorrowdialog \
sc/uiconfig/scalc/ui/colwidthdialog \
+ sc/uiconfig/scalc/ui/conditionalformatdialog \
sc/uiconfig/scalc/ui/consolidatedialog \
sc/uiconfig/scalc/ui/correlationdialog \
sc/uiconfig/scalc/ui/covariancedialog \
diff --git a/sc/inc/sc.hrc b/sc/inc/sc.hrc
index 6b8cc619a0e6..e6a61f444ec7 100644
--- a/sc/inc/sc.hrc
+++ b/sc/inc/sc.hrc
@@ -1057,7 +1057,6 @@
#define RID_DROPMODE_URL (SC_DIALOGS_START + 93)
#define RID_DROPMODE_LINK (SC_DIALOGS_START + 94)
#define RID_DROPMODE_COPY (SC_DIALOGS_START + 95)
-#define RID_SCDLG_CONDFORMAT (SC_DIALOGS_START + 96)
// derivations from RID_SCDLG_SELENTRY
diff --git a/sc/source/ui/condformat/condformatdlg.cxx b/sc/source/ui/condformat/condformatdlg.cxx
index 80c51b74c2f2..f9b6f5abbf96 100644
--- a/sc/source/ui/condformat/condformatdlg.cxx
+++ b/sc/source/ui/condformat/condformatdlg.cxx
@@ -33,17 +33,23 @@
#include "globstr.hrc"
-ScCondFormatList::ScCondFormatList(Window* pParent, const ResId& rResId, ScDocument* pDoc, const ScConditionalFormat* pFormat,
- const ScRangeList& rRanges, const ScAddress& rPos, condformat::dialog::ScCondFormatDialogType eType):
- Control(pParent, rResId),
- mbHasScrollBar(false),
- mpScrollBar(new ScrollBar(this, WB_VERT )),
- mpDoc(pDoc),
- maPos(rPos),
- maRanges(rRanges)
+ScCondFormatList::ScCondFormatList(Window* pParent, WinBits nStyle)
+ : Control(pParent, nStyle | WB_DIALOGCONTROL)
+ , mbHasScrollBar(false)
+ , mpScrollBar(new ScrollBar(this, WB_VERT ))
{
mpScrollBar->SetScrollHdl( LINK( this, ScCondFormatList, ScrollHdl ) );
mpScrollBar->EnableDrag();
+ SetControlBackground( GetSettings().GetStyleSettings().GetWindowColor() );
+ SetBackground(GetControlBackground());
+}
+
+void ScCondFormatList::init(ScDocument* pDoc, const ScConditionalFormat* pFormat,
+ const ScRangeList& rRanges, const ScAddress& rPos, condformat::dialog::ScCondFormatDialogType eType)
+{
+ mpDoc = pDoc;
+ maPos = rPos;
+ maRanges = rRanges;
if(pFormat)
{
@@ -116,6 +122,29 @@ ScCondFormatList::ScCondFormatList(Window* pParent, const ResId& rResId, ScDocum
RecalcAll();
}
+extern "C" SAL_DLLPUBLIC_EXPORT Window* SAL_CALL makeScCondFormatList(Window *pParent,
+ VclBuilder::stringmap &rMap)
+{
+ WinBits nWinBits = 0;
+
+ OString sBorder = VclBuilder::extractCustomProperty(rMap);
+ if (!sBorder.isEmpty())
+ nWinBits |= WB_BORDER;
+
+ return new ScCondFormatList(pParent, nWinBits);
+}
+
+Size ScCondFormatList::GetOptimalSize() const
+{
+ return LogicToPixel(Size(290, 185), MAP_APPFONT);
+}
+
+void ScCondFormatList::Resize()
+{
+ Control::Resize();
+ RecalcAll();
+}
+
ScConditionalFormat* ScCondFormatList::GetConditionalFormat() const
{
if(maEntries.empty())
@@ -353,35 +382,41 @@ IMPL_LINK_NOARG( ScCondFormatList, ScrollHdl )
//ScCondFormatDlg
//---------------------------------------------------
-ScCondFormatDlg::ScCondFormatDlg(Window* pParent, ScDocument* pDoc, const ScConditionalFormat* pFormat, const ScRangeList& rRange,
- const ScAddress& rPos, condformat::dialog::ScCondFormatDialogType eType):
- ScAnyRefModalDlg(pParent, ScResId(RID_SCDLG_CONDFORMAT) ),
- maBtnAdd( this, ScResId( BTN_ADD ) ),
- maBtnRemove( this, ScResId( BTN_REMOVE ) ),
- maFtRange( this, ScResId( FT_RANGE ) ),
- maEdRange( this, this, &maFtRange, ScResId( ED_RANGE ) ),
- maRbRange( this, ScResId( RB_RANGE ), &maEdRange, this ),
- maBtnOk( this, ScResId( BTN_OK ) ),
- maBtnCancel( this, ScResId( BTN_CANCEL ) ),
- maCondFormList( this, ScResId( CTRL_LIST ), pDoc, pFormat, rRange, rPos, eType ),
- maPos(rPos),
- mpDoc(pDoc),
- mpLastEdit(NULL)
+ScCondFormatDlg::ScCondFormatDlg(Window* pParent, ScDocument* pDoc,
+ const ScConditionalFormat* pFormat, const ScRangeList& rRange,
+ const ScAddress& rPos, condformat::dialog::ScCondFormatDialogType eType)
+ : ScAnyRefModalDlg(pParent, "ConditionalFormatDialog",
+ "modules/scalc/ui/conditionalformatdialog.ui")
+ , maPos(rPos)
+ , mpDoc(pDoc)
+ , mpLastEdit(NULL)
{
+ get(mpBtnAdd, "add");
+ get(mpBtnRemove, "delete");
+
+ get(mpFtRange, "ftassign");
+ get(mpEdRange, "edassign");
+ mpEdRange->SetReferences(this, mpFtRange);
+
+ get(mpRbRange, "rbassign");
+ mpRbRange->SetReferences(this, mpEdRange);
+
+ get(mpCondFormList, "list");
+ mpCondFormList->init(pDoc, pFormat, rRange, rPos, eType);
+
OUStringBuffer aTitle( GetText() );
aTitle.append(" ");
OUString aRangeString;
rRange.Format(aRangeString, SCA_VALID, pDoc, pDoc->GetAddressConvention());
aTitle.append(aRangeString);
SetText(aTitle.makeStringAndClear());
- maBtnAdd.SetClickHdl( LINK( &maCondFormList, ScCondFormatList, AddBtnHdl ) );
- maBtnRemove.SetClickHdl( LINK( &maCondFormList, ScCondFormatList, RemoveBtnHdl ) );
- maEdRange.SetModifyHdl( LINK( this, ScCondFormatDlg, EdRangeModifyHdl ) );
- maEdRange.SetGetFocusHdl( LINK( this, ScCondFormatDlg, RangeGetFocusHdl ) );
- maEdRange.SetLoseFocusHdl( LINK( this, ScCondFormatDlg, RangeLoseFocusHdl ) );
- FreeResource();
+ mpBtnAdd->SetClickHdl( LINK( mpCondFormList, ScCondFormatList, AddBtnHdl ) );
+ mpBtnRemove->SetClickHdl( LINK( mpCondFormList, ScCondFormatList, RemoveBtnHdl ) );
+ mpEdRange->SetModifyHdl( LINK( this, ScCondFormatDlg, EdRangeModifyHdl ) );
+ mpEdRange->SetGetFocusHdl( LINK( this, ScCondFormatDlg, RangeGetFocusHdl ) );
+ mpEdRange->SetLoseFocusHdl( LINK( this, ScCondFormatDlg, RangeLoseFocusHdl ) );
- maEdRange.SetText(aRangeString);
+ mpEdRange->SetText(aRangeString);
SC_MOD()->PushNewAnyRefDlg(this);
}
@@ -396,7 +431,7 @@ void ScCondFormatDlg::SetActive()
if(mpLastEdit)
mpLastEdit->GrabFocus();
else
- maEdRange.GrabFocus();
+ mpEdRange->GrabFocus();
RefInputDone();
}
@@ -408,7 +443,7 @@ void ScCondFormatDlg::RefInputDone( sal_Bool bForced )
sal_Bool ScCondFormatDlg::IsTableLocked() const
{
- if(mpLastEdit && mpLastEdit != &maEdRange)
+ if (mpLastEdit && mpLastEdit != mpEdRange)
return sal_False;
return sal_True;
@@ -416,7 +451,7 @@ sal_Bool ScCondFormatDlg::IsTableLocked() const
sal_Bool ScCondFormatDlg::IsRefInputMode() const
{
- return maEdRange.IsEnabled();
+ return mpEdRange->IsEnabled();
}
#define ABS_SREF SCA_VALID \
@@ -428,8 +463,8 @@ sal_Bool ScCondFormatDlg::IsRefInputMode() const
void ScCondFormatDlg::SetReference(const ScRange& rRef, ScDocument*)
{
formula::RefEdit* pEdit = mpLastEdit;
- if(!mpLastEdit)
- pEdit = &maEdRange;
+ if (!mpLastEdit)
+ pEdit = mpEdRange;
if( pEdit->IsEnabled() )
{
@@ -437,7 +472,7 @@ void ScCondFormatDlg::SetReference(const ScRange& rRef, ScDocument*)
RefInputStart(pEdit);
sal_uInt16 n = 0;
- if(mpLastEdit && mpLastEdit != &maEdRange)
+ if (mpLastEdit && mpLastEdit != mpEdRange)
n = ABS_DREF3D;
else
n = ABS_DREF;
@@ -449,13 +484,13 @@ void ScCondFormatDlg::SetReference(const ScRange& rRef, ScDocument*)
ScConditionalFormat* ScCondFormatDlg::GetConditionalFormat() const
{
- OUString aRangeStr = maEdRange.GetText();
+ OUString aRangeStr = mpEdRange->GetText();
if(aRangeStr.isEmpty())
return NULL;
ScRangeList aRange;
sal_uInt16 nFlags = aRange.Parse(aRangeStr, mpDoc, SCA_VALID, mpDoc->GetAddressConvention(), maPos.Tab());
- ScConditionalFormat* pFormat = maCondFormList.GetConditionalFormat();
+ ScConditionalFormat* pFormat = mpCondFormList->GetConditionalFormat();
if(nFlags & SCA_VALID && !aRange.empty() && pFormat)
pFormat->AddRange(aRange);
diff --git a/sc/source/ui/condformat/condformatdlgentry.cxx b/sc/source/ui/condformat/condformatdlgentry.cxx
index 8566dbdff5c0..f4e3949eeec7 100644
--- a/sc/source/ui/condformat/condformatdlgentry.cxx
+++ b/sc/source/ui/condformat/condformatdlgentry.cxx
@@ -43,7 +43,16 @@ ScCondFrmtEntry::ScCondFrmtEntry(Window* pParent, ScDocument* pDoc, const ScAddr
mpDoc(pDoc),
maPos(rPos)
{
- SetControlBackground(GetSettings().GetStyleSettings().GetDialogColor());
+ Color aBack(GetSettings().GetStyleSettings().GetWindowColor());
+
+ SetControlBackground(aBack);
+ SetBackground(GetControlBackground());
+
+ maFtCondNr.SetControlBackground(aBack);
+ maFtCondNr.SetBackground(maFtCondNr.GetControlBackground());
+
+ maFtCondition.SetControlBackground(aBack);
+ maFtCondition.SetBackground(maFtCondition.GetControlBackground());
maLbType.SetSelectHdl( LINK( pParent, ScCondFormatList, TypeListHdl ) );
maClickHdl = LINK( pParent, ScCondFormatList, EntrySelectHdl );
diff --git a/sc/source/ui/inc/anyrefdg.hxx b/sc/source/ui/inc/anyrefdg.hxx
index 468b95a224fa..afea5fd873ce 100644
--- a/sc/source/ui/inc/anyrefdg.hxx
+++ b/sc/source/ui/inc/anyrefdg.hxx
@@ -183,7 +183,8 @@ public:
virtual long PreNotify( NotifyEvent& rNEvt );
virtual void StateChanged( StateChangedType nStateChange );
protected:
- ScRefHdlModalImpl( Window* pParent, const ResId& rResId );
+ ScRefHdlModalImpl(Window* pParent, const OString& rID,
+ const OUString& rUIXMLDescription);
private:
};
@@ -270,7 +271,8 @@ void ScRefHdlrImplBase<TWindow, bBindRef>::StateChanged( StateChangedType nState
class ScAnyRefModalDlg : public ScRefHdlModalImpl
{
public:
- ScAnyRefModalDlg(Window* pParent, const ResId& rResId);
+ ScAnyRefModalDlg(Window* pParent, const OString& rID,
+ const OUString& rUIXMLDescription);
};
//============================================================================
diff --git a/sc/source/ui/inc/condformatdlg.hxx b/sc/source/ui/inc/condformatdlg.hxx
index 6baf33dd33d6..8b646054d7ec 100644
--- a/sc/source/ui/inc/condformatdlg.hxx
+++ b/sc/source/ui/inc/condformatdlg.hxx
@@ -67,8 +67,14 @@ private:
void DoScroll(long nDiff);
public:
- ScCondFormatList( Window* pParent, const ResId& rResId, ScDocument* pDoc, const ScConditionalFormat* pFormat,
- const ScRangeList& rRanges, const ScAddress& rPos, condformat::dialog::ScCondFormatDialogType eType);
+ ScCondFormatList(Window* pParent, WinBits nStyle);
+
+ void init(ScDocument* pDoc, const ScConditionalFormat* pFormat,
+ const ScRangeList& rRanges, const ScAddress& rPos,
+ condformat::dialog::ScCondFormatDialogType eType);
+
+ virtual Size GetOptimalSize() const;
+ virtual void Resize();
ScConditionalFormat* GetConditionalFormat() const;
void RecalcAll();
@@ -85,15 +91,13 @@ public:
class ScCondFormatDlg : public ScAnyRefModalDlg
{
private:
- PushButton maBtnAdd;
- PushButton maBtnRemove;
- FixedText maFtRange;
- formula::RefEdit maEdRange;
- formula::RefButton maRbRange;
- OKButton maBtnOk;
- CancelButton maBtnCancel;
-
- ScCondFormatList maCondFormList;
+ PushButton* mpBtnAdd;
+ PushButton* mpBtnRemove;
+ FixedText* mpFtRange;
+ formula::RefEdit* mpEdRange;
+ formula::RefButton* mpRbRange;
+
+ ScCondFormatList* mpCondFormList;
ScAddress maPos;
ScDocument* mpDoc;
diff --git a/sc/source/ui/miscdlgs/anyrefdg.cxx b/sc/source/ui/miscdlgs/anyrefdg.cxx
index 17560892932e..00945de87c5a 100644
--- a/sc/source/ui/miscdlgs/anyrefdg.cxx
+++ b/sc/source/ui/miscdlgs/anyrefdg.cxx
@@ -1031,9 +1031,12 @@ void ScRefHandler::RefInputDone( sal_Bool bForced )
//-------------------------------------------------------------------------------
-ScRefHdlModalImpl::ScRefHdlModalImpl( Window* pParent, const ResId& rResId )
- : ModalDialog( pParent, rResId ),
- ScRefHandler(dynamic_cast<Window&>(*this), NULL, true) {}
+ScRefHdlModalImpl::ScRefHdlModalImpl(Window* pParent, const OString& rID,
+ const OUString& rUIXMLDescription)
+ : ModalDialog( pParent, rID, rUIXMLDescription)
+ , ScRefHandler(dynamic_cast<Window&>(*this), NULL, true)
+{
+}
long ScRefHdlModalImpl::PreNotify( NotifyEvent& rNEvt )
{
@@ -1047,7 +1050,10 @@ void ScRefHdlModalImpl::StateChanged( StateChangedType nStateChange )
ScRefHandler::stateChanged( nStateChange, true );
}
-ScAnyRefModalDlg::ScAnyRefModalDlg( Window* pParent, const ResId &rResId ):
- ScRefHdlModalImpl( pParent, rResId ) {}
+ScAnyRefModalDlg::ScAnyRefModalDlg(Window* pParent, const OString& rID,
+ const OUString& rUIXMLDescription)
+ : ScRefHdlModalImpl(pParent, rID, rUIXMLDescription)
+{
+}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/ui/src/condformatdlg.src b/sc/source/ui/src/condformatdlg.src
index 4d476a037d5b..4fe90cde1e8b 100644
--- a/sc/source/ui/src/condformatdlg.src
+++ b/sc/source/ui/src/condformatdlg.src
@@ -9,70 +9,6 @@
#include "condformatdlg.hrc"
-ModalDialog RID_SCDLG_CONDFORMAT
-{
- HelpID = "sc:ModalDialog:RID_SCDLG_CONDFORMAT";
- OutputSize = TRUE;
- Hide = TRUE;
- Size = MAP_APPFONT ( 300, 265 );
- Text [ en-US ] = "Conditional Formatting for";
- Moveable = TRUE;
- Closeable = TRUE;
- OkButton BTN_OK
- {
- Pos = MAP_APPFONT ( 190, 245 );
- Size = MAP_APPFONT ( 50, 14 );
- TabStop = TRUE;
- };
- CancelButton BTN_CANCEL
- {
- Pos = MAP_APPFONT ( 245, 245 );
- Size = MAP_APPFONT ( 50, 14 );
- TabStop = TRUE;
- };
- PushButton BTN_ADD
- {
- Pos = MAP_APPFONT( 5, 210 );
- Size = MAP_APPFONT( 50, 14 );
- Text [ en-US ] = "Add";
- TabStop = TRUE;
- };
- PushButton BTN_REMOVE
- {
- Pos = MAP_APPFONT( 60, 210 );
- Size = MAP_APPFONT( 50, 14 );
- Text [ en-US ] = "Remove";
- TabStop = TRUE;
- };
- Control CTRL_LIST
- {
- Pos = MAP_APPFONT( 5, 20 );
- Size = MAP_APPFONT( 290, 185 );
- DialogControl = TRUE;
- Border = TRUE;
- };
- FixedText FT_RANGE
- {
- Pos = MAP_APPFONT( 5, 227 );
- Size = MAP_APPFONT( 50, 16 );
- Text [ en-US ] = "Range:";
- };
- Edit ED_RANGE
- {
- Pos = MAP_APPFONT( 60, 227 );
- Size = MAP_APPFONT( 182, 14 );
- Border = TRUE;
- TabStop = TRUE;
- };
- ImageButton RB_RANGE
- {
- Pos = MAP_APPFONT( 245, 227 );
- Size = MAP_APPFONT( 14, 14 );
- Border = TRUE;
- TabStop = TRUE;
- };
-};
-
Control RID_COND_ENTRY
{
Pos = MAP_APPFONT( 0, 0 );
diff --git a/sc/uiconfig/scalc/ui/conditionalformatdialog.ui b/sc/uiconfig/scalc/ui/conditionalformatdialog.ui
new file mode 100644
index 000000000000..55558b60dc82
--- /dev/null
+++ b/sc/uiconfig/scalc/ui/conditionalformatdialog.ui
@@ -0,0 +1,202 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.16.0 on Mon Jan 13 14:42:10 2014 -->
+<interface>
+ <!-- interface-requires gtk+ 3.0 -->
+ <!-- interface-requires LibreOffice 1.0 -->
+ <object class="GtkDialog" id="ConditionalFormatDialog">
+ <property name="can_focus">False</property>
+ <property name="border_width">6</property>
+ <property name="title" translatable="yes">Conditional Formatting for</property>
+ <property name="type_hint">dialog</property>
+ <child internal-child="vbox">
+ <object class="GtkBox" id="dialog-vbox1">
+ <property name="can_focus">False</property>
+ <property name="hexpand">True</property>
+ <property name="vexpand">True</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">12</property>
+ <child internal-child="action_area">
+ <object class="GtkButtonBox" id="dialog-action_area1">
+ <property name="can_focus">False</property>
+ <property name="layout_style">end</property>
+ <child>
+ <object class="GtkButton" id="ok">
+ <property name="label">gtk-ok</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="can_default">True</property>
+ <property name="has_default">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="cancel">
+ <property name="label">gtk-cancel</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="can_default">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="pack_type">end</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkGrid" id="grid1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="hexpand">True</property>
+ <property name="vexpand">True</property>
+ <property name="row_spacing">6</property>
+ <child>
+ <object class="GtkGrid" id="grid2">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="valign">center</property>
+ <property name="hexpand">True</property>
+ <property name="column_spacing">12</property>
+ <child>
+ <object class="foruilo-RefEdit" id="edassign">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="valign">center</property>
+ <property name="hexpand">True</property>
+ <property name="invisible_char">●</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="foruilo-RefButton" id="rbassign">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="valign">center</property>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="ftassign">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="valign">center</property>
+ <property name="label" translatable="yes">Range:</property>
+ <property name="use_underline">True</property>
+ <property name="mnemonic_widget">edassign</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">1</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButtonBox" id="buttonbox1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="hexpand">True</property>
+ <property name="spacing">12</property>
+ <property name="layout_style">center</property>
+ <child>
+ <object class="GtkButton" id="add">
+ <property name="label">gtk-add</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="delete">
+ <property name="label">gtk-delete</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">2</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="scuilo-ScCondFormatList" id="list:border">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="hexpand">True</property>
+ <property name="vexpand">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ <action-widgets>
+ <action-widget response="0">ok</action-widget>
+ <action-widget response="0">cancel</action-widget>
+ </action-widgets>
+ </object>
+</interface>