Kaydet (Commit) 07579ec1 authored tarafından Caolán McNamara's avatar Caolán McNamara

convert query join dialog to .ui format

Change-Id: I1de2bb1d171e23a42834e20040ade92822901876
üst cf561446
...@@ -21,6 +21,7 @@ $(eval $(call gb_UIConfig_add_uifiles,dbaccess, \ ...@@ -21,6 +21,7 @@ $(eval $(call gb_UIConfig_add_uifiles,dbaccess, \
dbaccess/uiconfig/ui/generalpagedialog \ dbaccess/uiconfig/ui/generalpagedialog \
dbaccess/uiconfig/ui/generalpagewizard \ dbaccess/uiconfig/ui/generalpagewizard \
dbaccess/uiconfig/ui/generatedvaluespage \ dbaccess/uiconfig/ui/generatedvaluespage \
dbaccess/uiconfig/ui/joindialog \
dbaccess/uiconfig/ui/queryfilterdialog \ dbaccess/uiconfig/ui/queryfilterdialog \
dbaccess/uiconfig/ui/querypropertiesdialog \ dbaccess/uiconfig/ui/querypropertiesdialog \
dbaccess/uiconfig/ui/rowheightdialog \ dbaccess/uiconfig/ui/rowheightdialog \
......
...@@ -89,8 +89,6 @@ ...@@ -89,8 +89,6 @@
#define HID_CTL_QRYDGNTAB "DBACCESS_HID_CTL_QRYDGNTAB" #define HID_CTL_QRYDGNTAB "DBACCESS_HID_CTL_QRYDGNTAB"
#define HID_DLG_QRY_JOIN "DBACCESS_HID_DLG_QRY_JOIN"
#define HID_DLG_QRY_JOINTYPE "DBACCESS_HID_DLG_QRY_JOINTYPE"
#define HID_DLG_QRY_HELPTEXT "DBACCESS_HID_DLG_QRY_HELPTEXT" #define HID_DLG_QRY_HELPTEXT "DBACCESS_HID_DLG_QRY_HELPTEXT"
#define HID_CTL_QRYDGNCRIT "DBACCESS_HID_CTL_QRYDGNCRIT" #define HID_CTL_QRYDGNCRIT "DBACCESS_HID_CTL_QRYDGNCRIT"
...@@ -158,7 +156,6 @@ ...@@ -158,7 +156,6 @@
#define HID_TLB_RELATIONDESIGN "DBACCESS_HID_TLB_RELATIONDESIGN" #define HID_TLB_RELATIONDESIGN "DBACCESS_HID_TLB_RELATIONDESIGN"
#define HID_RELATIONDIALOG_LEFTFIELDCELL "DBACCESS_HID_RELATIONDIALOG_LEFTFIELDCELL" #define HID_RELATIONDIALOG_LEFTFIELDCELL "DBACCESS_HID_RELATIONDIALOG_LEFTFIELDCELL"
#define HID_RELATIONDIALOG_RIGHTFIELDCELL "DBACCESS_HID_RELATIONDIALOG_RIGHTFIELDCELL" #define HID_RELATIONDIALOG_RIGHTFIELDCELL "DBACCESS_HID_RELATIONDIALOG_RIGHTFIELDCELL"
#define HID_RELDLG_KEYFIELDS "DBACCESS_HID_RELDLG_KEYFIELDS"
#define HID_BROWSER_RELATION_DESIGN "DBACCESS_HID_BROWSER_RELATION_DESIGN" #define HID_BROWSER_RELATION_DESIGN "DBACCESS_HID_BROWSER_RELATION_DESIGN"
#define HID_TABLE_DESIGN_NO_CONNECTION "DBACCESS_HID_TABLE_DESIGN_NO_CONNECTION" #define HID_TABLE_DESIGN_NO_CONNECTION "DBACCESS_HID_TABLE_DESIGN_NO_CONNECTION"
#define HID_DSADMIN_CREATEDATABASE "DBACCESS_HID_DSADMIN_CREATEDATABASE" #define HID_DSADMIN_CREATEDATABASE "DBACCESS_HID_DSADMIN_CREATEDATABASE"
...@@ -370,7 +367,6 @@ ...@@ -370,7 +367,6 @@
#define HID_DLG_DATABASE_WIZARD "DBACCESS_HID_DLG_DATABASE_WIZARD" #define HID_DLG_DATABASE_WIZARD "DBACCESS_HID_DLG_DATABASE_WIZARD"
#define HID_EXTENSION_NOT_PRESENT_DLG "DBACCESS_HID_EXTENSION_NOT_PRESENT_DLG" #define HID_EXTENSION_NOT_PRESENT_DLG "DBACCESS_HID_EXTENSION_NOT_PRESENT_DLG"
#define HID_DLG_QRY_JOIN_CONTROL "DBACCESS_HID_DLG_QRY_JOIN_CONTROL"
#define HID_MACRO_MIGRATION_BACKUP_LOCATION "DBACCESS_HID_MACRO_MIGRATION_BACKUP_LOCATION" #define HID_MACRO_MIGRATION_BACKUP_LOCATION "DBACCESS_HID_MACRO_MIGRATION_BACKUP_LOCATION"
#endif // _DBA_DBACCESS_HELPID_HRC_ #endif // _DBA_DBACCESS_HELPID_HRC_
......
...@@ -23,6 +23,7 @@ ...@@ -23,6 +23,7 @@
#include <svtools/editbrowsebox.hxx> #include <svtools/editbrowsebox.hxx>
#include <com/sun/star/beans/XPropertySet.hpp> #include <com/sun/star/beans/XPropertySet.hpp>
#include <tools/diagnose_ex.h> #include <tools/diagnose_ex.h>
#include <vcl/builder.hxx>
#include "TableConnectionData.hxx" #include "TableConnectionData.hxx"
#include "TableConnection.hxx" #include "TableConnection.hxx"
#include "TableWindow.hxx" #include "TableWindow.hxx"
...@@ -78,7 +79,11 @@ namespace dbaui ...@@ -78,7 +79,11 @@ namespace dbaui
*/ */
sal_uInt16 getColumnIdent( sal_uInt16 _nColId ) const; sal_uInt16 getColumnIdent( sal_uInt16 _nColId ) const;
public: public:
ORelationControl( OTableListBoxControl* pParent ); ORelationControl(Window *pParent);
void SetController(OTableListBoxControl* pController)
{
m_pBoxControl = pController;
}
virtual ~ORelationControl(); virtual ~ORelationControl();
/** searches for a connection between these two tables /** searches for a connection between these two tables
...@@ -99,7 +104,7 @@ namespace dbaui ...@@ -99,7 +104,7 @@ namespace dbaui
protected: protected:
virtual void Resize(); virtual void Resize();
virtual Size GetOptimalSize() const;
virtual bool PreNotify(NotifyEvent& rNEvt ); virtual bool PreNotify(NotifyEvent& rNEvt );
virtual sal_Bool IsTabAllowed(sal_Bool bForward) const; virtual sal_Bool IsTabAllowed(sal_Bool bForward) const;
...@@ -123,15 +128,22 @@ namespace dbaui ...@@ -123,15 +128,22 @@ namespace dbaui
}; };
// class ORelationControl // class ORelationControl
ORelationControl::ORelationControl( OTableListBoxControl* pParent ) ORelationControl::ORelationControl(Window *pParent)
: EditBrowseBox(pParent, EBBF_SMART_TAB_TRAVEL | EBBF_NOROWPICTURE, WB_TABSTOP | WB_BORDER | BROWSER_AUTOSIZE_LASTCOL) : EditBrowseBox(pParent,
, m_pBoxControl(pParent) EBBF_SMART_TAB_TRAVEL | EBBF_NOROWPICTURE,
WB_TABSTOP | WB_BORDER | BROWSER_AUTOSIZE_LASTCOL)
, m_pBoxControl(NULL)
, m_nDataPos(0) , m_nDataPos(0)
, m_xSourceDef(NULL) , m_xSourceDef(NULL)
, m_xDestDef(NULL) , m_xDestDef(NULL)
{ {
} }
extern "C" SAL_DLLPUBLIC_EXPORT Window* SAL_CALL makeORelationControl(Window *pParent, VclBuilder::stringmap &)
{
return new ORelationControl(pParent);
}
ORelationControl::~ORelationControl() ORelationControl::~ORelationControl()
{ {
} }
...@@ -144,6 +156,7 @@ namespace dbaui ...@@ -144,6 +156,7 @@ namespace dbaui
m_pConnData->normalizeLines(); m_pConnData->normalizeLines();
} }
void ORelationControl::lateInit() void ORelationControl::lateInit()
{ {
if ( !m_pConnData.get() ) if ( !m_pConnData.get() )
...@@ -174,10 +187,11 @@ namespace dbaui ...@@ -174,10 +187,11 @@ namespace dbaui
RowInserted(0, m_pConnData->GetConnLineDataList()->size() + 1, sal_True); // add one extra row RowInserted(0, m_pConnData->GetConnLineDataList()->size() + 1, sal_True); // add one extra row
} }
void ORelationControl::Resize() void ORelationControl::Resize()
{ {
EditBrowseBox::Resize(); EditBrowseBox::Resize();
long nOutputWidth = GetOutputSizePixel().Width(); long nOutputWidth = GetOutputSizePixel().Width() - 1;
SetColumnWidth(1, (nOutputWidth / 2)); SetColumnWidth(1, (nOutputWidth / 2));
SetColumnWidth(2, (nOutputWidth / 2)); SetColumnWidth(2, (nOutputWidth / 2));
} }
...@@ -418,51 +432,45 @@ namespace dbaui ...@@ -418,51 +432,45 @@ namespace dbaui
ActivateCell(); ActivateCell();
} }
} }
void ORelationControl::CellModified() void ORelationControl::CellModified()
{ {
EditBrowseBox::CellModified(); EditBrowseBox::CellModified();
SaveModified(); SaveModified();
#if OSL_DEBUG_LEVEL > 0 assert(m_pBoxControl);
OTableListBoxControl *parent = dynamic_cast<OTableListBoxControl*>(GetParent()); m_pBoxControl->NotifyCellChange();
#else
OTableListBoxControl *parent = static_cast<OTableListBoxControl*>(GetParent());
#endif
assert(parent);
parent->NotifyCellChange();
} }
// class OTableListBoxControl
OTableListBoxControl::OTableListBoxControl( Window* _pParent Size ORelationControl::GetOptimalSize() const
,const ResId& _rResId {
,const OJoinTableView::OTableWindowMap* _pTableMap return LogicToPixel(Size(140, 80), MAP_APPFONT);
,IRelationControlInterface* _pParentDialog) }
: Window(_pParent,_rResId)
, m_aFL_InvolvedTables( this, ResId(FL_INVOLVED_TABLES,*_rResId.GetResMgr())) // class OTableListBoxControl
, m_lmbLeftTable( this, ResId(LB_LEFT_TABLE,*_rResId.GetResMgr())) OTableListBoxControl::OTableListBoxControl(VclBuilderContainer* _pParent,
, m_lmbRightTable( this, ResId(LB_RIGHT_TABLE,*_rResId.GetResMgr())) const OJoinTableView::OTableWindowMap* _pTableMap,
, m_aFL_InvolvedFields( this, ResId(FL_INVOLVED_FIELDS,*_rResId.GetResMgr())) IRelationControlInterface* _pParentDialog)
, m_pTableMap(_pTableMap) : m_pTableMap(_pTableMap)
, m_pParentDialog(_pParentDialog) , m_pParentDialog(_pParentDialog)
{ {
m_pRC_Tables = new ORelationControl( this ); _pParent->get(m_pLeftTable, "table1");
m_pRC_Tables->SetHelpId(HID_RELDLG_KEYFIELDS); _pParent->get(m_pRightTable, "table2");
m_pRC_Tables->Init( );
m_pRC_Tables->SetZOrder(&m_lmbRightTable, WINDOW_ZORDER_BEHIND); _pParent->get(m_pRC_Tables, "relations");
m_pRC_Tables->SetController(this);
m_pRC_Tables->Init();
lateUIInit(); lateUIInit();
Link aLink(LINK(this, OTableListBoxControl, OnTableChanged)); Link aLink(LINK(this, OTableListBoxControl, OnTableChanged));
m_lmbLeftTable.SetSelectHdl(aLink); m_pLeftTable->SetSelectHdl(aLink);
m_lmbRightTable.SetSelectHdl(aLink); m_pRightTable->SetSelectHdl(aLink);
FreeResource();
} }
OTableListBoxControl::~OTableListBoxControl() OTableListBoxControl::~OTableListBoxControl()
{ {
ORelationControl* pTemp = m_pRC_Tables;
m_pRC_Tables = NULL;
delete pTemp;
} }
void OTableListBoxControl::fillListBoxes() void OTableListBoxControl::fillListBoxes()
{ {
OSL_ENSURE( !m_pTableMap->empty(), "OTableListBoxControl::fillListBoxes: no table window!"); OSL_ENSURE( !m_pTableMap->empty(), "OTableListBoxControl::fillListBoxes: no table window!");
...@@ -474,8 +482,8 @@ OTableListBoxControl::OTableListBoxControl( Window* _pParent ...@@ -474,8 +482,8 @@ OTableListBoxControl::OTableListBoxControl( Window* _pParent
OJoinTableView::OTableWindowMap::const_iterator aEnd = m_pTableMap->end(); OJoinTableView::OTableWindowMap::const_iterator aEnd = m_pTableMap->end();
for(;aIter != aEnd;++aIter) for(;aIter != aEnd;++aIter)
{ {
m_lmbLeftTable.InsertEntry(aIter->first); m_pLeftTable->InsertEntry(aIter->first);
m_lmbRightTable.InsertEntry(aIter->first); m_pRightTable->InsertEntry(aIter->first);
if (!pInitialLeft) if (!pInitialLeft)
{ {
...@@ -502,17 +510,18 @@ OTableListBoxControl::OTableListBoxControl( Window* _pParent ...@@ -502,17 +510,18 @@ OTableListBoxControl::OTableListBoxControl( Window* _pParent
if ( m_pTableMap->size() > 2 ) if ( m_pTableMap->size() > 2 )
{ {
m_lmbLeftTable.RemoveEntry(m_strCurrentRight); m_pLeftTable->RemoveEntry(m_strCurrentRight);
m_lmbRightTable.RemoveEntry(m_strCurrentLeft); m_pRightTable->RemoveEntry(m_strCurrentLeft);
} }
// Select the first one on the left side and on the right side, // Select the first one on the left side and on the right side,
// select the second one // select the second one
m_lmbLeftTable.SelectEntry(m_strCurrentLeft); m_pLeftTable->SelectEntry(m_strCurrentLeft);
m_lmbRightTable.SelectEntry(m_strCurrentRight); m_pRightTable->SelectEntry(m_strCurrentRight);
m_lmbLeftTable.GrabFocus(); m_pLeftTable->GrabFocus();
} }
IMPL_LINK( OTableListBoxControl, OnTableChanged, ListBox*, pListBox ) IMPL_LINK( OTableListBoxControl, OnTableChanged, ListBox*, pListBox )
{ {
OUString strSelected(pListBox->GetSelectEntry()); OUString strSelected(pListBox->GetSelectEntry());
...@@ -523,10 +532,10 @@ OTableListBoxControl::OTableListBoxControl( Window* _pParent ...@@ -523,10 +532,10 @@ OTableListBoxControl::OTableListBoxControl( Window* _pParent
if ( m_pTableMap->size() == 2 ) if ( m_pTableMap->size() == 2 )
{ {
ListBox* pOther; ListBox* pOther;
if ( pListBox == &m_lmbLeftTable ) if (pListBox == m_pLeftTable)
pOther = &m_lmbRightTable; pOther = m_pRightTable;
else else
pOther = &m_lmbLeftTable; pOther = m_pLeftTable;
pOther->SelectEntryPos(1 - pOther->GetSelectEntryPos()); pOther->SelectEntryPos(1 - pOther->GetSelectEntryPos());
OJoinTableView::OTableWindowMap::const_iterator aIter = m_pTableMap->begin(); OJoinTableView::OTableWindowMap::const_iterator aIter = m_pTableMap->begin();
...@@ -534,7 +543,7 @@ OTableListBoxControl::OTableListBoxControl( Window* _pParent ...@@ -534,7 +543,7 @@ OTableListBoxControl::OTableListBoxControl( Window* _pParent
++aIter; ++aIter;
OTableWindow* pSecond = aIter->second; OTableWindow* pSecond = aIter->second;
if ( m_lmbLeftTable.GetSelectEntry() == pFirst->GetName() ) if ( m_pLeftTable->GetSelectEntry() == pFirst->GetName() )
{ {
pLeft = pFirst; pLeft = pFirst;
pRight = pSecond; pRight = pSecond;
...@@ -554,33 +563,33 @@ OTableListBoxControl::OTableListBoxControl( Window* _pParent ...@@ -554,33 +563,33 @@ OTableListBoxControl::OTableListBoxControl( Window* _pParent
pLoop = aFind->second; pLoop = aFind->second;
OSL_ENSURE(pLoop != NULL, "ORelationDialog::OnTableChanged: invalid ListBox entry!"); OSL_ENSURE(pLoop != NULL, "ORelationDialog::OnTableChanged: invalid ListBox entry!");
// We need to find strSelect, because we filled the ListBoxes with the table names with which we compare now // We need to find strSelect, because we filled the ListBoxes with the table names with which we compare now
if (pListBox == &m_lmbLeftTable) if (pListBox == m_pLeftTable)
{ {
// Insert the previously selected Entry on the left side on the right side // Insert the previously selected Entry on the left side on the right side
m_lmbRightTable.InsertEntry(m_strCurrentLeft); m_pRightTable->InsertEntry(m_strCurrentLeft);
// Remove the currently selected Entry // Remove the currently selected Entry
m_lmbRightTable.RemoveEntry(strSelected); m_pRightTable->RemoveEntry(strSelected);
m_strCurrentLeft = strSelected; m_strCurrentLeft = strSelected;
pLeft = pLoop; pLeft = pLoop;
OJoinTableView::OTableWindowMap::const_iterator aIter = m_pTableMap->find(m_lmbRightTable.GetSelectEntry()); OJoinTableView::OTableWindowMap::const_iterator aIter = m_pTableMap->find(m_pRightTable->GetSelectEntry());
OSL_ENSURE( aIter != m_pTableMap->end(), "Invalid name"); OSL_ENSURE( aIter != m_pTableMap->end(), "Invalid name");
if ( aIter != m_pTableMap->end() ) if ( aIter != m_pTableMap->end() )
pRight = aIter->second; pRight = aIter->second;
m_lmbLeftTable.GrabFocus(); m_pLeftTable->GrabFocus();
} }
else else
{ {
// Insert the previously selected Entry on the right side on the left side // Insert the previously selected Entry on the right side on the left side
m_lmbLeftTable.InsertEntry(m_strCurrentRight); m_pLeftTable->InsertEntry(m_strCurrentRight);
// Remove the currently selected Entry // Remove the currently selected Entry
m_lmbLeftTable.RemoveEntry(strSelected); m_pLeftTable->RemoveEntry(strSelected);
m_strCurrentRight = strSelected; m_strCurrentRight = strSelected;
pRight = pLoop; pRight = pLoop;
OJoinTableView::OTableWindowMap::const_iterator aIter = m_pTableMap->find(m_lmbLeftTable.GetSelectEntry()); OJoinTableView::OTableWindowMap::const_iterator aIter = m_pTableMap->find(m_pLeftTable->GetSelectEntry());
OSL_ENSURE( aIter != m_pTableMap->end(), "Invalid name"); OSL_ENSURE( aIter != m_pTableMap->end(), "Invalid name");
if ( aIter != m_pTableMap->end() ) if ( aIter != m_pTableMap->end() )
pLeft = aIter->second; pLeft = aIter->second;
...@@ -594,6 +603,7 @@ OTableListBoxControl::OTableListBoxControl( Window* _pParent ...@@ -594,6 +603,7 @@ OTableListBoxControl::OTableListBoxControl( Window* _pParent
NotifyCellChange(); NotifyCellChange();
return 0; return 0;
} }
void OTableListBoxControl::NotifyCellChange() void OTableListBoxControl::NotifyCellChange()
{ {
// Enable/disable the OK button, depending on having a valid situation // Enable/disable the OK button, depending on having a valid situation
...@@ -633,62 +643,64 @@ OTableListBoxControl::OTableListBoxControl( Window* _pParent ...@@ -633,62 +643,64 @@ OTableListBoxControl::OTableListBoxControl( Window* _pParent
m_pRC_Tables->ActivateCell(); m_pRC_Tables->ActivateCell();
m_pRC_Tables->m_ops.clear(); m_pRC_Tables->m_ops.clear();
} }
void fillEntryAndDisable(ListBox& _rListBox,const OUString& _sEntry) void fillEntryAndDisable(ListBox& _rListBox,const OUString& _sEntry)
{ {
_rListBox.InsertEntry(_sEntry); _rListBox.InsertEntry(_sEntry);
_rListBox.SelectEntryPos(0); _rListBox.SelectEntryPos(0);
_rListBox.Disable(); _rListBox.Disable();
} }
void OTableListBoxControl::fillAndDisable(const TTableConnectionData::value_type& _pConnectionData) void OTableListBoxControl::fillAndDisable(const TTableConnectionData::value_type& _pConnectionData)
{ {
fillEntryAndDisable(m_lmbLeftTable,_pConnectionData->getReferencingTable()->GetWinName()); fillEntryAndDisable(*m_pLeftTable, _pConnectionData->getReferencingTable()->GetWinName());
fillEntryAndDisable(m_lmbRightTable,_pConnectionData->getReferencedTable()->GetWinName()); fillEntryAndDisable(*m_pRightTable, _pConnectionData->getReferencedTable()->GetWinName());
} }
void OTableListBoxControl::Init(const TTableConnectionData::value_type& _pConnData) void OTableListBoxControl::Init(const TTableConnectionData::value_type& _pConnData)
{ {
m_pRC_Tables->Init(_pConnData); m_pRC_Tables->Init(_pConnData);
} }
void OTableListBoxControl::lateUIInit(Window* _pTableSeparator)
{
const sal_Int32 nDiff = LogicToPixel( Point(0,6), MAP_APPFONT ).Y();
Point aDlgPoint = LogicToPixel( Point(12,43), MAP_APPFONT );
if ( _pTableSeparator )
{
_pTableSeparator->SetZOrder(&m_lmbRightTable, WINDOW_ZORDER_BEHIND);
m_pRC_Tables->SetZOrder(_pTableSeparator, WINDOW_ZORDER_BEHIND);
_pTableSeparator->SetPosPixel(Point(0,m_aFL_InvolvedFields.GetPosPixel().Y()));
const Size aSize = _pTableSeparator->GetSizePixel();
aDlgPoint.Y() = _pTableSeparator->GetPosPixel().Y() + aSize.Height();
m_aFL_InvolvedFields.SetPosPixel(Point(m_aFL_InvolvedFields.GetPosPixel().X(),aDlgPoint.Y()));
aDlgPoint.Y() += nDiff + m_aFL_InvolvedFields.GetSizePixel().Height();
}
// positing BrowseBox control
const Size aCurrentSize = GetSizePixel();
Size aDlgSize = LogicToPixel( Size(24,0), MAP_APPFONT );
aDlgSize.Width() = aCurrentSize.Width() - aDlgSize.Width();
aDlgSize.Height() = aCurrentSize.Height() - aDlgPoint.Y() - nDiff;
m_pRC_Tables->SetPosSizePixel( aDlgPoint, aDlgSize ); void OTableListBoxControl::lateUIInit()
{
m_pRC_Tables->Show(); m_pRC_Tables->Show();
lateInit(); lateInit();
} }
void OTableListBoxControl::lateInit() void OTableListBoxControl::lateInit()
{ {
m_pRC_Tables->lateInit(); m_pRC_Tables->lateInit();
} }
void OTableListBoxControl::Disable()
{
m_pLeftTable->Disable();
m_pRightTable->Disable();
m_pRC_Tables->Disable();
}
void OTableListBoxControl::Invalidate()
{
m_pLeftTable->Invalidate();
m_pRightTable->Invalidate();
m_pRC_Tables->Invalidate();
}
sal_Bool OTableListBoxControl::SaveModified() sal_Bool OTableListBoxControl::SaveModified()
{ {
return m_pRC_Tables->SaveModified(); return m_pRC_Tables->SaveModified();
} }
TTableWindowData::value_type OTableListBoxControl::getReferencingTable() const TTableWindowData::value_type OTableListBoxControl::getReferencingTable() const
{ {
return m_pRC_Tables->getData()->getReferencingTable(); return m_pRC_Tables->getData()->getReferencingTable();
} }
void OTableListBoxControl::enableRelation(bool _bEnable) void OTableListBoxControl::enableRelation(bool _bEnable)
{ {
if ( !_bEnable ) if ( !_bEnable )
PostUserEvent(LINK(m_pRC_Tables, ORelationControl, AsynchDeactivate)); m_pRC_Tables->PostUserEvent(LINK(m_pRC_Tables, ORelationControl, AsynchDeactivate));
m_pRC_Tables->Enable(_bEnable); m_pRC_Tables->Enable(_bEnable);
} }
......
...@@ -80,7 +80,7 @@ ORelationDialog::ORelationDialog( OJoinTableView* pParent, ...@@ -80,7 +80,7 @@ ORelationDialog::ORelationDialog( OJoinTableView* pParent,
m_pConnData->CopyFrom( *pConnectionData ); m_pConnData->CopyFrom( *pConnectionData );
Init(m_pConnData); Init(m_pConnData);
m_pTableControl.reset( new OTableListBoxControl(this,ModuleRes(WND_CONTROL),m_pTableMap,this) ); m_pTableControl.reset( new OTableListBoxControl(this, m_pTableMap, this) );
aPB_OK.SetClickHdl( LINK(this, ORelationDialog, OKClickHdl) ); aPB_OK.SetClickHdl( LINK(this, ORelationDialog, OKClickHdl) );
......
...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
#define INCLUDED_DBACCESS_SOURCE_UI_INC_RELATIONCONTROL_HXX #define INCLUDED_DBACCESS_SOURCE_UI_INC_RELATIONCONTROL_HXX
#include <vcl/fixed.hxx> #include <vcl/fixed.hxx>
#include <vcl/builder.hxx>
#include <vcl/lstbox.hxx> #include <vcl/lstbox.hxx>
#include "JoinTableView.hxx" #include "JoinTableView.hxx"
...@@ -29,12 +30,10 @@ namespace dbaui ...@@ -29,12 +30,10 @@ namespace dbaui
class IRelationControlInterface; class IRelationControlInterface;
class ORelationControl; class ORelationControl;
class OTableListBoxControl : public Window class OTableListBoxControl
{ {
FixedLine m_aFL_InvolvedTables; ListBox* m_pLeftTable;
ListBox m_lmbLeftTable, ListBox* m_pRightTable;
m_lmbRightTable;
FixedLine m_aFL_InvolvedFields;
ORelationControl* m_pRC_Tables; ORelationControl* m_pRC_Tables;
const OJoinTableView::OTableWindowMap* m_pTableMap; const OJoinTableView::OTableWindowMap* m_pTableMap;
...@@ -44,8 +43,7 @@ namespace dbaui ...@@ -44,8 +43,7 @@ namespace dbaui
private: private:
DECL_LINK( OnTableChanged, ListBox* ); DECL_LINK( OnTableChanged, ListBox* );
public: public:
OTableListBoxControl(Window* _pParent, OTableListBoxControl(VclBuilderContainer* _pParent,
const ResId& _rResId,
const OJoinTableView::OTableWindowMap* _pTableMap, const OJoinTableView::OTableWindowMap* _pTableMap,
IRelationControlInterface* _pParentDialog); IRelationControlInterface* _pParentDialog);
virtual ~OTableListBoxControl(); virtual ~OTableListBoxControl();
...@@ -75,9 +73,12 @@ namespace dbaui ...@@ -75,9 +73,12 @@ namespace dbaui
the connection data which is used to init the control the connection data which is used to init the control
*/ */
void Init(const TTableConnectionData::value_type& _pConnData); void Init(const TTableConnectionData::value_type& _pConnData);
void lateUIInit(Window* _pTableSeparator = NULL); void lateUIInit();
void lateInit(); void lateInit();
void Disable();
void Invalidate();
sal_Bool SaveModified(); sal_Bool SaveModified();
TTableWindowData::value_type getReferencingTable() const; TTableWindowData::value_type getReferencingTable() const;
......
...@@ -80,7 +80,7 @@ ...@@ -80,7 +80,7 @@
#define DLG_PARAMETERS RID_DIALOG_START + 5 #define DLG_PARAMETERS RID_DIALOG_START + 5
#define DLG_JOIN_TABADD RID_DIALOG_START + 14 #define DLG_JOIN_TABADD RID_DIALOG_START + 14
#define DLG_QRY_JOIN RID_DIALOG_START + 15 // FREE
#define WIZ_RTFCOPYTABLE RID_DIALOG_START + 16 #define WIZ_RTFCOPYTABLE RID_DIALOG_START + 16
#define DLG_REL_PROPERTIES RID_DIALOG_START + 17 #define DLG_REL_PROPERTIES RID_DIALOG_START + 17
// FREE // FREE
......
...@@ -36,62 +36,32 @@ using namespace ::com::sun::star::uno; ...@@ -36,62 +36,32 @@ using namespace ::com::sun::star::uno;
using namespace ::com::sun::star::container; using namespace ::com::sun::star::container;
using namespace ::com::sun::star::sdbc; using namespace ::com::sun::star::sdbc;
namespace dbaui
{
class OJoinControl : public Window
{
public:
FixedLine aFL_Join;
FixedText aFT_Title;
ListBox aLB_JoinType;
CheckBox m_aCBNatural;
OJoinControl(Window* _pParent,const ResId& _rResId);
};
OJoinControl::OJoinControl(Window* _pParent,const ResId& _rResId)
: Window(_pParent,_rResId)
,aFL_Join( this, ResId( FL_JOIN,*_rResId.GetResMgr() ) )
,aFT_Title( this, ResId(FT_LISTBOXTITLE,*_rResId.GetResMgr()) )
,aLB_JoinType( this, ResId(LB_JOINTYPE,*_rResId.GetResMgr()) )
,m_aCBNatural( this, ResId(CB_NATURAL,*_rResId.GetResMgr()) )
{
FreeResource();
}
} // dbaui
DlgQryJoin::DlgQryJoin( OQueryTableView * pParent, DlgQryJoin::DlgQryJoin( OQueryTableView * pParent,
const TTableConnectionData::value_type& _pData, const TTableConnectionData::value_type& _pData,
OJoinTableView::OTableWindowMap* _pTableMap, OJoinTableView::OTableWindowMap* _pTableMap,
const Reference< XConnection >& _xConnection, const Reference< XConnection >& _xConnection,
sal_Bool _bAllowTableSelect) sal_Bool _bAllowTableSelect)
:ModalDialog( pParent, ModuleRes(DLG_QRY_JOIN) ) : ModalDialog( pParent, "JoinDialog", "dbaccess/ui/joindialog.ui" )
,aML_HelpText( this, ModuleRes(ML_HELPTEXT) ) , m_pTableControl( NULL )
,aPB_OK( this, ModuleRes( PB_OK ) ) , m_pTableMap(_pTableMap)
,aPB_CANCEL( this, ModuleRes( PB_CANCEL ) ) , m_pTableView(pParent)
,aPB_HELP( this, ModuleRes( PB_HELP ) ) , eJoinType(static_cast<OQueryTableConnectionData*>(_pData.get())->GetJoinType())
,m_pJoinControl( NULL ) , m_pOrigConnData(_pData)
,m_pTableControl( NULL ) , m_xConnection(_xConnection)
,m_pTableMap(_pTableMap)
,m_pTableView(pParent)
,eJoinType(static_cast<OQueryTableConnectionData*>(_pData.get())->GetJoinType())
,m_pOrigConnData(_pData)
,m_xConnection(_xConnection)
{ {
get(m_pML_HelpText, "helptext");
get(m_pLB_JoinType, "type");
get(m_pCBNatural, "natural");
get(m_pPB_OK, "ok");
aML_HelpText.SetControlBackground( GetSettings().GetStyleSettings().GetFaceColor() ); m_pML_HelpText->SetControlBackground( GetSettings().GetStyleSettings().GetFaceColor() );
// Connection kopieren // Connection kopieren
m_pConnData.reset(_pData->NewInstance()); m_pConnData.reset(_pData->NewInstance());
m_pConnData->CopyFrom(*_pData); m_pConnData->CopyFrom(*_pData);
m_pTableControl = new OTableListBoxControl(this,ModuleRes(WND_CONTROL),m_pTableMap,this); m_pTableControl = new OTableListBoxControl(this, m_pTableMap, this);
m_pJoinControl = new OJoinControl(m_pTableControl,ModuleRes(WND_JOIN_CONTROL)); m_pCBNatural->Check(static_cast<OQueryTableConnectionData*>(m_pConnData.get())->isNatural());
m_pJoinControl->Show();
m_pJoinControl->m_aCBNatural.Check(static_cast<OQueryTableConnectionData*>(m_pConnData.get())->isNatural());
m_pTableControl->Show();
if( _bAllowTableSelect ) if( _bAllowTableSelect )
{ {
...@@ -104,7 +74,7 @@ DlgQryJoin::DlgQryJoin( OQueryTableView * pParent, ...@@ -104,7 +74,7 @@ DlgQryJoin::DlgQryJoin( OQueryTableView * pParent,
m_pTableControl->Init( m_pConnData ); m_pTableControl->Init( m_pConnData );
} }
m_pTableControl->lateUIInit(m_pJoinControl); m_pTableControl->lateUIInit();
sal_Bool bSupportFullJoin = sal_False; sal_Bool bSupportFullJoin = sal_False;
Reference<XDatabaseMetaData> xMeta; Reference<XDatabaseMetaData> xMeta;
...@@ -129,49 +99,46 @@ DlgQryJoin::DlgQryJoin( OQueryTableView * pParent, ...@@ -129,49 +99,46 @@ DlgQryJoin::DlgQryJoin( OQueryTableView * pParent,
setJoinType(eJoinType); setJoinType(eJoinType);
aPB_OK.SetClickHdl( LINK(this, DlgQryJoin, OKClickHdl) ); m_pPB_OK->SetClickHdl( LINK(this, DlgQryJoin, OKClickHdl) );
m_pJoinControl->aLB_JoinType.SetSelectHdl(LINK(this,DlgQryJoin,LBChangeHdl)); m_pLB_JoinType->SetSelectHdl(LINK(this,DlgQryJoin,LBChangeHdl));
m_pJoinControl->m_aCBNatural.SetToggleHdl(LINK(this,DlgQryJoin,NaturalToggleHdl)); m_pCBNatural->SetToggleHdl(LINK(this,DlgQryJoin,NaturalToggleHdl));
if ( static_cast<OQueryTableView*>(pParent)->getDesignView()->getController().isReadOnly() ) if ( static_cast<OQueryTableView*>(pParent)->getDesignView()->getController().isReadOnly() )
{ {
m_pJoinControl->aLB_JoinType.Disable(); m_pLB_JoinType->Disable();
m_pJoinControl->m_aCBNatural.Disable(); m_pCBNatural->Disable();
m_pTableControl->Disable(); m_pTableControl->Disable();
} }
else else
{ {
const sal_uInt16 nCount = m_pJoinControl->aLB_JoinType.GetEntryCount(); const sal_uInt16 nCount = m_pLB_JoinType->GetEntryCount();
for (sal_uInt16 i = 0; i < nCount; ++i) for (sal_uInt16 i = 0; i < nCount; ++i)
{ {
const sal_IntPtr nJoinTyp = reinterpret_cast<sal_IntPtr>(m_pJoinControl->aLB_JoinType.GetEntryData(i)); const sal_IntPtr nJoinTyp = reinterpret_cast<sal_IntPtr>(m_pLB_JoinType->GetEntryData(i));
if ( !bSupportFullJoin && nJoinTyp == ID_FULL_JOIN ) if ( !bSupportFullJoin && nJoinTyp == ID_FULL_JOIN )
m_pJoinControl->aLB_JoinType.RemoveEntry(i); m_pLB_JoinType->RemoveEntry(i);
else if ( !bSupportOuterJoin && (nJoinTyp == ID_LEFT_JOIN || nJoinTyp == ID_RIGHT_JOIN) ) else if ( !bSupportOuterJoin && (nJoinTyp == ID_LEFT_JOIN || nJoinTyp == ID_RIGHT_JOIN) )
m_pJoinControl->aLB_JoinType.RemoveEntry(i); m_pLB_JoinType->RemoveEntry(i);
} }
m_pTableControl->NotifyCellChange(); m_pTableControl->NotifyCellChange();
m_pTableControl->enableRelation(!static_cast<OQueryTableConnectionData*>(m_pConnData.get())->isNatural() && eJoinType != CROSS_JOIN ); m_pTableControl->enableRelation(!static_cast<OQueryTableConnectionData*>(m_pConnData.get())->isNatural() && eJoinType != CROSS_JOIN );
} }
FreeResource();
} }
DlgQryJoin::~DlgQryJoin() DlgQryJoin::~DlgQryJoin()
{ {
delete m_pJoinControl;
delete m_pTableControl; delete m_pTableControl;
} }
IMPL_LINK( DlgQryJoin, LBChangeHdl, ListBox*, /*pListBox*/ ) IMPL_LINK( DlgQryJoin, LBChangeHdl, ListBox*, /*pListBox*/ )
{ {
if (m_pJoinControl->aLB_JoinType.GetSelectEntryPos() == m_pJoinControl->aLB_JoinType.GetSavedValue() ) if (m_pLB_JoinType->GetSelectEntryPos() == m_pLB_JoinType->GetSavedValue() )
return 1; return 1;
m_pJoinControl->aLB_JoinType.SaveValue(); m_pLB_JoinType->SaveValue();
aML_HelpText.SetText(OUString()); m_pML_HelpText->SetText(OUString());
m_pTableControl->enableRelation(true); m_pTableControl->enableRelation(true);
...@@ -179,8 +146,8 @@ IMPL_LINK( DlgQryJoin, LBChangeHdl, ListBox*, /*pListBox*/ ) ...@@ -179,8 +146,8 @@ IMPL_LINK( DlgQryJoin, LBChangeHdl, ListBox*, /*pListBox*/ )
OUString sSecondWinName = m_pConnData->getReferencedTable()->GetWinName(); OUString sSecondWinName = m_pConnData->getReferencedTable()->GetWinName();
const EJoinType eOldJoinType = eJoinType; const EJoinType eOldJoinType = eJoinType;
sal_uInt16 nResId = 0; sal_uInt16 nResId = 0;
const sal_uInt16 nPos = m_pJoinControl->aLB_JoinType.GetSelectEntryPos(); const sal_uInt16 nPos = m_pLB_JoinType->GetSelectEntryPos();
const sal_IntPtr nJoinType = reinterpret_cast<sal_IntPtr>(m_pJoinControl->aLB_JoinType.GetEntryData(nPos)); const sal_IntPtr nJoinType = reinterpret_cast<sal_IntPtr>(m_pLB_JoinType->GetEntryData(nPos));
sal_Bool bAddHint = sal_True; sal_Bool bAddHint = sal_True;
switch ( nJoinType ) switch ( nJoinType )
{ {
...@@ -214,16 +181,16 @@ IMPL_LINK( DlgQryJoin, LBChangeHdl, ListBox*, /*pListBox*/ ) ...@@ -214,16 +181,16 @@ IMPL_LINK( DlgQryJoin, LBChangeHdl, ListBox*, /*pListBox*/ )
m_pConnData->ResetConnLines(); m_pConnData->ResetConnLines();
m_pTableControl->lateInit(); m_pTableControl->lateInit();
m_pJoinControl->m_aCBNatural.Check(false); m_pCBNatural->Check(false);
m_pTableControl->enableRelation(false); m_pTableControl->enableRelation(false);
OUString sEmpty; OUString sEmpty;
m_pConnData->AppendConnLine(sEmpty,sEmpty); m_pConnData->AppendConnLine(sEmpty,sEmpty);
aPB_OK.Enable(true); m_pPB_OK->Enable(true);
} }
break; break;
} }
m_pJoinControl->m_aCBNatural.Enable(eJoinType != CROSS_JOIN); m_pCBNatural->Enable(eJoinType != CROSS_JOIN);
if ( eJoinType != eOldJoinType && eOldJoinType == CROSS_JOIN ) if ( eJoinType != eOldJoinType && eOldJoinType == CROSS_JOIN )
{ {
...@@ -232,7 +199,7 @@ IMPL_LINK( DlgQryJoin, LBChangeHdl, ListBox*, /*pListBox*/ ) ...@@ -232,7 +199,7 @@ IMPL_LINK( DlgQryJoin, LBChangeHdl, ListBox*, /*pListBox*/ )
if ( eJoinType != CROSS_JOIN ) if ( eJoinType != CROSS_JOIN )
{ {
m_pTableControl->NotifyCellChange(); m_pTableControl->NotifyCellChange();
NaturalToggleHdl(&m_pJoinControl->m_aCBNatural); NaturalToggleHdl(m_pCBNatural);
} }
m_pTableControl->Invalidate(); m_pTableControl->Invalidate();
...@@ -249,7 +216,7 @@ IMPL_LINK( DlgQryJoin, LBChangeHdl, ListBox*, /*pListBox*/ ) ...@@ -249,7 +216,7 @@ IMPL_LINK( DlgQryJoin, LBChangeHdl, ListBox*, /*pListBox*/ )
sHelpText += ModuleRes( STR_JOIN_TYPE_HINT ); sHelpText += ModuleRes( STR_JOIN_TYPE_HINT );
} }
aML_HelpText.SetText( sHelpText ); m_pML_HelpText->SetText( sHelpText );
return 1; return 1;
} }
...@@ -265,7 +232,7 @@ IMPL_LINK( DlgQryJoin, OKClickHdl, Button*, /*pButton*/ ) ...@@ -265,7 +232,7 @@ IMPL_LINK( DlgQryJoin, OKClickHdl, Button*, /*pButton*/ )
IMPL_LINK( DlgQryJoin, NaturalToggleHdl, CheckBox*, /*pButton*/ ) IMPL_LINK( DlgQryJoin, NaturalToggleHdl, CheckBox*, /*pButton*/ )
{ {
sal_Bool bChecked = m_pJoinControl->m_aCBNatural.IsChecked(); sal_Bool bChecked = m_pCBNatural->IsChecked();
static_cast<OQueryTableConnectionData*>(m_pConnData.get())->setNatural(bChecked); static_cast<OQueryTableConnectionData*>(m_pConnData.get())->setNatural(bChecked);
m_pTableControl->enableRelation(!bChecked); m_pTableControl->enableRelation(!bChecked);
if ( bChecked ) if ( bChecked )
...@@ -301,20 +268,20 @@ TTableConnectionData::value_type DlgQryJoin::getConnectionData() const ...@@ -301,20 +268,20 @@ TTableConnectionData::value_type DlgQryJoin::getConnectionData() const
void DlgQryJoin::setValid(sal_Bool _bValid) void DlgQryJoin::setValid(sal_Bool _bValid)
{ {
aPB_OK.Enable(_bValid || eJoinType == CROSS_JOIN ); m_pPB_OK->Enable(_bValid || eJoinType == CROSS_JOIN );
} }
void DlgQryJoin::notifyConnectionChange( ) void DlgQryJoin::notifyConnectionChange( )
{ {
setJoinType( static_cast<OQueryTableConnectionData*>(m_pConnData.get())->GetJoinType() ); setJoinType( static_cast<OQueryTableConnectionData*>(m_pConnData.get())->GetJoinType() );
m_pJoinControl->m_aCBNatural.Check(static_cast<OQueryTableConnectionData*>(m_pConnData.get())->isNatural()); m_pCBNatural->Check(static_cast<OQueryTableConnectionData*>(m_pConnData.get())->isNatural());
NaturalToggleHdl(&m_pJoinControl->m_aCBNatural); NaturalToggleHdl(m_pCBNatural);
} }
void DlgQryJoin::setJoinType(EJoinType _eNewJoinType) void DlgQryJoin::setJoinType(EJoinType _eNewJoinType)
{ {
eJoinType = _eNewJoinType; eJoinType = _eNewJoinType;
m_pJoinControl->m_aCBNatural.Enable(eJoinType != CROSS_JOIN); m_pCBNatural->Enable(eJoinType != CROSS_JOIN);
sal_IntPtr nJoinType = 0; sal_IntPtr nJoinType = 0;
switch ( eJoinType ) switch ( eJoinType )
...@@ -337,17 +304,17 @@ void DlgQryJoin::setJoinType(EJoinType _eNewJoinType) ...@@ -337,17 +304,17 @@ void DlgQryJoin::setJoinType(EJoinType _eNewJoinType)
break; break;
} }
const sal_uInt16 nCount = m_pJoinControl->aLB_JoinType.GetEntryCount(); const sal_uInt16 nCount = m_pLB_JoinType->GetEntryCount();
for (sal_uInt16 i = 0; i < nCount; ++i) for (sal_uInt16 i = 0; i < nCount; ++i)
{ {
if ( nJoinType == reinterpret_cast<sal_IntPtr>(m_pJoinControl->aLB_JoinType.GetEntryData(i)) ) if ( nJoinType == reinterpret_cast<sal_IntPtr>(m_pLB_JoinType->GetEntryData(i)) )
{ {
m_pJoinControl->aLB_JoinType.SelectEntryPos(i); m_pLB_JoinType->SelectEntryPos(i);
break; break;
} }
} }
LBChangeHdl(&m_pJoinControl->aLB_JoinType); LBChangeHdl(m_pLB_JoinType);
} }
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
...@@ -35,17 +35,15 @@ namespace dbaui ...@@ -35,17 +35,15 @@ namespace dbaui
{ {
class OTableListBoxControl; class OTableListBoxControl;
class OQueryTableView; class OQueryTableView;
class OJoinControl;
class DlgQryJoin : public ModalDialog class DlgQryJoin : public ModalDialog
,public IRelationControlInterface ,public IRelationControlInterface
{ {
protected: protected:
FixedText aML_HelpText; FixedText* m_pML_HelpText;
OKButton aPB_OK; OKButton* m_pPB_OK;
CancelButton aPB_CANCEL; ListBox* m_pLB_JoinType;
HelpButton aPB_HELP; CheckBox* m_pCBNatural;
OJoinControl* m_pJoinControl;
OTableListBoxControl* m_pTableControl; OTableListBoxControl* m_pTableControl;
OJoinTableView::OTableWindowMap* m_pTableMap; OJoinTableView::OTableWindowMap* m_pTableMap;
OQueryTableView* m_pTableView; OQueryTableView* m_pTableView;
......
...@@ -20,138 +20,6 @@ ...@@ -20,138 +20,6 @@
#include "querydlg.hrc" #include "querydlg.hrc"
#include "dbaccess_helpid.hrc" #include "dbaccess_helpid.hrc"
ModalDialog DLG_QRY_JOIN
{
OutputSize = TRUE ;
SVLook = TRUE ;
HelpId = HID_DLG_QRY_JOIN ;
Size = MAP_APPFONT ( 265, 219 ) ;
Moveable = TRUE ;
Closeable = TRUE ;
Window WND_JOIN_CONTROL
{
Pos = MAP_APPFONT( 0, 0 );
Size = MAP_APPFONT( 203, 44 );
DialogControl = TRUE;
HelpId = HID_DLG_QRY_JOIN_CONTROL ;
FixedLine FL_JOIN
{
Pos = MAP_APPFONT ( 6 , 3 ) ;
Size = MAP_APPFONT ( 191 , 8 ) ;
Text [ en-US ] = "Options";
};
FixedText FT_LISTBOXTITLE
{
Pos = MAP_APPFONT ( 12 , 16 ) ;
Size = MAP_APPFONT ( 89 , 8 ) ;
Text [ en-US ] = "~Type";
};
ListBox LB_JOINTYPE
{
Pos = MAP_APPFONT ( 101 , 15 ) ;
Size = MAP_APPFONT ( 90 , 60 ) ;
HelpId = HID_DLG_QRY_JOINTYPE ;
DropDown = TRUE;
DDExtraWidth = TRUE;
StringList [ en-US ] =
{
< "Inner join" ; ID_INNER_JOIN; > ;
< "Left join" ; ID_LEFT_JOIN; > ;
< "Right join" ; ID_RIGHT_JOIN; > ;
< "Full (outer) join" ; ID_FULL_JOIN; > ;
< "Cross join" ; ID_CROSS_JOIN; > ;
};
};
CheckBox CB_NATURAL
{
HelpID = "dbaccess:CheckBox:DLG_QRY_JOIN:CB_NATURAL";
Pos = MAP_APPFONT ( 101 , 31 ) ;
Size = MAP_APPFONT ( 89 , 8 ) ;
Text [ en-US ] = "Natural";
};
};
Window WND_CONTROL
{
Pos = MAP_APPFONT( 0, 0 );
Size = MAP_APPFONT( 203, 153 );
DialogControl = TRUE;
HelpId = HID_DLG_QRY_WINDOW_CONTROL ;
FixedLine FL_INVOLVED_TABLES
{
Pos = MAP_APPFONT ( 6 , 3 ) ;
Size = MAP_APPFONT ( 191 , 8 ) ;
Text [ en-US ] = "Tables involved";
};
ListBox LB_LEFT_TABLE
{
Border = TRUE;
Pos = MAP_APPFONT( 12, 14 );
Size = MAP_APPFONT( 87, 60 );
HelpId = HID_DLG_QRY_LEFT_TABLE ;
DropDown = TRUE;
TabStop = TRUE;
};
ListBox LB_RIGHT_TABLE
{
Border = TRUE;
Pos = MAP_APPFONT( 104, 14 );
Size = MAP_APPFONT( 87, 60 );
HelpId = HID_DLG_QRY_RIGHT_TABLE ;
DropDown = TRUE;
TabStop = TRUE;
};
FixedLine FL_INVOLVED_FIELDS
{
Pos = MAP_APPFONT ( 6 , 29 ) ;
Size = MAP_APPFONT ( 191 , 8 ) ;
Text [ en-US ] = "Fields involved";
};
};
FixedText ML_HELPTEXT
{
Pos = MAP_APPFONT ( 12 , 159 ) ;
Size = MAP_APPFONT ( 179 , 49 ) ;
UniqueId = HID_DLG_QRY_HELPTEXT ;
SVLook = TRUE;
WordBreak = TRUE;
};
OKButton PB_OK
{
Pos = MAP_APPFONT ( 206 , 6 ) ;
Size = MAP_APPFONT ( 50 , 14 ) ;
TabStop = TRUE ;
DefButton = TRUE ;
};
CancelButton PB_CANCEL
{
Pos = MAP_APPFONT ( 206 , 23 ) ;
Size = MAP_APPFONT ( 50 , 14 ) ;
TabStop = TRUE ;
};
HelpButton PB_HELP
{
Pos = MAP_APPFONT ( 206 , 43 ) ;
Size = MAP_APPFONT ( 50 , 14 ) ;
TabStop = TRUE ;
};
Text [ en-US ] = "Join Properties";
};
String STR_JOIN_TYPE_HINT String STR_JOIN_TYPE_HINT
{ {
Text [ en-US ] = "Please note that some databases may not support this join type."; Text [ en-US ] = "Please note that some databases may not support this join type.";
......
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.16.1 -->
<interface>
<requires lib="gtk+" version="3.0"/>
<!-- interface-requires LibreOffice 1.0 -->
<object class="GtkDialog" id="JoinDialog">
<property name="can_focus">False</property>
<property name="border_width">6</property>
<property name="title" translatable="yes">Join Properties</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="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="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>
<child>
<object class="GtkButton" id="help">
<property name="label">gtk-help</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_stock">True</property>
<property name="image_position">top</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</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="row_spacing">12</property>
<child>
<object class="GtkFrame" id="frame1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
<object class="GtkAlignment" id="alignment1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<property name="top_padding">6</property>
<property name="left_padding">12</property>
<child>
<object class="GtkGrid" id="grid2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<property name="column_spacing">12</property>
<property name="column_homogeneous">True</property>
<child>
<object class="GtkComboBoxText" id="table1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">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>
<child>
<object class="GtkComboBoxText" id="table2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</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>
</object>
</child>
</object>
</child>
<child type="label">
<object class="GtkLabel" id="label1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Tables involved</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>
</object>
</child>
</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>
<child>
<object class="GtkFrame" id="frame2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
<object class="GtkAlignment" id="alignment2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="top_padding">6</property>
<property name="left_padding">12</property>
<child>
<object class="GtkGrid" id="grid4">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="row_spacing">6</property>
<child>
<object class="GtkLabel" id="helptext">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="wrap">True</property>
<property name="max_width_chars">48</property>
</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="dbulo-ORelationControl" id="relations">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<child internal-child="selection">
<object class="GtkTreeSelection" id="Relation Control-selection1"/>
</child>
</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>
</child>
</object>
</child>
<child type="label">
<object class="GtkLabel" id="label2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Fields involved</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>
</object>
</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="GtkFrame" id="frame5">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
<object class="GtkAlignment" id="alignment5">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="top_padding">6</property>
<property name="left_padding">12</property>
<child>
<object class="GtkGrid" id="grid7">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="row_spacing">6</property>
<property name="column_spacing">12</property>
<child>
<object class="GtkLabel" id="label5">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">_Type</property>
<property name="use_underline">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>
<child>
<object class="GtkComboBox" id="type">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<property name="model">liststore1</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="GtkCheckButton" id="natural">
<property name="label" translatable="yes">Natural</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
<property name="xalign">0</property>
<property name="draw_indicator">True</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">1</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<placeholder/>
</child>
</object>
</child>
</object>
</child>
<child type="label">
<object class="GtkLabel" id="label6">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Options</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>
</object>
</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>
</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-widget response="0">help</action-widget>
</action-widgets>
</object>
<object class="GtkSizeGroup" id="sizegroup1">
<widgets>
<widget name="table1"/>
<widget name="label5"/>
</widgets>
</object>
<object class="GtkSizeGroup" id="sizegroup2">
<widgets>
<widget name="table2"/>
<widget name="type"/>
</widgets>
</object>
<object class="GtkListStore" id="liststore1">
<columns>
<!-- column-name gchararray1 -->
<column type="gchararray"/>
<!-- column-name gint1 -->
<column type="gint"/>
</columns>
<data>
<row>
<col id="0" translatable="yes">Inner join</col>
<col id="1">1</col>
</row>
<row>
<col id="0" translatable="yes">Left join</col>
<col id="1">2</col>
</row>
<row>
<col id="0" translatable="yes">Right join</col>
<col id="1">3</col>
</row>
<row>
<col id="0" translatable="yes">Full (outer) join</col>
<col id="1">4</col>
</row>
<row>
<col id="0" translatable="yes">Cross join</col>
<col id="1">5</col>
</row>
</data>
</object>
</interface>
...@@ -620,6 +620,10 @@ ...@@ -620,6 +620,10 @@
generic-name="Open Document Button" parent="GtkButton" generic-name="Open Document Button" parent="GtkButton"
icon-name="widget-gtk-button"/> icon-name="widget-gtk-button"/>
<glade-widget-class title="Relation Control" name="dbulo-ORelationControl"
generic-name="Relation Control" parent="GtkTreeView"
icon-name="widget-gtk-treeview"/>
<glade-widget-class title="Sidebar ToolBox" name="sfxlo-SidebarToolBox" <glade-widget-class title="Sidebar ToolBox" name="sfxlo-SidebarToolBox"
generic-name="Sidebar ToolBox" parent="GtkToolbar" generic-name="Sidebar ToolBox" parent="GtkToolbar"
icon-name="widget-gtk-toolbar"/> icon-name="widget-gtk-toolbar"/>
......
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