Kaydet (Commit) 923fd811 authored tarafından Ocke Janssen's avatar Ocke Janssen

querydesign

üst e66b25ae
/*************************************************************************
*
* $RCSfile: JoinTableView.hxx,v $
*
* $Revision: 1.1 $
*
* last change: $Author: oj $ $Date: 2001-02-05 09:09:58 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
*
* - GNU Lesser General Public License Version 2.1
* - Sun Industry Standards Source License Version 1.1
*
* Sun Microsystems Inc., October, 2000
*
* GNU Lesser General Public License Version 2.1
* =============================================
* Copyright 2000 by Sun Microsystems, Inc.
* 901 San Antonio Road, Palo Alto, CA 94303, USA
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License version 2.1, as published by the Free Software Foundation.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
*
*
* Sun Industry Standards Source License Version 1.1
* =================================================
* The contents of this file are subject to the Sun Industry Standards
* Source License Version 1.1 (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.openoffice.org/license.html.
*
* Software provided under this License is provided on an AS IS basis,
* WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
* WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
* MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
* See the License for the specific provisions governing your rights and
* obligations concerning the Software.
*
* The Initial Developer of the Original Code is: Sun Microsystems, Inc.
*
* Copyright: 2000 by Sun Microsystems, Inc.
*
* All Rights Reserved.
*
* Contributor(s): _______________________________________
*
*
************************************************************************/
#ifndef DBAUI_JOINTABLEVIEW_HXX
#define DBAUI_JOINTABLEVIEW_HXX
#ifndef _SV_WINDOW_HXX
#include <vcl/window.hxx>
#endif
#ifndef _SV_TIMER_HXX
#include <vcl/timer.hxx>
#endif
#ifndef _SV_SCRBAR_HXX
#include <vcl/scrbar.hxx>
#endif
#ifndef _RTTI_HXX
#include <tools/rtti.hxx>
#endif
#ifndef _VECTOR_
#include <vector>
#endif
#ifndef _COMPHELPER_STLTYPES_HXX_
#include <comphelper/stl_types.hxx>
#endif
namespace dbaui
{
class OTableConnection;
class OTableWindow;
struct OJoinExchangeData;
class OQueryDesignView;
////////////////////////////////////////////////////////////////
// Konstanten fuer das Fensterlayout
const long TABWIN_SPACING_X = 17;
const long TABWIN_SPACING_Y = 17;
const long TABWIN_WIDTH_STD = 120;
const long TABWIN_HEIGHT_STD = 120;
const long TABWIN_WIDTH_MIN = 90;
const long TABWIN_HEIGHT_MIN = 80;
// this class conatins only the scrollbars to avoid that the tablewindows clip the scrollbars
class OJoinTableView;
class OScrollWindowHelper : public Window
{
ScrollBar m_aHScrollBar;
ScrollBar m_aVScrollBar;
OJoinTableView* m_pTableView;
protected:
virtual void Resize();
public:
OScrollWindowHelper( Window* pParent);
void setTableView(OJoinTableView* _pTableView);
// own methods
ScrollBar* GetHScrollBar() { return &m_aHScrollBar; }
ScrollBar* GetVScrollBar() { return &m_aVScrollBar; }
};
class OJoinTableView : public Window
{
public:
DECLARE_STL_USTRINGACCESS_MAP(OTableWindow*,OTableWindowMap);
private:
OTableWindowMap m_aTableMap;
::std::vector<OTableConnection*> m_vTableConnection;
Timer m_aDragScrollTimer;
Rectangle m_aDragRect;
Rectangle m_aSizingRect;
Point m_aDragOffset;
Point m_aScrollOffset;
Point m_ptPrevDraggingPos;
Size m_aOutputSize;
OTableWindow* m_pDragWin;
OTableWindow* m_pSizingWin;
OTableConnection* m_pSelectedConn;
BOOL m_bTrackingInitiallyMoved;
DECL_LINK(OnDragScrollTimer, void*);
protected:
OTableWindow* m_pLastFocusTabWin;
OQueryDesignView* m_pView;
public:
TYPEINFO();
OJoinTableView( Window* pParent, OQueryDesignView* pView );
virtual ~OJoinTableView();
// window override
virtual void StateChanged( StateChangedType nStateChange );
// own methods
ScrollBar* GetHScrollBar() { return static_cast<OScrollWindowHelper*>(GetParent())->GetHScrollBar(); }
ScrollBar* GetVScrollBar() { return static_cast<OScrollWindowHelper*>(GetParent())->GetVScrollBar(); }
DECL_LINK( ScrollHdl, ScrollBar* );
void DrawConnections( const Rectangle& rRect );
void InvalidateConnections();
void BeginChildMove( OTableWindow* pTabWin, const Point& rMousePos );
void BeginChildSizing( OTableWindow* pTabWin, const Pointer& rPointer );
void NotifyTitleClicked( OTableWindow* pTabWin, const Point rMousePos );
virtual void AddTabWin(const String& _rComposedName, const String& rWinName, BOOL bNewTable = FALSE);
virtual void RemoveTabWin( OTableWindow* pTabWin );
virtual void AddConnection(const OJoinExchangeData& jxdSource, const OJoinExchangeData& jxdDest);
virtual BOOL RemoveConnection(OTableConnection* pConn);
BOOL Scroll( long nDelta, BOOL bHoriz, BOOL bPaintScrollBars );
ULONG GetTabWinCount();
Point GetScrollOffset() const { return m_aScrollOffset; }
OQueryDesignView* getDesignView() { return m_pView; }
OTableWindow* GetWindow( const String& rName );
OTableConnection* GetSelectedConn() { return m_pSelectedConn; }
void DeselectConn(OTableConnection* pConn); // NULL ist ausdruecklich zugelassen, dann passiert nichts
void SelectConn(OTableConnection* pConn);
OTableWindowMap* GetTabWinMap() { return &m_aTableMap; }
const OTableWindowMap* GetTabWinMap() const { return &m_aTableMap; }
::std::vector<OTableConnection*>* GetTabConnList() { return &m_vTableConnection; }
// ::std::vector<OTableConnection*>* GetTabConnList() const { return &m_vTableConnection; }
BOOL ExistsAConn(const OTableWindow* pFromWin) const;
OTableConnection* GetTabConn(OTableWindow* pLhs,OTableWindow* pRhs, OTableConnection* _rpFirstAfter = NULL);
// set the focus to that tab win which most recently had it (or to the first available one)
void GrabTabWinFocus();
// ReSync ist dazu gedacht, aus dem Dokument alle WinData und ConnData zu holen und entsprechend Wins und Conns anzulegen
virtual void ReSync() { }
// ClearAll implementiert ein hartes Loeschen, es werden alle Conns und alle Wins aus ihren jeweiligen Listen geloescht
// sowie die entsprechenden Datas aus dem Dokument ausgetragen
virtual void ClearAll();
// wird vom AddTabDlg benutzt, um festzustellen, ob noch Tabellen hinzugefuegt werden duerfen
virtual BOOL IsAddAllowed();
virtual long PreNotify(NotifyEvent& rNEvt);
protected:
virtual void MouseButtonUp( const MouseEvent& rEvt );
virtual void MouseButtonDown( const MouseEvent& rEvt );
virtual void Tracking( const TrackingEvent& rTEvt );
virtual void Paint( const Rectangle& rRect );
virtual void ConnDoubleClicked( OTableConnection* pConnection );
virtual void KeyInput( const KeyEvent& rEvt );
virtual void SetDefaultTabWinPosSize( OTableWindow* pTabWin );
virtual void DataChanged( const DataChangedEvent& rDCEvt );
virtual void Resize();
virtual BOOL Drop( const DropEvent& rEvt );
virtual BOOL QueryDrop( DropEvent& rEvt );
// wird nach Verschieben/Groessenaenderung der TabWins aufgerufen (die Standardimplementation reicht die neuen Daten einfach
// an die Daten des Wins weiter)
virtual void TabWinMoved(OTableWindow* ptWhich, const Point& ptOldPosition);
// die Position ist "virtuell" : der Container hat sozusagen eine virtuelle Flaeche, von der immer nur ein bestimmter Bereich
// - der mittels der Scrollbar veraendert werden kann - zu sehen ist. Insbesondere hat ptOldPosition immer positive Koordinaten,
// auch wenn er einen Punkt oberhalb des aktuell sichtbaren Bereichs bezeichnet, dessen physische Ordinate eigentlich
// negativ ist.
virtual void TabWinSized(OTableWindow* ptWhich, const Point& ptOldPosition, const Size& szOldSize);
// hier ist die Position (die sich waehrend des Sizings aendern kann) physisch, da waehrend des Sizens nicht gescrollt wird
virtual void Command(const CommandEvent& rEvt);
virtual void EnsureVisible(const OTableWindow* _pWin);
private:
void InitColors();
BOOL ScrollWhileDragging();
};
}
#endif // DBAUI_JOINTABLEVIEW_HXX
/*************************************************************************
*
* $RCSfile: QEnumTypes.hxx,v $
*
* $Revision: 1.1 $
*
* last change: $Author: oj $ $Date: 2001-02-05 09:10:26 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
*
* - GNU Lesser General Public License Version 2.1
* - Sun Industry Standards Source License Version 1.1
*
* Sun Microsystems Inc., October, 2000
*
* GNU Lesser General Public License Version 2.1
* =============================================
* Copyright 2000 by Sun Microsystems, Inc.
* 901 San Antonio Road, Palo Alto, CA 94303, USA
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License version 2.1, as published by the Free Software Foundation.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
*
*
* Sun Industry Standards Source License Version 1.1
* =================================================
* The contents of this file are subject to the Sun Industry Standards
* Source License Version 1.1 (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.openoffice.org/license.html.
*
* Software provided under this License is provided on an AS IS basis,
* WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
* WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
* MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
* See the License for the specific provisions governing your rights and
* obligations concerning the Software.
*
* The Initial Developer of the Original Code is: Sun Microsystems, Inc.
*
* Copyright: 2000 by Sun Microsystems, Inc.
*
* All Rights Reserved.
*
* Contributor(s): _______________________________________
*
*
************************************************************************/
#ifndef DBAUI_ENUMTYPES_HXX
#define DBAUI_ENUMTYPES_HXX
namespace dbaui
{
enum EOrderDir
{
ORDER_NONE=0,
ORDER_ASC,
ORDER_DESC
};
enum EFunctionType
{
FKT_AGGREGATE=0,
FKT_OTHER ,
FKT_NONE ,
FKT_CONDITION // wenn dieser Fkt.Typ gesetzt handelt es sich um EXISTS oder UNIQUE, der FieldName enthält das gesamte Statement
};
enum EConnectionSide
{
JTCS_FROM=0,
JTCS_TO
};
enum ETableFieldType
{
TAB_NORMAL_FIELD=0,
TAB_PRIMARY_FIELD
};
enum EJoinType
{
FULL_JOIN=0,
LEFT_JOIN,
RIGHT_JOIN,
NATURAL_JOIN,
UNION_JOIN,
CROSS_JOIN,
INNER_JOIN
};
}
#endif // DBAUI_ENUMTYPES_HXX
This diff is collapsed.
/*************************************************************************
*
* $RCSfile: QueryTableView.hxx,v $
*
* $Revision: 1.1 $
*
* last change: $Author: oj $ $Date: 2001-02-05 09:10:06 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
*
* - GNU Lesser General Public License Version 2.1
* - Sun Industry Standards Source License Version 1.1
*
* Sun Microsystems Inc., October, 2000
*
* GNU Lesser General Public License Version 2.1
* =============================================
* Copyright 2000 by Sun Microsystems, Inc.
* 901 San Antonio Road, Palo Alto, CA 94303, USA
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License version 2.1, as published by the Free Software Foundation.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
*
*
* Sun Industry Standards Source License Version 1.1
* =================================================
* The contents of this file are subject to the Sun Industry Standards
* Source License Version 1.1 (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.openoffice.org/license.html.
*
* Software provided under this License is provided on an AS IS basis,
* WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
* WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
* MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
* See the License for the specific provisions governing your rights and
* obligations concerning the Software.
*
* The Initial Developer of the Original Code is: Sun Microsystems, Inc.
*
* Copyright: 2000 by Sun Microsystems, Inc.
*
* All Rights Reserved.
*
* Contributor(s): _______________________________________
*
*
************************************************************************/
#ifndef DBAUI_QUERYTABLEVIEW_HXX
#define DBAUI_QUERYTABLEVIEW_HXX
#ifndef DBAUI_JOINTABLEVIEW_HXX
#include "JoinTableView.hxx"
#endif
#ifndef _COM_SUN_STAR_CONTAINER_XNAMEACCESS_HPP_
#include <com/sun/star/container/XNameAccess.hpp>
#endif
namespace dbaui
{
struct TabWinsChangeNotification
{
enum ACTION_TYPE { AT_ADDED_WIN, AT_REMOVED_WIN };
ACTION_TYPE atActionPerformed;
String strAffectedTable;
TabWinsChangeNotification(ACTION_TYPE at, const String& str) : atActionPerformed(at), strAffectedTable(str) { }
};
//========================================================================
class OTableFieldDesc;
class OQueryTabWinUndoAct;
class OQueryTabConnUndoAction;
class OQueryTableConnection;
class OQueryTableWindow;
class OQueryTableView : public OJoinTableView
{
Link m_lnkTabWinsChangeHandler;
void addConnections(const OQueryTableWindow* _pSource,const OQueryTableWindow* _pDest,const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess>& _rxForeignKeyColumns);
protected:
virtual void ConnDoubleClicked(OTableConnection* pConnection);
virtual void KeyInput(const KeyEvent& rEvt);
// wird nach Verschieben/Groessenaenderung der TabWins aufgerufen (die Standardimplementation reicht die neuen Daten einfach
// an die Daten des Wins weiter)
virtual void TabWinMoved(OTableWindow* pWhich, const Point& ptOldPosition);
virtual void TabWinSized(OTableWindow* ptWhich, const Point& ptOldPosition, const Size& szOldSize);
public:
TYPEINFO();
OQueryTableView(Window* pParent,OQueryDesignView* pView);
virtual ~OQueryTableView();
// Basisklasse ueberschrieben : Fenster kreieren und loeschen
// (eigentlich nicht wirklich LOESCHEN, es geht in die Verantwortung einer UNDO-Action ueber)
virtual void AddTabWin(const String& strDatabase, const String& strTableName, BOOL bNewTable = FALSE);
virtual void RemoveTabWin(OTableWindow* pTabWin);
// und ein AddTabWin, das einen Alias vorgibt
void AddTabWin(const String& strDatabase, const String& strTableName, const String& strAlias, BOOL bNewTable = FALSE);
// Fenster an Hand des AliasNamen loeschen (zieht sich natuerlich auf voriges RemoveTabWin zurueck)
BOOL RemoveTabWin(const String& rAliasName);
// TabWin suchen
OQueryTableWindow* FindTable(const String& rAliasName);
BOOL FindTableFromField(const String& rFieldName, OTableFieldDesc& rInfo, USHORT& rCnt);
// Basisklasse ueberschrieben : Connections kreieren und loeschen
virtual void AddConnection(const OJoinExchangeData& jxdSource, const OJoinExchangeData& jxdDest);
virtual BOOL RemoveConnection(OTableConnection* pConn);
// Transfer von Connections von/zu einer UndoAction
void GetConnection(OQueryTableConnection* pConn);
// Einfuegen einer Connection in meine Struktur
void DropConnection(OQueryTableConnection* pConn);
// Entfernen einer Connection aus meiner Struktur
// alle TabWins verstecken (NICHT loeschen, sie werden in eine Undo-Action gepackt)
void HideTabWins();
// das resultiert effektiv in einem voelligen Leeren des Abfrageentwurfs, da alle Fenster versteckt werden, und dabei
// natuerlich alle Connections an diesen Fenstern und alle Abfrage-Spalten, die auf diesen Tabellen basierten.
// TabWin anzeigen oder verstecken (NICHT kreieren oder loeschen)
BOOL ShowTabWin(OQueryTableWindow* pTabWin, OQueryTabWinUndoAct* pUndoAction);
void HideTabWin(OQueryTableWindow* pTabWin, OQueryTabWinUndoAct* pUndoAction);
// Sichbarkeit eines TabWins sicherstellen (+ Invalidieren der Connections)
void EnsureVisible(const OTableWindow* _pWin);
// wieviel Tabellen mit einem bestimmten Namen habe ich schon ?
USHORT CountTableAlias(const String& rName, USHORT& rMax);
// ein Feld einfuegen (wird einfach an das Elter weitergereicht
void InsertField(const OTableFieldDesc& rInfo);
// alles (TabWins, Connections) neu aufbauen (PRECONDITION : vorher wurde ClearAll gerufen)
virtual void ReSync();
// alles (TabWins, Connections) loeschen, und zwar hart, es erfolgen also keinerlei Notifications
virtual void ClearAll();
// wird vom AddTabDlg benutzt, um festzustellen, ob noch Tabellen hinzugefuegt werden duerfen
//virtual BOOL IsAddAllowed();
// eine neu Connection bekanntgeben und einfuegen lassen, wenn nicht schon existent
void NotifyTabConnection(const OQueryTableConnection& rNewConn, BOOL _bCreateUndoAction = TRUE);
// fuer Droppen von Tabellen
BOOL Drop(const DropEvent& rEvt);
BOOL QueryDrop(DropEvent& rEvt);
Link SetTabWinsChangeHandler(const Link& lnk) { Link lnkRet = m_lnkTabWinsChangeHandler; m_lnkTabWinsChangeHandler = lnk; return lnkRet; }
// der Handler bekommt einen Zeiger auf eine TabWinsChangeNotification-Struktur
BOOL ExistsAVisitedConn(const OQueryTableWindow* pFrom) const;
};
}
#endif // DBAUI_QUERYTABLEVIEW_HXX
/*************************************************************************
*
* $RCSfile: QueryViewSwitch.hxx,v $
*
* $Revision: 1.1 $
*
* last change: $Author: oj $ $Date: 2001-02-05 09:10:14 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
*
* - GNU Lesser General Public License Version 2.1
* - Sun Industry Standards Source License Version 1.1
*
* Sun Microsystems Inc., October, 2000
*
* GNU Lesser General Public License Version 2.1
* =============================================
* Copyright 2000 by Sun Microsystems, Inc.
* 901 San Antonio Road, Palo Alto, CA 94303, USA
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License version 2.1, as published by the Free Software Foundation.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
*
*
* Sun Industry Standards Source License Version 1.1
* =================================================
* The contents of this file are subject to the Sun Industry Standards
* Source License Version 1.1 (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.openoffice.org/license.html.
*
* Software provided under this License is provided on an AS IS basis,
* WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
* WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
* MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
* See the License for the specific provisions governing your rights and
* obligations concerning the Software.
*
* The Initial Developer of the Original Code is: Sun Microsystems, Inc.
*
* Copyright: 2000 by Sun Microsystems, Inc.
*
* All Rights Reserved.
*
* Contributor(s): _______________________________________
*
*
************************************************************************/
#ifndef DBAUI_QUERYVIEWSWITCH_HXX
#define DBAUI_QUERYVIEWSWITCH_HXX
#ifndef DBAUI_QUERYVIEW_HXX
#include "queryview.hxx"
#endif
namespace dbaui
{
class OQueryDesignView;
class OQueryTextView;
class OAddTableDlg;
class OQueryViewSwitch : public OQueryView
{
OQueryDesignView* m_pDesignView;
OQueryTextView* m_pTextView;
public:
OQueryViewSwitch(Window* pParent, OQueryController* _pController,const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& );
virtual ~OQueryViewSwitch();
virtual sal_Bool isCutAllowed();
virtual void copy();
virtual void cut();
virtual void paste();
// clears the whole query
virtual void clear();
// set the view readonly or not
virtual void setReadOnly(sal_Bool _bReadOnly);
// set the statement for representation
virtual void setStatement(const ::rtl::OUString& _rsStatement);
// returns the current sql statement
virtual ::rtl::OUString getStatement();
/// late construction
virtual void Construct(const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControlModel >& xModel);
virtual void initialize();
// show the text or the design view
void switchView();
sal_Bool isSlotEnabled(sal_Int32 _nSlotId);
void setSlotEnabled(sal_Int32 _nSlotId,sal_Bool _bEnable);
// returs the add table dialog from the design view
OAddTableDlg* getAddTableDialog();
BOOL IsAddAllowed();
void zoomTableView(const Fraction& _rFraction);
protected:
// return the Rectangle where I can paint myself
virtual void resizeControl(Rectangle& rRect);
};
}
#endif // DBAUI_QUERYVIEWSWITCH_HXX
/*************************************************************************
*
* $RCSfile: adtabdlg.hxx,v $
*
* $Revision: 1.1 $
*
* last change: $Author: oj $ $Date: 2001-02-05 09:09:42 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
*
* - GNU Lesser General Public License Version 2.1
* - Sun Industry Standards Source License Version 1.1
*
* Sun Microsystems Inc., October, 2000
*
* GNU Lesser General Public License Version 2.1
* =============================================
* Copyright 2000 by Sun Microsystems, Inc.
* 901 San Antonio Road, Palo Alto, CA 94303, USA
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License version 2.1, as published by the Free Software Foundation.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
*
*
* Sun Industry Standards Source License Version 1.1
* =================================================
* The contents of this file are subject to the Sun Industry Standards
* Source License Version 1.1 (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.openoffice.org/license.html.
*
* Software provided under this License is provided on an AS IS basis,
* WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
* WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
* MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
* See the License for the specific provisions governing your rights and
* obligations concerning the Software.
*
* The Initial Developer of the Original Code is: Sun Microsystems, Inc.
*
* Copyright: 2000 by Sun Microsystems, Inc.
*
* All Rights Reserved.
*
* Contributor(s): _______________________________________
*
*
************************************************************************/
#ifndef DBAUI_QYDLGTAB_HXX
#define DBAUI_QYDLGTAB_HXX
#ifndef _DIALOG_HXX //autogen
#include <vcl/dialog.hxx>
#endif
#ifndef _GROUP_HXX //autogen
#include <vcl/group.hxx>
#endif
#ifndef _BUTTON_HXX //autogen
#include <vcl/button.hxx>
#endif
#ifndef _FIXED_HXX //autogen
#include <vcl/fixed.hxx>
#endif
#ifndef _LSTBOX_HXX //autogen
#include <vcl/lstbox.hxx>
#endif
#ifndef _SV_DIALOG_HXX
#include <vcl/dialog.hxx>
#endif
#ifndef _STRING_HXX //autogen
#include <tools/string.hxx>
#endif
#ifndef _DBAUI_TABLETREE_HXX_
#include "tabletree.hxx"
#endif
namespace dbaui
{
//========================================================================
class OQueryTableView;
class OAddTableDlg : public ModelessDialog
{
FixedText aFTTable;
OTableTreeListBox aTableList;
PushButton aAddButton;
CancelButton aCloseButton;
HelpButton aHelpButton;
GroupBox aGroupBoxTable;
String aDefaultString;
OQueryTableView* m_pTableView;
BOOL IsAddAllowed();
void AddTable();
DECL_LINK( AddClickHdl, Button* );
DECL_LINK( CloseClickHdl, Button* );
DECL_LINK( TableListDoubleClickHdl, ListBox* );
public:
OAddTableDlg(Window* pParent);
virtual ~OAddTableDlg();
virtual BOOL Close();
void DetermineAddTable() { aAddButton.Enable( IsAddAllowed() ); }
void Update();
protected:
void UpdateTableList(BOOL bViewsAllowed);
};
}
#endif // DBAUI_QYDLGTAB_HXX
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