Line data Source code
1 : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 : /*
3 : * Version: MPL 1.1 / GPLv3+ / LGPLv3+
4 : *
5 : * The contents of this file are subject to the Mozilla Public License Version
6 : * 1.1 (the "License"); you may not use this file except in compliance with
7 : * the License or as specified alternatively below. You may obtain a copy of
8 : * the License at http://www.mozilla.org/MPL/
9 : *
10 : * Software distributed under the License is distributed on an "AS IS" basis,
11 : * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
12 : * for the specific language governing rights and limitations under the
13 : * License.
14 : *
15 : * Major Contributor(s):
16 : * [ Copyright (C) 2012 Julien Levesy <jlevesy@gmail.com> (initial developer) ]
17 : *
18 : * All Rights Reserved.
19 : *
20 : * For minor contributions see the git repository.
21 : *
22 : * Alternatively, the contents of this file may be used under the terms of
23 : * either the GNU General Public License Version 3 or later (the "GPLv3+"), or
24 : * the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
25 : * in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
26 : * instead of those above.
27 : */
28 : #ifndef _PLACEEDITDIALOG_HXX
29 : #define _PLACEEDITDIALOG_HXX
30 :
31 : #include "ServerDetailsControls.hxx"
32 :
33 : #include <vcl/button.hxx>
34 : #include <vcl/dialog.hxx>
35 : #include <vcl/edit.hxx>
36 : #include <vcl/fixed.hxx>
37 : #include <vcl/lstbox.hxx>
38 :
39 : #include <svtools/inettbc.hxx>
40 : #include <svtools/place.hxx>
41 :
42 : #include <boost/shared_ptr.hpp>
43 : #include <vector>
44 :
45 : class SVT_DLLPUBLIC PlaceEditDialog : public ModalDialog
46 : {
47 : private :
48 :
49 : Edit* m_pEDServerName;
50 : ListBox* m_pLBServerType;
51 : boost::shared_ptr< DetailsContainer > m_pCurrentDetails;
52 :
53 : Edit* m_pEDUsername;
54 : OKButton* m_pBTOk;
55 : CancelButton* m_pBTCancel;
56 :
57 : PushButton* m_pBTDelete;
58 :
59 : /** Vector holding the details UI control for each server type.
60 :
61 : The elements in this vector need to match the order in the type listbox, e.g.
62 : the m_aDetailsContainer[0] will be shown for the type corresponding to entry 0
63 : in the listbox.
64 : */
65 : std::vector< boost::shared_ptr< DetailsContainer > > m_aDetailsContainers;
66 :
67 : public :
68 :
69 : PlaceEditDialog( Window* pParent);
70 : PlaceEditDialog(Window* pParent, const boost::shared_ptr<Place> &pPlace );
71 : ~PlaceEditDialog();
72 :
73 : // Returns a place instance with given informations
74 : boost::shared_ptr<Place> GetPlace();
75 :
76 0 : rtl::OUString GetServerName() { return m_pEDServerName->GetText(); }
77 : rtl::OUString GetServerUrl();
78 :
79 : private:
80 :
81 : void InitDetails( );
82 :
83 : DECL_LINK ( OKHdl, Button * );
84 : DECL_LINK ( DelHdl, Button * );
85 : DECL_LINK ( EditHdl, void * );
86 : DECL_LINK ( SelectTypeHdl, void * );
87 : DECL_LINK ( EditUsernameHdl, void * );
88 :
89 : };
90 :
91 : #endif //_PLACEEDITDIALOG_HXX
92 : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|