Line data Source code
1 : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 : /*
3 : * This file is part of the LibreOffice project.
4 : *
5 : * This Source Code Form is subject to the terms of the Mozilla Public
6 : * License, v. 2.0. If a copy of the MPL was not distributed with this
7 : * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 : *
9 : * This file incorporates work covered by the following license notice:
10 : *
11 : * Licensed to the Apache Software Foundation (ASF) under one or more
12 : * contributor license agreements. See the NOTICE file distributed
13 : * with this work for additional information regarding copyright
14 : * ownership. The ASF licenses this file to you under the Apache
15 : * License, Version 2.0 (the "License"); you may not use this file
16 : * except in compliance with the License. You may obtain a copy of
17 : * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18 : */
19 :
20 : #include <vcl/msgbox.hxx>
21 :
22 : #include <cuires.hrc>
23 :
24 : #include "dlgname.hxx"
25 : #include "defdlgname.hxx"
26 : #include <dialmgr.hxx>
27 :
28 : /*************************************************************************
29 : |*
30 : |* Dialog for editing a name
31 : |*
32 : \************************************************************************/
33 :
34 0 : SvxNameDialog::SvxNameDialog( vcl::Window* pWindow, const OUString& rName, const OUString& rDesc ) :
35 0 : ModalDialog ( pWindow, "NameDialog", "cui/ui/namedialog.ui" )
36 : {
37 0 : get(pBtnOK, "ok");
38 0 : get(pFtDescription, "description_label");
39 0 : get(pEdtName, "name_entry");
40 :
41 0 : pFtDescription->SetText( rDesc );
42 0 : pEdtName->SetText( rName );
43 0 : pEdtName->SetSelection(Selection(SELECTION_MIN, SELECTION_MAX));
44 0 : ModifyHdl(pEdtName.get());
45 0 : pEdtName->SetModifyHdl(LINK(this, SvxNameDialog, ModifyHdl));
46 0 : }
47 :
48 0 : SvxNameDialog::~SvxNameDialog()
49 : {
50 0 : disposeOnce();
51 0 : }
52 :
53 0 : void SvxNameDialog::dispose()
54 : {
55 0 : pFtDescription.clear();
56 0 : pEdtName.clear();
57 0 : pBtnOK.clear();
58 0 : ModalDialog::dispose();
59 0 : }
60 :
61 0 : IMPL_LINK_NOARG(SvxNameDialog, ModifyHdl)
62 : {
63 0 : if(aCheckNameHdl.IsSet())
64 0 : pBtnOK->Enable(aCheckNameHdl.Call(this) > 0);
65 0 : return 0;
66 : }
67 :
68 :
69 : // #i68101#
70 : // Dialog for editing Object Name
71 : // plus uniqueness-callback-linkHandler
72 :
73 0 : SvxObjectNameDialog::SvxObjectNameDialog(
74 : vcl::Window* pWindow,
75 : const OUString& rName) :
76 0 : ModalDialog ( pWindow, "ObjectNameDialog", "cui/ui/objectnamedialog.ui" )
77 : {
78 0 : get(pBtnOK, "ok");
79 0 : get(pEdtName, "object_name_entry");
80 : // set name
81 0 : pEdtName->SetText(rName);
82 :
83 : // activate name
84 0 : pEdtName->SetSelection(Selection(SELECTION_MIN, SELECTION_MAX));
85 0 : ModifyHdl(pEdtName.get());
86 0 : pEdtName->SetModifyHdl(LINK(this, SvxObjectNameDialog, ModifyHdl));
87 0 : }
88 :
89 0 : SvxObjectNameDialog::~SvxObjectNameDialog()
90 : {
91 0 : disposeOnce();
92 0 : }
93 :
94 0 : void SvxObjectNameDialog::dispose()
95 : {
96 0 : pEdtName.clear();
97 0 : pBtnOK.clear();
98 0 : ModalDialog::dispose();
99 0 : }
100 :
101 :
102 0 : IMPL_LINK_NOARG(SvxObjectNameDialog, ModifyHdl)
103 : {
104 0 : if(aCheckNameHdl.IsSet())
105 : {
106 0 : pBtnOK->Enable(aCheckNameHdl.Call(this) > 0);
107 : }
108 :
109 0 : return 0;
110 : }
111 :
112 :
113 : // #i68101#
114 : // Dialog for editing Object Title and Description
115 :
116 0 : SvxObjectTitleDescDialog::SvxObjectTitleDescDialog(
117 : vcl::Window* pWindow,
118 : const OUString& rTitle,
119 : const OUString& rDescription) :
120 0 : ModalDialog ( pWindow, "ObjectTitleDescDialog", "cui/ui/objecttitledescdialog.ui" )
121 : {
122 0 : get(pEdtTitle, "object_title_entry");
123 0 : get(pEdtDescription, "desc_entry");
124 : //lock height to initial height
125 0 : pEdtDescription->set_height_request(pEdtDescription->get_preferred_size().Height());
126 : // set title & desc
127 0 : pEdtTitle->SetText(rTitle);
128 0 : pEdtDescription->SetText(rDescription);
129 :
130 : // activate title
131 0 : pEdtTitle->SetSelection(Selection(SELECTION_MIN, SELECTION_MAX));
132 0 : }
133 :
134 0 : SvxObjectTitleDescDialog::~SvxObjectTitleDescDialog()
135 : {
136 0 : disposeOnce();
137 0 : }
138 :
139 0 : void SvxObjectTitleDescDialog::dispose()
140 : {
141 0 : pEdtTitle.clear();
142 0 : pEdtDescription.clear();
143 0 : ModalDialog::dispose();
144 0 : }
145 :
146 :
147 : /*************************************************************************
148 : |*
149 : |* dialog for cancelling, saving or adding
150 : |*
151 : \************************************************************************/
152 :
153 0 : SvxMessDialog::SvxMessDialog( vcl::Window* pWindow, const OUString& rText, const OUString& rDesc, Image* pImg )
154 : : ModalDialog(pWindow, "MessBox", "cui/ui/messbox.ui")
155 0 : , pImage(NULL)
156 : {
157 0 : get(pBtn1, "mess_box_btn1");
158 0 : get(pBtn2, "mess_box_btn2");
159 0 : get(pFtDescription, "mess_box_description");
160 0 : get(pFtImage, "mess_box_image");
161 0 : if( pImg )
162 : {
163 0 : pImage = new Image( *pImg );
164 0 : pFtImage->SetImage( *pImage );
165 0 : pFtImage->SetStyle( ( pFtImage->GetStyle()/* | WB_NOTABSTOP */) & ~WB_3DLOOK );
166 0 : pFtImage->Show();
167 : }
168 :
169 0 : SetText( rText );
170 0 : pFtDescription->SetText( rDesc );
171 :
172 0 : pBtn1->SetClickHdl( LINK( this, SvxMessDialog, Button1Hdl ) );
173 0 : pBtn2->SetClickHdl( LINK( this, SvxMessDialog, Button2Hdl ) );
174 0 : }
175 :
176 0 : SvxMessDialog::~SvxMessDialog()
177 : {
178 0 : disposeOnce();
179 0 : }
180 :
181 0 : void SvxMessDialog::dispose()
182 : {
183 0 : delete pImage;
184 0 : pImage = NULL;
185 0 : pFtDescription.clear();
186 0 : pBtn1.clear();
187 0 : pBtn2.clear();
188 0 : pFtImage.clear();
189 0 : ModalDialog::dispose();
190 0 : }
191 :
192 : /*************************************************************************/
193 :
194 0 : IMPL_LINK_NOARG(SvxMessDialog, Button1Hdl)
195 : {
196 0 : EndDialog( RET_BTN_1 );
197 0 : return 0;
198 : }
199 :
200 : /*************************************************************************/
201 :
202 0 : IMPL_LINK_NOARG(SvxMessDialog, Button2Hdl)
203 : {
204 0 : EndDialog( RET_BTN_2 );
205 0 : return 0;
206 : }
207 :
208 : /*************************************************************************/
209 :
210 0 : void SvxMessDialog::SetButtonText( sal_uInt16 nBtnId, const OUString& rNewTxt )
211 : {
212 0 : switch ( nBtnId )
213 : {
214 : case MESS_BTN_1:
215 0 : pBtn1->SetText( rNewTxt );
216 0 : break;
217 :
218 : case MESS_BTN_2:
219 0 : pBtn2->SetText( rNewTxt );
220 0 : break;
221 :
222 : default:
223 : OSL_FAIL( "Invalid button number!!!" );
224 : }
225 0 : }
226 :
227 :
228 : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|