[Libreoffice-commits] core.git: 4 commits - accessibility/source cui/uiconfig dbaccess/AllLangResTarget_dbu.mk dbaccess/inc dbaccess/source dbaccess/uiconfig dbaccess/UIConfig_dbaccess.mk extras/source
Caolán McNamara
caolanm at redhat.com
Thu Mar 13 09:24:39 PDT 2014
accessibility/source/extended/accessiblelistboxentry.cxx | 29
cui/uiconfig/ui/galleryfilespage.ui | 2
dbaccess/AllLangResTarget_dbu.mk | 1
dbaccess/UIConfig_dbaccess.mk | 2
dbaccess/inc/dbaccess_helpid.hrc | 20
dbaccess/source/ui/control/RelationControl.cxx | 170 ++---
dbaccess/source/ui/dlg/RelationDlg.cxx | 94 +-
dbaccess/source/ui/dlg/RelationDlg.src | 169 -----
dbaccess/source/ui/inc/RelationControl.hxx | 17
dbaccess/source/ui/inc/RelationDlg.hxx | 28
dbaccess/source/ui/inc/dbu_resource.hrc | 8
dbaccess/source/ui/querydesign/querydlg.cxx | 126 +--
dbaccess/source/ui/querydesign/querydlg.hrc | 49 -
dbaccess/source/ui/querydesign/querydlg.hxx | 10
dbaccess/source/ui/querydesign/querydlg.src | 133 ----
dbaccess/uiconfig/ui/joindialog.ui | 366 +++++++++++
dbaccess/uiconfig/ui/relationdialog.ui | 487 +++++++++++++++
extras/source/glade/libreoffice-catalog.xml.in | 6
18 files changed, 1086 insertions(+), 631 deletions(-)
New commits:
commit dca7bd06ca12d58e853a95ed1fc066f9da7d9e05
Author: Caolán McNamara <caolanm at redhat.com>
Date: Thu Mar 13 15:41:48 2014 +0000
convert relation dialog to .ui format
Change-Id: I5c3fce06cbcd9ce46e85f66fb06369155d514efe
diff --git a/dbaccess/AllLangResTarget_dbu.mk b/dbaccess/AllLangResTarget_dbu.mk
index 3103def..5e7448e 100644
--- a/dbaccess/AllLangResTarget_dbu.mk
+++ b/dbaccess/AllLangResTarget_dbu.mk
@@ -46,7 +46,6 @@ $(eval $(call gb_SrsTarget_add_files,dbaccess/dbu,\
dbaccess/source/ui/dlg/directsql.src \
dbaccess/source/ui/dlg/indexdialog.src \
dbaccess/source/ui/dlg/paramdialog.src \
- dbaccess/source/ui/dlg/RelationDlg.src \
dbaccess/source/ui/dlg/sqlmessage.src \
dbaccess/source/ui/dlg/textconnectionsettings.src \
dbaccess/source/ui/dlg/UserAdmin.src \
diff --git a/dbaccess/UIConfig_dbaccess.mk b/dbaccess/UIConfig_dbaccess.mk
index e55e231..a90e161 100644
--- a/dbaccess/UIConfig_dbaccess.mk
+++ b/dbaccess/UIConfig_dbaccess.mk
@@ -24,6 +24,7 @@ $(eval $(call gb_UIConfig_add_uifiles,dbaccess, \
dbaccess/uiconfig/ui/joindialog \
dbaccess/uiconfig/ui/queryfilterdialog \
dbaccess/uiconfig/ui/querypropertiesdialog \
+ dbaccess/uiconfig/ui/relationdialog \
dbaccess/uiconfig/ui/rowheightdialog \
dbaccess/uiconfig/ui/savedialog \
dbaccess/uiconfig/ui/specialsettingspage \
diff --git a/dbaccess/inc/dbaccess_helpid.hrc b/dbaccess/inc/dbaccess_helpid.hrc
index 70058f4..5da3fac 100644
--- a/dbaccess/inc/dbaccess_helpid.hrc
+++ b/dbaccess/inc/dbaccess_helpid.hrc
@@ -211,22 +211,6 @@
#define HID_QUERY_EDIT_JOINCONNECTION "DBACCESS_HID_QUERY_EDIT_JOINCONNECTION"
-#define HID_DLG_QRY_WINDOW_CONTROL "DBACCESS_HID_DLG_QRY_WINDOW_CONTROL"
-#define HID_DLG_QRY_LEFT_TABLE "DBACCESS_HID_DLG_QRY_LEFT_TABLE"
-#define HID_DLG_QRY_RIGHT_TABLE "DBACCESS_HID_DLG_QRY_RIGHT_TABLE"
-
-#define HID_DLG_REL_CASC_DEL "DBACCESS_HID_DLG_REL_CASC_DEL"
-#define HID_DLG_REL_NO_CASC_DEL "DBACCESS_HID_DLG_REL_NO_CASC_DEL"
-#define HID_DLG_REL_CASC_DEL_NULL "DBACCESS_HID_DLG_REL_CASC_DEL_NULL"
-#define HID_DLG_REL_CASC_DEL_DEFAULT "DBACCESS_HID_DLG_REL_CASC_DEL_DEFAULT"
-
-#define HID_DLG_REL_CASC_UPD "DBACCESS_HID_DLG_REL_CASC_UPD"
-#define HID_DLG_REL_NO_CASC_UPD "DBACCESS_HID_DLG_REL_NO_CASC_UPD"
-#define HID_DLG_REL_CASC_UPD_NULL "DBACCESS_HID_DLG_REL_CASC_UPD_NULL"
-#define HID_DLG_REL_CASC_UPD_DEFAULT "DBACCESS_HID_DLG_REL_CASC_UPD_DEFAULT"
-#define HID_BROWSER_SAVE_RECORD "DBACCESS_HID_BROWSER_SAVE_RECORD"
-#define HID_BROWSER_UNDO_RECORD "DBACCESS_HID_BROWSER_UNDO_RECORD"
-
#define HID_DOCUMENT_CREATE_REPWIZ "DBACCESS_HID_DOCUMENT_CREATE_REPWIZ"
#define HID_TAB_AUTOINCREMENTVALUE "DBACCESS_HID_TAB_AUTOINCREMENTVALUE"
diff --git a/dbaccess/source/ui/dlg/RelationDlg.cxx b/dbaccess/source/ui/dlg/RelationDlg.cxx
index e366666..a3baa4a 100644
--- a/dbaccess/source/ui/dlg/RelationDlg.cxx
+++ b/dbaccess/source/ui/dlg/RelationDlg.cxx
@@ -51,27 +51,21 @@ using namespace ::dbtools;
ORelationDialog::ORelationDialog( OJoinTableView* pParent,
const TTableConnectionData::value_type& pConnectionData,
sal_Bool bAllowTableSelect )
- :ModalDialog( pParent, ModuleRes(DLG_REL_PROPERTIES) )
- ,m_pTableMap(pParent->GetTabWinMap())
-
- ,aFL_CascUpd( this, ModuleRes(FL_CASC_UPD) )
- ,aRB_NoCascUpd( this, ModuleRes(RB_NO_CASC_UPD) )
- ,aRB_CascUpd( this, ModuleRes(RB_CASC_UPD) )
- ,aRB_CascUpdNull( this, ModuleRes(RB_CASC_UPD_NULL) )
- ,aRB_CascUpdDefault( this, ModuleRes(RB_CASC_UPD_DEFAULT) )
- ,aFL_CascDel( this, ModuleRes(FL_CASC_DEL) )
- ,aRB_NoCascDel( this, ModuleRes(RB_NO_CASC_DEL) )
- ,aRB_CascDel( this, ModuleRes(RB_CASC_DEL) )
- ,aRB_CascDelNull( this, ModuleRes(RB_CASC_DEL_NULL) )
- ,aRB_CascDelDefault( this, ModuleRes(RB_CASC_DEL_DEFAULT) )
-
- ,aPB_OK( this, ModuleRes( PB_OK ) )
- ,aPB_CANCEL( this, ModuleRes( PB_CANCEL ) )
- ,aPB_HELP( this, ModuleRes( PB_HELP ) )
-
- ,m_pOrigConnData( pConnectionData )
- ,m_bTriedOneUpdate(sal_False)
+ : ModalDialog(pParent, "RelationDialog",
+ "dbaccess/ui/relationdialog.ui")
+ , m_pTableMap(pParent->GetTabWinMap())
+ , m_pOrigConnData(pConnectionData)
+ , m_bTriedOneUpdate(false)
{
+ get(m_pRB_NoCascUpd, "addaction");
+ get(m_pRB_CascUpd, "addcascade");
+ get(m_pRB_CascUpdNull, "addnull");
+ get(m_pRB_CascUpdDefault, "adddefault");
+ get(m_pRB_NoCascDel, "delaction");
+ get(m_pRB_CascDel, "delcascade");
+ get(m_pRB_CascDelNull, "delnull");
+ get(m_pRB_CascDelDefault, "deldefault");
+ get(m_pPB_OK, "ok");
m_xConnection = pParent->getDesignView()->getController().getConnection();
@@ -80,21 +74,19 @@ ORelationDialog::ORelationDialog( OJoinTableView* pParent,
m_pConnData->CopyFrom( *pConnectionData );
Init(m_pConnData);
- m_pTableControl.reset( new OTableListBoxControl(this, m_pTableMap, this) );
+ m_xTableControl.reset( new OTableListBoxControl(this, m_pTableMap, this) );
- aPB_OK.SetClickHdl( LINK(this, ORelationDialog, OKClickHdl) );
+ m_pPB_OK->SetClickHdl( LINK(this, ORelationDialog, OKClickHdl) );
- m_pTableControl->Init( m_pConnData );
+ m_xTableControl->Init( m_pConnData );
if ( bAllowTableSelect )
- m_pTableControl->fillListBoxes();
+ m_xTableControl->fillListBoxes();
else
- m_pTableControl->fillAndDisable(pConnectionData);
+ m_xTableControl->fillAndDisable(pConnectionData);
- m_pTableControl->lateInit();
+ m_xTableControl->lateInit();
- m_pTableControl->NotifyCellChange();
-
- FreeResource();
+ m_xTableControl->NotifyCellChange();
}
void ORelationDialog::Init(const TTableConnectionData::value_type& _pConnectionData)
@@ -105,18 +97,18 @@ void ORelationDialog::Init(const TTableConnectionData::value_type& _pConnectionD
{
case KeyRule::NO_ACTION:
case KeyRule::RESTRICT:
- aRB_NoCascUpd.Check( true );
+ m_pRB_NoCascUpd->Check( true );
break;
case KeyRule::CASCADE:
- aRB_CascUpd.Check( true );
+ m_pRB_CascUpd->Check( true );
break;
case KeyRule::SET_NULL:
- aRB_CascUpdNull.Check( true );
+ m_pRB_CascUpdNull->Check( true );
break;
case KeyRule::SET_DEFAULT:
- aRB_CascUpdDefault.Check( true );
+ m_pRB_CascUpdDefault->Check( true );
break;
}
@@ -125,18 +117,18 @@ void ORelationDialog::Init(const TTableConnectionData::value_type& _pConnectionD
{
case KeyRule::NO_ACTION:
case KeyRule::RESTRICT:
- aRB_NoCascDel.Check( true );
+ m_pRB_NoCascDel->Check( true );
break;
case KeyRule::CASCADE:
- aRB_CascDel.Check( true );
+ m_pRB_CascDel->Check( true );
break;
case KeyRule::SET_NULL:
- aRB_CascDelNull.Check( true );
+ m_pRB_CascDelNull->Check( true );
break;
case KeyRule::SET_DEFAULT:
- aRB_CascDelDefault.Check( true );
+ m_pRB_CascDelDefault->Check( true );
break;
}
}
@@ -151,13 +143,13 @@ IMPL_LINK( ORelationDialog, OKClickHdl, Button*, /*pButton*/ )
sal_uInt16 nAttrib = 0;
// Delete Rules
- if( aRB_NoCascDel.IsChecked() )
+ if( m_pRB_NoCascDel->IsChecked() )
nAttrib |= KeyRule::NO_ACTION;
- if( aRB_CascDel.IsChecked() )
+ if( m_pRB_CascDel->IsChecked() )
nAttrib |= KeyRule::CASCADE;
- if( aRB_CascDelNull.IsChecked() )
+ if( m_pRB_CascDelNull->IsChecked() )
nAttrib |= KeyRule::SET_NULL;
- if( aRB_CascDelDefault.IsChecked() )
+ if( m_pRB_CascDelDefault->IsChecked() )
nAttrib |= KeyRule::SET_DEFAULT;
ORelationTableConnectionData* pConnData = static_cast<ORelationTableConnectionData*>(m_pConnData.get());
@@ -165,22 +157,22 @@ IMPL_LINK( ORelationDialog, OKClickHdl, Button*, /*pButton*/ )
// Update Rules
nAttrib = 0;
- if( aRB_NoCascUpd.IsChecked() )
+ if( m_pRB_NoCascUpd->IsChecked() )
nAttrib |= KeyRule::NO_ACTION;
- if( aRB_CascUpd.IsChecked() )
+ if( m_pRB_CascUpd->IsChecked() )
nAttrib |= KeyRule::CASCADE;
- if( aRB_CascUpdNull.IsChecked() )
+ if( m_pRB_CascUpdNull->IsChecked() )
nAttrib |= KeyRule::SET_NULL;
- if( aRB_CascUpdDefault.IsChecked() )
+ if( m_pRB_CascUpdDefault->IsChecked() )
nAttrib |= KeyRule::SET_DEFAULT;
pConnData->SetUpdateRules( nAttrib );
- m_pTableControl->SaveModified();
+ m_xTableControl->SaveModified();
//// wenn die ComboBoxen fuer die Tabellenauswahl enabled sind (Constructor mit bAllowTableSelect==sal_True), dann muss ich in die
//// Connection auch die Tabellennamen stecken
- //m_pConnData->SetSourceWinName(m_pTableControl->getSourceWinName());
- //m_pConnData->SetDestWinName(m_pTableControl->getDestWinName());
+ //m_pConnData->SetSourceWinName(m_xTableControl->getSourceWinName());
+ //m_pConnData->SetDestWinName(m_xTableControl->getDestWinName());
// try to create the relation
try
@@ -210,8 +202,8 @@ IMPL_LINK( ORelationDialog, OKClickHdl, Button*, /*pButton*/ )
// try again
Init(m_pConnData);
- m_pTableControl->Init( m_pConnData );
- m_pTableControl->lateInit();
+ m_xTableControl->Init( m_pConnData );
+ m_xTableControl->lateInit();
return 0;
}
@@ -232,7 +224,7 @@ TTableConnectionData::value_type ORelationDialog::getConnectionData() const
void ORelationDialog::setValid(sal_Bool _bValid)
{
- aPB_OK.Enable(_bValid);
+ m_pPB_OK->Enable(_bValid);
}
void ORelationDialog::notifyConnectionChange()
diff --git a/dbaccess/source/ui/dlg/RelationDlg.src b/dbaccess/source/ui/dlg/RelationDlg.src
deleted file mode 100644
index 5da32dd..0000000
--- a/dbaccess/source/ui/dlg/RelationDlg.src
+++ /dev/null
@@ -1,169 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#include "RelationDlg.hrc"
-#include "dbu_dlg.hrc"
-#include "dbaccess_helpid.hrc"
-
-ModalDialog DLG_REL_PROPERTIES
-{
- HelpID = "dbaccess:ModalDialog:DLG_REL_PROPERTIES";
- OutputSize = TRUE ;
- SVLook = TRUE ;
- Size = MAP_APPFONT ( 186 , 205 ) ;
- Text [ en-US ] = "Relations" ;
- Moveable = TRUE ;
- Closeable = TRUE ;
-
- Window WND_CONTROL
- {
- Pos = MAP_APPFONT( 0, 0 );
- Size = MAP_APPFONT( 186, 113 );
- DialogControl = TRUE;
- HelpId = HID_DLG_QRY_WINDOW_CONTROL ;
-
- FixedLine FL_INVOLVED_TABLES
- {
- Pos = MAP_APPFONT ( 6 , 3 ) ;
- Size = MAP_APPFONT ( 174 , 8 ) ;
- Text [ en-US ] = "Tables involved";
- };
-
- ListBox LB_LEFT_TABLE
- {
- Border = TRUE;
- Pos = MAP_APPFONT( 12, 14 );
- Size = MAP_APPFONT( 78, 60 );
- HelpId = HID_DLG_QRY_LEFT_TABLE ;
- DropDown = TRUE;
- TabStop = TRUE;
- };
-
- ListBox LB_RIGHT_TABLE
- {
- Border = TRUE;
- Pos = MAP_APPFONT( 96, 14 );
- Size = MAP_APPFONT( 78, 60 );
- HelpId = HID_DLG_QRY_RIGHT_TABLE ;
- DropDown = TRUE;
- TabStop = TRUE;
- };
-
- FixedLine FL_INVOLVED_FIELDS
- {
- Pos = MAP_APPFONT ( 6 , 29 ) ;
- Size = MAP_APPFONT ( 174 , 8 ) ;
- Text [ en-US ] = "Fields involved";
- };
- };
-
- FixedLine FL_CASC_UPD
- {
- Pos = MAP_APPFONT ( 6 , 114 ) ;
- Size = MAP_APPFONT ( 84 , 8 ) ;
- Text [ en-US ] = "Update options" ;
- };
- RadioButton RB_NO_CASC_UPD
- {
- Pos = MAP_APPFONT ( 12 , 125 ) ;
- Size = MAP_APPFONT ( 72 , 10 ) ;
- TabStop = TRUE ;
- HelpId = HID_DLG_REL_NO_CASC_UPD;
- Text [ en-US ] = "~No action" ;
- };
- RadioButton RB_CASC_UPD
- {
- Pos = MAP_APPFONT ( 12 , 139 ) ;
- Size = MAP_APPFONT ( 72 , 10 ) ;
- HelpId = HID_DLG_REL_CASC_UPD ;
- Text [ en-US ] = "~Update cascade" ;
- };
- RadioButton RB_CASC_UPD_NULL
- {
- Pos = MAP_APPFONT ( 12 , 153 ) ;
- Size = MAP_APPFONT ( 72 , 10 ) ;
- HelpId = HID_DLG_REL_CASC_UPD_NULL ;
- Text [ en-US ] = "~Set null" ;
- };
- RadioButton RB_CASC_UPD_DEFAULT
- {
- Pos = MAP_APPFONT ( 12 , 167 ) ;
- Size = MAP_APPFONT ( 72 , 10 ) ;
- HelpId = HID_DLG_REL_CASC_UPD_DEFAULT ;
- Text [ en-US ] = "Set ~default" ;
- };
- FixedLine FL_CASC_DEL
- {
- Pos = MAP_APPFONT ( 96 , 114 ) ;
- Size = MAP_APPFONT ( 84 , 8 ) ;
- Text [ en-US ] = "Delete options" ;
- };
- RadioButton RB_NO_CASC_DEL
- {
- Pos = MAP_APPFONT ( 102 , 125 ) ;
- Size = MAP_APPFONT ( 72 , 10 ) ;
- TabStop = TRUE ;
- HelpId = HID_DLG_REL_NO_CASC_DEL ;
- Text [ en-US ] = "~No action" ;
- };
- RadioButton RB_CASC_DEL
- {
- Pos = MAP_APPFONT ( 102 , 139 ) ;
- Size = MAP_APPFONT ( 72 , 10 ) ;
- HelpId = HID_DLG_REL_CASC_DEL ;
- Text [ en-US ] = "Delete ~cascade" ;
- };
- RadioButton RB_CASC_DEL_NULL
- {
- Pos = MAP_APPFONT ( 102 , 153 ) ;
- Size = MAP_APPFONT ( 72 , 10 ) ;
- HelpId = HID_DLG_REL_CASC_DEL_NULL ;
- Text [ en-US ] = "~Set null" ;
- };
- RadioButton RB_CASC_DEL_DEFAULT
- {
- Pos = MAP_APPFONT ( 102 , 167 ) ;
- Size = MAP_APPFONT ( 72 , 10 ) ;
- HelpId = HID_DLG_REL_CASC_DEL_DEFAULT ;
- Text [ en-US ] = "Set ~default" ;
- };
-
- OKButton PB_OK
- {
- Pos = MAP_APPFONT ( 6 , 184 ) ;
- Size = MAP_APPFONT ( 50 , 14 ) ;
- TabStop = TRUE ;
- DefButton = TRUE ;
- };
- CancelButton PB_CANCEL
- {
- Pos = MAP_APPFONT ( 59 , 184 ) ;
- Size = MAP_APPFONT ( 50 , 14 ) ;
- TabStop = TRUE ;
- };
- HelpButton PB_HELP
- {
- Pos = MAP_APPFONT ( 115 , 184 ) ;
- Size = MAP_APPFONT ( 50 , 14 ) ;
- TabStop = TRUE ;
- };
-
-};
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/dbaccess/source/ui/inc/RelationDlg.hxx b/dbaccess/source/ui/inc/RelationDlg.hxx
index 0c7decdb..ad84ecc 100644
--- a/dbaccess/source/ui/inc/RelationDlg.hxx
+++ b/dbaccess/source/ui/inc/RelationDlg.hxx
@@ -19,9 +19,9 @@
#ifndef INCLUDED_DBACCESS_SOURCE_UI_INC_RELATIONDLG_HXX
#define INCLUDED_DBACCESS_SOURCE_UI_INC_RELATIONDLG_HXX
-#include <vcl/dialog.hxx>
-
+#include <boost/scoped_ptr.hpp>
#include <vcl/button.hxx>
+#include <vcl/dialog.hxx>
#include <vcl/fixed.hxx>
#include <vcl/msgbox.hxx>
#include "JoinTableView.hxx"
@@ -36,23 +36,19 @@ namespace dbaui
,public IRelationControlInterface
{
OModuleClient m_aModuleClient;
- ::std::auto_ptr<OTableListBoxControl> m_pTableControl;
+ boost::scoped_ptr<OTableListBoxControl> m_xTableControl;
OJoinTableView::OTableWindowMap* m_pTableMap;
- FixedLine aFL_CascUpd;
- RadioButton aRB_NoCascUpd,
- aRB_CascUpd,
- aRB_CascUpdNull,
- aRB_CascUpdDefault;
- FixedLine aFL_CascDel;
- RadioButton aRB_NoCascDel,
- aRB_CascDel,
- aRB_CascDelNull,
- aRB_CascDelDefault;
+ RadioButton* m_pRB_NoCascUpd;
+ RadioButton* m_pRB_CascUpd;
+ RadioButton* m_pRB_CascUpdNull;
+ RadioButton* m_pRB_CascUpdDefault;
+ RadioButton* m_pRB_NoCascDel;
+ RadioButton* m_pRB_CascDel;
+ RadioButton* m_pRB_CascDelNull;
+ RadioButton* m_pRB_CascDelDefault;
- OKButton aPB_OK;
- CancelButton aPB_CANCEL;
- HelpButton aPB_HELP;
+ OKButton* m_pPB_OK;
TTableConnectionData::value_type m_pConnData;
TTableConnectionData::value_type m_pOrigConnData;
diff --git a/dbaccess/source/ui/inc/dbu_resource.hrc b/dbaccess/source/ui/inc/dbu_resource.hrc
index 06362b0..a496afe 100644
--- a/dbaccess/source/ui/inc/dbu_resource.hrc
+++ b/dbaccess/source/ui/inc/dbu_resource.hrc
@@ -82,7 +82,7 @@
#define DLG_JOIN_TABADD RID_DIALOG_START + 14
// FREE
#define WIZ_RTFCOPYTABLE RID_DIALOG_START + 16
-#define DLG_REL_PROPERTIES RID_DIALOG_START + 17
+ // FREE
// FREE
#define DLG_INDEXDESIGN RID_DIALOG_START + 19
// FREE
@@ -280,10 +280,6 @@
// various
#define PB_FORMAT RID_MISC_START + 0
-#define LB_LEFT_TABLE RID_MISC_START + 2
-#define LB_RIGHT_TABLE RID_MISC_START + 3
-#define FL_INVOLVED_TABLES RID_MISC_START + 5
-#define FL_INVOLVED_FIELDS RID_MISC_START + 6
#endif // _DBU_RESOURCE_HRC_
diff --git a/dbaccess/source/ui/querydesign/querydlg.cxx b/dbaccess/source/ui/querydesign/querydlg.cxx
index 909fe27..c6e90f2 100644
--- a/dbaccess/source/ui/querydesign/querydlg.cxx
+++ b/dbaccess/source/ui/querydesign/querydlg.cxx
@@ -19,7 +19,6 @@
#include "querydlg.hxx"
#include "dbu_qry.hrc"
-#include "querydlg.hrc"
#include <tools/debug.hxx>
#include <tools/diagnose_ex.h>
#include "QTableConnectionData.hxx"
@@ -31,6 +30,12 @@
#include <vcl/msgbox.hxx>
#include <vcl/settings.hxx>
+#define ID_INNER_JOIN 1
+#define ID_LEFT_JOIN 2
+#define ID_RIGHT_JOIN 3
+#define ID_FULL_JOIN 4
+#define ID_CROSS_JOIN 5
+
using namespace dbaui;
using namespace ::com::sun::star::uno;
using namespace ::com::sun::star::container;
diff --git a/dbaccess/source/ui/querydesign/querydlg.hrc b/dbaccess/source/ui/querydesign/querydlg.hrc
deleted file mode 100644
index a30989f..0000000
--- a/dbaccess/source/ui/querydesign/querydlg.hrc
+++ /dev/null
@@ -1,49 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#ifndef DBAUI_QUERYDLG_HRC
-#define DBAUI_QUERYDLG_HRC
-
-#include "RelationControl.hrc"
-
-#define FL_JOIN 1
-#define FT_LISTBOXTITLE 2
-
-#define LB_JOINTYPE 1
-
-
-#define CB_NATURAL 1
-
-#define PB_OK 1
-#define PB_CANCEL 2
-#define PB_HELP 3
-#define ML_HELPTEXT 4
-
-#define WND_JOIN_CONTROL 1
-#define WND_CONTROL 2
-
-#define ID_INNER_JOIN 1
-#define ID_LEFT_JOIN 2
-#define ID_RIGHT_JOIN 3
-#define ID_FULL_JOIN 4
-#define ID_CROSS_JOIN 5
-
-#endif // DBAUI_QUERYDLG_HRC
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/dbaccess/source/ui/querydesign/querydlg.src b/dbaccess/source/ui/querydesign/querydlg.src
index 43d1189..81a5ee8 100644
--- a/dbaccess/source/ui/querydesign/querydlg.src
+++ b/dbaccess/source/ui/querydesign/querydlg.src
@@ -17,7 +17,6 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
#include "dbu_qry.hrc"
-#include "querydlg.hrc"
#include "dbaccess_helpid.hrc"
String STR_JOIN_TYPE_HINT
diff --git a/dbaccess/uiconfig/ui/relationdialog.ui b/dbaccess/uiconfig/ui/relationdialog.ui
new file mode 100644
index 0000000..511bdb9
--- /dev/null
+++ b/dbaccess/uiconfig/ui/relationdialog.ui
@@ -0,0 +1,487 @@
+<?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="RelationDialog">
+ <property name="can_focus">False</property>
+ <property name="border_width">6</property>
+ <property name="title" translatable="yes">Relations</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="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>
+ </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">1</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkGrid" id="grid3">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="column_spacing">12</property>
+ <child>
+ <object class="GtkFrame" id="frame3">
+ <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="alignment3">
+ <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="grid5">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="row_spacing">6</property>
+ <child>
+ <object class="GtkRadioButton" id="addaction">
+ <property name="label" translatable="yes">_No action</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="active">True</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">addcascade</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="GtkRadioButton" id="addcascade">
+ <property name="label" translatable="yes">_Update cascade</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>
+ <property name="group">addnull</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="GtkRadioButton" id="addnull">
+ <property name="label" translatable="yes">_Set null</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>
+ <property name="group">adddefault</property>
+ </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="GtkRadioButton" id="adddefault">
+ <property name="label" translatable="yes">Set _default</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>
+ <property name="group">addaction</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">3</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="label3">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Update options</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="frame4">
+ <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="alignment4">
+ <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="grid6">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="row_spacing">6</property>
+ <child>
+ <object class="GtkRadioButton" id="delaction">
+ <property name="label" translatable="yes">_No action</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="active">True</property>
+ <property name="draw_indicator">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="GtkRadioButton" id="delcascade">
+ <property name="label" translatable="yes">Delete _cascade</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="active">True</property>
+ <property name="draw_indicator">True</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="GtkRadioButton" id="delnull">
+ <property name="label" translatable="yes">_Set null</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="active">True</property>
+ <property name="draw_indicator">True</property>
+ </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="GtkRadioButton" id="deldefault">
+ <property name="label" translatable="yes">Set _default</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="active">True</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">3</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="label4">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Delete options</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ </child>
+ </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>
+ <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>
+ </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="label4"/>
+ </widgets>
+ </object>
+ <object class="GtkSizeGroup" id="sizegroup2">
+ <widgets>
+ <widget name="table2"/>
+ </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>
commit 07579ec100b9c03f547ed7c3706659bc7d43ce36
Author: Caolán McNamara <caolanm at redhat.com>
Date: Thu Mar 13 14:42:24 2014 +0000
convert query join dialog to .ui format
Change-Id: I1de2bb1d171e23a42834e20040ade92822901876
diff --git a/dbaccess/UIConfig_dbaccess.mk b/dbaccess/UIConfig_dbaccess.mk
index 9c46d80..e55e231 100644
--- a/dbaccess/UIConfig_dbaccess.mk
+++ b/dbaccess/UIConfig_dbaccess.mk
@@ -21,6 +21,7 @@ $(eval $(call gb_UIConfig_add_uifiles,dbaccess, \
dbaccess/uiconfig/ui/generalpagedialog \
dbaccess/uiconfig/ui/generalpagewizard \
dbaccess/uiconfig/ui/generatedvaluespage \
+ dbaccess/uiconfig/ui/joindialog \
dbaccess/uiconfig/ui/queryfilterdialog \
dbaccess/uiconfig/ui/querypropertiesdialog \
dbaccess/uiconfig/ui/rowheightdialog \
diff --git a/dbaccess/inc/dbaccess_helpid.hrc b/dbaccess/inc/dbaccess_helpid.hrc
index 31f9f29..70058f4 100644
--- a/dbaccess/inc/dbaccess_helpid.hrc
+++ b/dbaccess/inc/dbaccess_helpid.hrc
@@ -89,8 +89,6 @@
#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_CTL_QRYDGNCRIT "DBACCESS_HID_CTL_QRYDGNCRIT"
@@ -158,7 +156,6 @@
#define HID_TLB_RELATIONDESIGN "DBACCESS_HID_TLB_RELATIONDESIGN"
#define HID_RELATIONDIALOG_LEFTFIELDCELL "DBACCESS_HID_RELATIONDIALOG_LEFTFIELDCELL"
#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_TABLE_DESIGN_NO_CONNECTION "DBACCESS_HID_TABLE_DESIGN_NO_CONNECTION"
#define HID_DSADMIN_CREATEDATABASE "DBACCESS_HID_DSADMIN_CREATEDATABASE"
@@ -370,7 +367,6 @@
#define HID_DLG_DATABASE_WIZARD "DBACCESS_HID_DLG_DATABASE_WIZARD"
#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"
#endif // _DBA_DBACCESS_HELPID_HRC_
diff --git a/dbaccess/source/ui/control/RelationControl.cxx b/dbaccess/source/ui/control/RelationControl.cxx
index 510d381..15ccdfb 100644
--- a/dbaccess/source/ui/control/RelationControl.cxx
+++ b/dbaccess/source/ui/control/RelationControl.cxx
@@ -23,6 +23,7 @@
#include <svtools/editbrowsebox.hxx>
#include <com/sun/star/beans/XPropertySet.hpp>
#include <tools/diagnose_ex.h>
+#include <vcl/builder.hxx>
#include "TableConnectionData.hxx"
#include "TableConnection.hxx"
#include "TableWindow.hxx"
@@ -78,7 +79,11 @@ namespace dbaui
*/
sal_uInt16 getColumnIdent( sal_uInt16 _nColId ) const;
public:
- ORelationControl( OTableListBoxControl* pParent );
+ ORelationControl(Window *pParent);
+ void SetController(OTableListBoxControl* pController)
+ {
+ m_pBoxControl = pController;
+ }
virtual ~ORelationControl();
/** searches for a connection between these two tables
@@ -99,7 +104,7 @@ namespace dbaui
protected:
virtual void Resize();
-
+ virtual Size GetOptimalSize() const;
virtual bool PreNotify(NotifyEvent& rNEvt );
virtual sal_Bool IsTabAllowed(sal_Bool bForward) const;
@@ -123,15 +128,22 @@ namespace dbaui
};
// class ORelationControl
- ORelationControl::ORelationControl( OTableListBoxControl* pParent )
- : EditBrowseBox(pParent, EBBF_SMART_TAB_TRAVEL | EBBF_NOROWPICTURE, WB_TABSTOP | WB_BORDER | BROWSER_AUTOSIZE_LASTCOL)
- , m_pBoxControl(pParent)
+ ORelationControl::ORelationControl(Window *pParent)
+ : EditBrowseBox(pParent,
+ EBBF_SMART_TAB_TRAVEL | EBBF_NOROWPICTURE,
+ WB_TABSTOP | WB_BORDER | BROWSER_AUTOSIZE_LASTCOL)
+ , m_pBoxControl(NULL)
, m_nDataPos(0)
, m_xSourceDef(NULL)
, m_xDestDef(NULL)
{
}
+ extern "C" SAL_DLLPUBLIC_EXPORT Window* SAL_CALL makeORelationControl(Window *pParent, VclBuilder::stringmap &)
+ {
+ return new ORelationControl(pParent);
+ }
+
ORelationControl::~ORelationControl()
{
}
@@ -144,6 +156,7 @@ namespace dbaui
m_pConnData->normalizeLines();
}
+
void ORelationControl::lateInit()
{
if ( !m_pConnData.get() )
@@ -174,10 +187,11 @@ namespace dbaui
RowInserted(0, m_pConnData->GetConnLineDataList()->size() + 1, sal_True); // add one extra row
}
+
void ORelationControl::Resize()
{
EditBrowseBox::Resize();
- long nOutputWidth = GetOutputSizePixel().Width();
+ long nOutputWidth = GetOutputSizePixel().Width() - 1;
SetColumnWidth(1, (nOutputWidth / 2));
SetColumnWidth(2, (nOutputWidth / 2));
}
@@ -418,51 +432,45 @@ namespace dbaui
ActivateCell();
}
}
+
void ORelationControl::CellModified()
{
EditBrowseBox::CellModified();
SaveModified();
-#if OSL_DEBUG_LEVEL > 0
- OTableListBoxControl *parent = dynamic_cast<OTableListBoxControl*>(GetParent());
-#else
- OTableListBoxControl *parent = static_cast<OTableListBoxControl*>(GetParent());
-#endif
- assert(parent);
- parent->NotifyCellChange();
+ assert(m_pBoxControl);
+ m_pBoxControl->NotifyCellChange();
}
+
+ Size ORelationControl::GetOptimalSize() const
+ {
+ return LogicToPixel(Size(140, 80), MAP_APPFONT);
+ }
+
// class OTableListBoxControl
+ OTableListBoxControl::OTableListBoxControl(VclBuilderContainer* _pParent,
+ const OJoinTableView::OTableWindowMap* _pTableMap,
+ IRelationControlInterface* _pParentDialog)
+ : m_pTableMap(_pTableMap)
+ , m_pParentDialog(_pParentDialog)
+ {
+ _pParent->get(m_pLeftTable, "table1");
+ _pParent->get(m_pRightTable, "table2");
-OTableListBoxControl::OTableListBoxControl( Window* _pParent
- ,const ResId& _rResId
- ,const OJoinTableView::OTableWindowMap* _pTableMap
- ,IRelationControlInterface* _pParentDialog)
- : Window(_pParent,_rResId)
- , m_aFL_InvolvedTables( this, ResId(FL_INVOLVED_TABLES,*_rResId.GetResMgr()))
- , m_lmbLeftTable( this, ResId(LB_LEFT_TABLE,*_rResId.GetResMgr()))
- , m_lmbRightTable( this, ResId(LB_RIGHT_TABLE,*_rResId.GetResMgr()))
- , m_aFL_InvolvedFields( this, ResId(FL_INVOLVED_FIELDS,*_rResId.GetResMgr()))
- , m_pTableMap(_pTableMap)
- , m_pParentDialog(_pParentDialog)
- {
- m_pRC_Tables = new ORelationControl( this );
- m_pRC_Tables->SetHelpId(HID_RELDLG_KEYFIELDS);
- 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();
Link aLink(LINK(this, OTableListBoxControl, OnTableChanged));
- m_lmbLeftTable.SetSelectHdl(aLink);
- m_lmbRightTable.SetSelectHdl(aLink);
-
- FreeResource();
+ m_pLeftTable->SetSelectHdl(aLink);
+ m_pRightTable->SetSelectHdl(aLink);
}
+
OTableListBoxControl::~OTableListBoxControl()
{
- ORelationControl* pTemp = m_pRC_Tables;
- m_pRC_Tables = NULL;
- delete pTemp;
}
+
void OTableListBoxControl::fillListBoxes()
{
OSL_ENSURE( !m_pTableMap->empty(), "OTableListBoxControl::fillListBoxes: no table window!");
@@ -474,8 +482,8 @@ OTableListBoxControl::OTableListBoxControl( Window* _pParent
OJoinTableView::OTableWindowMap::const_iterator aEnd = m_pTableMap->end();
for(;aIter != aEnd;++aIter)
{
- m_lmbLeftTable.InsertEntry(aIter->first);
- m_lmbRightTable.InsertEntry(aIter->first);
+ m_pLeftTable->InsertEntry(aIter->first);
+ m_pRightTable->InsertEntry(aIter->first);
if (!pInitialLeft)
{
@@ -502,17 +510,18 @@ OTableListBoxControl::OTableListBoxControl( Window* _pParent
if ( m_pTableMap->size() > 2 )
{
- m_lmbLeftTable.RemoveEntry(m_strCurrentRight);
- m_lmbRightTable.RemoveEntry(m_strCurrentLeft);
+ m_pLeftTable->RemoveEntry(m_strCurrentRight);
+ m_pRightTable->RemoveEntry(m_strCurrentLeft);
}
// Select the first one on the left side and on the right side,
// select the second one
- m_lmbLeftTable.SelectEntry(m_strCurrentLeft);
- m_lmbRightTable.SelectEntry(m_strCurrentRight);
+ m_pLeftTable->SelectEntry(m_strCurrentLeft);
+ m_pRightTable->SelectEntry(m_strCurrentRight);
- m_lmbLeftTable.GrabFocus();
+ m_pLeftTable->GrabFocus();
}
+
IMPL_LINK( OTableListBoxControl, OnTableChanged, ListBox*, pListBox )
{
OUString strSelected(pListBox->GetSelectEntry());
@@ -523,10 +532,10 @@ OTableListBoxControl::OTableListBoxControl( Window* _pParent
if ( m_pTableMap->size() == 2 )
{
ListBox* pOther;
- if ( pListBox == &m_lmbLeftTable )
- pOther = &m_lmbRightTable;
+ if (pListBox == m_pLeftTable)
+ pOther = m_pRightTable;
else
- pOther = &m_lmbLeftTable;
+ pOther = m_pLeftTable;
pOther->SelectEntryPos(1 - pOther->GetSelectEntryPos());
OJoinTableView::OTableWindowMap::const_iterator aIter = m_pTableMap->begin();
@@ -534,7 +543,7 @@ OTableListBoxControl::OTableListBoxControl( Window* _pParent
++aIter;
OTableWindow* pSecond = aIter->second;
- if ( m_lmbLeftTable.GetSelectEntry() == pFirst->GetName() )
+ if ( m_pLeftTable->GetSelectEntry() == pFirst->GetName() )
{
pLeft = pFirst;
pRight = pSecond;
@@ -554,33 +563,33 @@ OTableListBoxControl::OTableListBoxControl( Window* _pParent
pLoop = aFind->second;
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
- if (pListBox == &m_lmbLeftTable)
+ if (pListBox == m_pLeftTable)
{
// 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
- m_lmbRightTable.RemoveEntry(strSelected);
+ m_pRightTable->RemoveEntry(strSelected);
m_strCurrentLeft = strSelected;
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");
if ( aIter != m_pTableMap->end() )
pRight = aIter->second;
- m_lmbLeftTable.GrabFocus();
+ m_pLeftTable->GrabFocus();
}
else
{
// 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
- m_lmbLeftTable.RemoveEntry(strSelected);
+ m_pLeftTable->RemoveEntry(strSelected);
m_strCurrentRight = strSelected;
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");
if ( aIter != m_pTableMap->end() )
pLeft = aIter->second;
@@ -594,6 +603,7 @@ OTableListBoxControl::OTableListBoxControl( Window* _pParent
NotifyCellChange();
return 0;
}
+
void OTableListBoxControl::NotifyCellChange()
{
// Enable/disable the OK button, depending on having a valid situation
@@ -633,62 +643,64 @@ OTableListBoxControl::OTableListBoxControl( Window* _pParent
m_pRC_Tables->ActivateCell();
m_pRC_Tables->m_ops.clear();
}
+
void fillEntryAndDisable(ListBox& _rListBox,const OUString& _sEntry)
{
_rListBox.InsertEntry(_sEntry);
_rListBox.SelectEntryPos(0);
_rListBox.Disable();
}
+
void OTableListBoxControl::fillAndDisable(const TTableConnectionData::value_type& _pConnectionData)
{
- fillEntryAndDisable(m_lmbLeftTable,_pConnectionData->getReferencingTable()->GetWinName());
- fillEntryAndDisable(m_lmbRightTable,_pConnectionData->getReferencedTable()->GetWinName());
+ fillEntryAndDisable(*m_pLeftTable, _pConnectionData->getReferencingTable()->GetWinName());
+ fillEntryAndDisable(*m_pRightTable, _pConnectionData->getReferencedTable()->GetWinName());
}
+
void OTableListBoxControl::Init(const TTableConnectionData::value_type& _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();
-
lateInit();
}
+
void OTableListBoxControl::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()
{
return m_pRC_Tables->SaveModified();
}
+
TTableWindowData::value_type OTableListBoxControl::getReferencingTable() const
{
return m_pRC_Tables->getData()->getReferencingTable();
}
+
void OTableListBoxControl::enableRelation(bool _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);
}
diff --git a/dbaccess/source/ui/dlg/RelationDlg.cxx b/dbaccess/source/ui/dlg/RelationDlg.cxx
index e92081e..e366666 100644
--- a/dbaccess/source/ui/dlg/RelationDlg.cxx
+++ b/dbaccess/source/ui/dlg/RelationDlg.cxx
@@ -80,7 +80,7 @@ ORelationDialog::ORelationDialog( OJoinTableView* pParent,
m_pConnData->CopyFrom( *pConnectionData );
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) );
diff --git a/dbaccess/source/ui/inc/RelationControl.hxx b/dbaccess/source/ui/inc/RelationControl.hxx
index 3a585e4..f37e577 100644
--- a/dbaccess/source/ui/inc/RelationControl.hxx
+++ b/dbaccess/source/ui/inc/RelationControl.hxx
@@ -20,6 +20,7 @@
#define INCLUDED_DBACCESS_SOURCE_UI_INC_RELATIONCONTROL_HXX
#include <vcl/fixed.hxx>
+#include <vcl/builder.hxx>
#include <vcl/lstbox.hxx>
#include "JoinTableView.hxx"
@@ -29,12 +30,10 @@ namespace dbaui
class IRelationControlInterface;
class ORelationControl;
- class OTableListBoxControl : public Window
+ class OTableListBoxControl
{
- FixedLine m_aFL_InvolvedTables;
- ListBox m_lmbLeftTable,
- m_lmbRightTable;
- FixedLine m_aFL_InvolvedFields;
+ ListBox* m_pLeftTable;
+ ListBox* m_pRightTable;
ORelationControl* m_pRC_Tables;
const OJoinTableView::OTableWindowMap* m_pTableMap;
@@ -44,8 +43,7 @@ namespace dbaui
private:
DECL_LINK( OnTableChanged, ListBox* );
public:
- OTableListBoxControl(Window* _pParent,
- const ResId& _rResId,
+ OTableListBoxControl(VclBuilderContainer* _pParent,
const OJoinTableView::OTableWindowMap* _pTableMap,
IRelationControlInterface* _pParentDialog);
virtual ~OTableListBoxControl();
@@ -75,9 +73,12 @@ namespace dbaui
the connection data which is used to init the control
*/
void Init(const TTableConnectionData::value_type& _pConnData);
- void lateUIInit(Window* _pTableSeparator = NULL);
+ void lateUIInit();
void lateInit();
+ void Disable();
+ void Invalidate();
+
sal_Bool SaveModified();
TTableWindowData::value_type getReferencingTable() const;
diff --git a/dbaccess/source/ui/inc/dbu_resource.hrc b/dbaccess/source/ui/inc/dbu_resource.hrc
index 37be9ab..06362b0 100644
--- a/dbaccess/source/ui/inc/dbu_resource.hrc
+++ b/dbaccess/source/ui/inc/dbu_resource.hrc
@@ -80,7 +80,7 @@
#define DLG_PARAMETERS RID_DIALOG_START + 5
#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 DLG_REL_PROPERTIES RID_DIALOG_START + 17
// FREE
diff --git a/dbaccess/source/ui/querydesign/querydlg.cxx b/dbaccess/source/ui/querydesign/querydlg.cxx
index 085450e..909fe27 100644
--- a/dbaccess/source/ui/querydesign/querydlg.cxx
+++ b/dbaccess/source/ui/querydesign/querydlg.cxx
@@ -36,62 +36,32 @@ using namespace ::com::sun::star::uno;
using namespace ::com::sun::star::container;
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,
const TTableConnectionData::value_type& _pData,
OJoinTableView::OTableWindowMap* _pTableMap,
const Reference< XConnection >& _xConnection,
sal_Bool _bAllowTableSelect)
- :ModalDialog( pParent, ModuleRes(DLG_QRY_JOIN) )
- ,aML_HelpText( this, ModuleRes(ML_HELPTEXT) )
- ,aPB_OK( this, ModuleRes( PB_OK ) )
- ,aPB_CANCEL( this, ModuleRes( PB_CANCEL ) )
- ,aPB_HELP( this, ModuleRes( PB_HELP ) )
- ,m_pJoinControl( NULL )
- ,m_pTableControl( NULL )
- ,m_pTableMap(_pTableMap)
- ,m_pTableView(pParent)
- ,eJoinType(static_cast<OQueryTableConnectionData*>(_pData.get())->GetJoinType())
- ,m_pOrigConnData(_pData)
- ,m_xConnection(_xConnection)
+ : ModalDialog( pParent, "JoinDialog", "dbaccess/ui/joindialog.ui" )
+ , m_pTableControl( NULL )
+ , 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
m_pConnData.reset(_pData->NewInstance());
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_pJoinControl->Show();
- m_pJoinControl->m_aCBNatural.Check(static_cast<OQueryTableConnectionData*>(m_pConnData.get())->isNatural());
- m_pTableControl->Show();
+ m_pCBNatural->Check(static_cast<OQueryTableConnectionData*>(m_pConnData.get())->isNatural());
if( _bAllowTableSelect )
{
@@ -104,7 +74,7 @@ DlgQryJoin::DlgQryJoin( OQueryTableView * pParent,
m_pTableControl->Init( m_pConnData );
}
- m_pTableControl->lateUIInit(m_pJoinControl);
+ m_pTableControl->lateUIInit();
sal_Bool bSupportFullJoin = sal_False;
Reference<XDatabaseMetaData> xMeta;
@@ -129,49 +99,46 @@ DlgQryJoin::DlgQryJoin( OQueryTableView * pParent,
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_pJoinControl->m_aCBNatural.SetToggleHdl(LINK(this,DlgQryJoin,NaturalToggleHdl));
+ m_pLB_JoinType->SetSelectHdl(LINK(this,DlgQryJoin,LBChangeHdl));
+ m_pCBNatural->SetToggleHdl(LINK(this,DlgQryJoin,NaturalToggleHdl));
if ( static_cast<OQueryTableView*>(pParent)->getDesignView()->getController().isReadOnly() )
{
- m_pJoinControl->aLB_JoinType.Disable();
- m_pJoinControl->m_aCBNatural.Disable();
+ m_pLB_JoinType->Disable();
+ m_pCBNatural->Disable();
m_pTableControl->Disable();
}
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)
{
- 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 )
- m_pJoinControl->aLB_JoinType.RemoveEntry(i);
+ m_pLB_JoinType->RemoveEntry(i);
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->enableRelation(!static_cast<OQueryTableConnectionData*>(m_pConnData.get())->isNatural() && eJoinType != CROSS_JOIN );
}
-
- FreeResource();
}
DlgQryJoin::~DlgQryJoin()
{
- delete m_pJoinControl;
delete m_pTableControl;
}
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;
- m_pJoinControl->aLB_JoinType.SaveValue();
- aML_HelpText.SetText(OUString());
+ m_pLB_JoinType->SaveValue();
+ m_pML_HelpText->SetText(OUString());
m_pTableControl->enableRelation(true);
@@ -179,8 +146,8 @@ IMPL_LINK( DlgQryJoin, LBChangeHdl, ListBox*, /*pListBox*/ )
OUString sSecondWinName = m_pConnData->getReferencedTable()->GetWinName();
const EJoinType eOldJoinType = eJoinType;
sal_uInt16 nResId = 0;
- const sal_uInt16 nPos = m_pJoinControl->aLB_JoinType.GetSelectEntryPos();
- const sal_IntPtr nJoinType = reinterpret_cast<sal_IntPtr>(m_pJoinControl->aLB_JoinType.GetEntryData(nPos));
+ const sal_uInt16 nPos = m_pLB_JoinType->GetSelectEntryPos();
+ const sal_IntPtr nJoinType = reinterpret_cast<sal_IntPtr>(m_pLB_JoinType->GetEntryData(nPos));
sal_Bool bAddHint = sal_True;
switch ( nJoinType )
{
@@ -214,16 +181,16 @@ IMPL_LINK( DlgQryJoin, LBChangeHdl, ListBox*, /*pListBox*/ )
m_pConnData->ResetConnLines();
m_pTableControl->lateInit();
- m_pJoinControl->m_aCBNatural.Check(false);
+ m_pCBNatural->Check(false);
m_pTableControl->enableRelation(false);
OUString sEmpty;
m_pConnData->AppendConnLine(sEmpty,sEmpty);
- aPB_OK.Enable(true);
+ m_pPB_OK->Enable(true);
}
break;
}
- m_pJoinControl->m_aCBNatural.Enable(eJoinType != CROSS_JOIN);
+ m_pCBNatural->Enable(eJoinType != CROSS_JOIN);
if ( eJoinType != eOldJoinType && eOldJoinType == CROSS_JOIN )
{
@@ -232,7 +199,7 @@ IMPL_LINK( DlgQryJoin, LBChangeHdl, ListBox*, /*pListBox*/ )
if ( eJoinType != CROSS_JOIN )
{
m_pTableControl->NotifyCellChange();
- NaturalToggleHdl(&m_pJoinControl->m_aCBNatural);
+ NaturalToggleHdl(m_pCBNatural);
}
m_pTableControl->Invalidate();
@@ -249,7 +216,7 @@ IMPL_LINK( DlgQryJoin, LBChangeHdl, ListBox*, /*pListBox*/ )
sHelpText += ModuleRes( STR_JOIN_TYPE_HINT );
}
- aML_HelpText.SetText( sHelpText );
+ m_pML_HelpText->SetText( sHelpText );
return 1;
}
@@ -265,7 +232,7 @@ IMPL_LINK( DlgQryJoin, OKClickHdl, Button*, /*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);
m_pTableControl->enableRelation(!bChecked);
if ( bChecked )
@@ -301,20 +268,20 @@ TTableConnectionData::value_type DlgQryJoin::getConnectionData() const
void DlgQryJoin::setValid(sal_Bool _bValid)
{
- aPB_OK.Enable(_bValid || eJoinType == CROSS_JOIN );
+ m_pPB_OK->Enable(_bValid || eJoinType == CROSS_JOIN );
}
void DlgQryJoin::notifyConnectionChange( )
{
setJoinType( static_cast<OQueryTableConnectionData*>(m_pConnData.get())->GetJoinType() );
- m_pJoinControl->m_aCBNatural.Check(static_cast<OQueryTableConnectionData*>(m_pConnData.get())->isNatural());
- NaturalToggleHdl(&m_pJoinControl->m_aCBNatural);
+ m_pCBNatural->Check(static_cast<OQueryTableConnectionData*>(m_pConnData.get())->isNatural());
+ NaturalToggleHdl(m_pCBNatural);
}
void DlgQryJoin::setJoinType(EJoinType _eNewJoinType)
{
eJoinType = _eNewJoinType;
- m_pJoinControl->m_aCBNatural.Enable(eJoinType != CROSS_JOIN);
+ m_pCBNatural->Enable(eJoinType != CROSS_JOIN);
sal_IntPtr nJoinType = 0;
switch ( eJoinType )
@@ -337,17 +304,17 @@ void DlgQryJoin::setJoinType(EJoinType _eNewJoinType)
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)
{
- 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;
}
}
- LBChangeHdl(&m_pJoinControl->aLB_JoinType);
+ LBChangeHdl(m_pLB_JoinType);
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/dbaccess/source/ui/querydesign/querydlg.hxx b/dbaccess/source/ui/querydesign/querydlg.hxx
index eadd1b3..8891c81 100644
--- a/dbaccess/source/ui/querydesign/querydlg.hxx
+++ b/dbaccess/source/ui/querydesign/querydlg.hxx
@@ -35,17 +35,15 @@ namespace dbaui
{
class OTableListBoxControl;
class OQueryTableView;
- class OJoinControl;
class DlgQryJoin : public ModalDialog
,public IRelationControlInterface
{
protected:
- FixedText aML_HelpText;
- OKButton aPB_OK;
- CancelButton aPB_CANCEL;
- HelpButton aPB_HELP;
+ FixedText* m_pML_HelpText;
+ OKButton* m_pPB_OK;
+ ListBox* m_pLB_JoinType;
+ CheckBox* m_pCBNatural;
- OJoinControl* m_pJoinControl;
OTableListBoxControl* m_pTableControl;
OJoinTableView::OTableWindowMap* m_pTableMap;
OQueryTableView* m_pTableView;
diff --git a/dbaccess/source/ui/querydesign/querydlg.src b/dbaccess/source/ui/querydesign/querydlg.src
index 5540cb9..43d1189 100644
--- a/dbaccess/source/ui/querydesign/querydlg.src
+++ b/dbaccess/source/ui/querydesign/querydlg.src
@@ -20,138 +20,6 @@
#include "querydlg.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
{
Text [ en-US ] = "Please note that some databases may not support this join type.";
diff --git a/dbaccess/uiconfig/ui/joindialog.ui b/dbaccess/uiconfig/ui/joindialog.ui
new file mode 100644
index 0000000..650fc44
--- /dev/null
+++ b/dbaccess/uiconfig/ui/joindialog.ui
@@ -0,0 +1,366 @@
+<?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>
... etc. - the rest is truncated
More information about the Libreoffice-commits
mailing list