Branch data Line data Source code
1 : : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 : : /*************************************************************************
3 : : *
4 : : * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 : : *
6 : : * Copyright 2000, 2010 Oracle and/or its affiliates.
7 : : *
8 : : * OpenOffice.org - a multi-platform office productivity suite
9 : : *
10 : : * This file is part of OpenOffice.org.
11 : : *
12 : : * OpenOffice.org is free software: you can redistribute it and/or modify
13 : : * it under the terms of the GNU Lesser General Public License version 3
14 : : * only, as published by the Free Software Foundation.
15 : : *
16 : : * OpenOffice.org is distributed in the hope that it will be useful,
17 : : * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 : : * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 : : * GNU Lesser General Public License version 3 for more details
20 : : * (a copy is included in the LICENSE file that accompanied this code).
21 : : *
22 : : * You should have received a copy of the GNU Lesser General Public License
23 : : * version 3 along with OpenOffice.org. If not, see
24 : : * <http://www.openoffice.org/license.html>
25 : : * for a copy of the LGPLv3 License.
26 : : *
27 : : ************************************************************************/
28 : :
29 : :
30 : : #undef SC_DLLIMPLEMENTATION
31 : :
32 : :
33 : :
34 : : //------------------------------------------------------------------
35 : :
36 : : #include "delcodlg.hxx"
37 : : #include "scresid.hxx"
38 : : #include "miscdlgs.hrc"
39 : :
40 : :
41 : : //==================================================================
42 : :
43 : : sal_Bool ScDeleteContentsDlg::bPreviousAllCheck = false;
44 : : sal_uInt16 ScDeleteContentsDlg::nPreviousChecks = (IDF_DATETIME | IDF_STRING |
45 : : IDF_NOTE | IDF_FORMULA |
46 : : IDF_VALUE);
47 : :
48 : : //-----------------------------------------------------------------------
49 : :
50 : 0 : ScDeleteContentsDlg::ScDeleteContentsDlg( Window* pParent,
51 : : sal_uInt16 nCheckDefaults ) :
52 : : ModalDialog ( pParent, ScResId( RID_SCDLG_DELCONT ) ),
53 : : //
54 : : aFlFrame ( this, ScResId( FL_FRAME ) ),
55 : : aBtnDelAll ( this, ScResId( BTN_DELALL ) ),
56 : : aBtnDelStrings ( this, ScResId( BTN_DELSTRINGS ) ),
57 : : aBtnDelNumbers ( this, ScResId( BTN_DELNUMBERS ) ),
58 : : aBtnDelDateTime ( this, ScResId( BTN_DELDATETIME ) ),
59 : : aBtnDelFormulas ( this, ScResId( BTN_DELFORMULAS ) ),
60 : : aBtnDelNotes ( this, ScResId( BTN_DELNOTES ) ),
61 : : aBtnDelAttrs ( this, ScResId( BTN_DELATTRS ) ),
62 : : aBtnDelObjects ( this, ScResId( BTN_DELOBJECTS ) ),
63 : : aBtnOk ( this, ScResId( BTN_OK ) ),
64 : : aBtnCancel ( this, ScResId( BTN_CANCEL ) ),
65 : : aBtnHelp ( this, ScResId( BTN_HELP ) ),
66 : 0 : bObjectsDisabled( false )
67 : : {
68 : 0 : if ( nCheckDefaults != 0 )
69 : : {
70 : 0 : ScDeleteContentsDlg::nPreviousChecks = nCheckDefaults;
71 : 0 : ScDeleteContentsDlg::bPreviousAllCheck = false;
72 : : }
73 : :
74 : 0 : aBtnDelAll.Check ( ScDeleteContentsDlg::bPreviousAllCheck );
75 : : aBtnDelStrings.Check ( IS_SET( IDF_STRING,
76 : 0 : ScDeleteContentsDlg::nPreviousChecks ) );
77 : : aBtnDelNumbers.Check ( IS_SET( IDF_VALUE,
78 : 0 : ScDeleteContentsDlg::nPreviousChecks ) );
79 : : aBtnDelDateTime.Check( IS_SET( IDF_DATETIME,
80 : 0 : ScDeleteContentsDlg::nPreviousChecks ) );
81 : : aBtnDelFormulas.Check( IS_SET( IDF_FORMULA,
82 : 0 : ScDeleteContentsDlg::nPreviousChecks ) );
83 : : aBtnDelNotes.Check ( IS_SET( IDF_NOTE,
84 : 0 : ScDeleteContentsDlg::nPreviousChecks ) );
85 : : aBtnDelAttrs.Check ( IS_SET( IDF_ATTRIB,
86 : 0 : ScDeleteContentsDlg::nPreviousChecks ) );
87 : : aBtnDelObjects.Check ( IS_SET( IDF_OBJECTS,
88 : 0 : ScDeleteContentsDlg::nPreviousChecks ) );
89 : :
90 : 0 : DisableChecks( aBtnDelAll.IsChecked() );
91 : :
92 : 0 : aBtnDelAll.SetClickHdl( LINK( this, ScDeleteContentsDlg, DelAllHdl ) );
93 : :
94 : : //-------------
95 : 0 : FreeResource();
96 : 0 : }
97 : :
98 : : //------------------------------------------------------------------------
99 : :
100 : 0 : sal_uInt16 ScDeleteContentsDlg::GetDelContentsCmdBits() const
101 : : {
102 : 0 : ScDeleteContentsDlg::nPreviousChecks = 0;
103 : :
104 : 0 : if ( aBtnDelStrings.IsChecked() )
105 : 0 : ScDeleteContentsDlg::nPreviousChecks = IDF_STRING;
106 : 0 : if ( aBtnDelNumbers.IsChecked() )
107 : 0 : ScDeleteContentsDlg::nPreviousChecks |= IDF_VALUE;
108 : 0 : if ( aBtnDelDateTime.IsChecked())
109 : 0 : ScDeleteContentsDlg::nPreviousChecks |= IDF_DATETIME;
110 : 0 : if ( aBtnDelFormulas.IsChecked())
111 : 0 : ScDeleteContentsDlg::nPreviousChecks |= IDF_FORMULA;
112 : 0 : if ( aBtnDelNotes.IsChecked() )
113 : 0 : ScDeleteContentsDlg::nPreviousChecks |= IDF_NOTE;
114 : 0 : if ( aBtnDelAttrs.IsChecked() )
115 : 0 : ScDeleteContentsDlg::nPreviousChecks |= IDF_ATTRIB;
116 : 0 : if ( aBtnDelObjects.IsChecked() )
117 : 0 : ScDeleteContentsDlg::nPreviousChecks |= IDF_OBJECTS;
118 : :
119 : 0 : ScDeleteContentsDlg::bPreviousAllCheck = aBtnDelAll.IsChecked();
120 : :
121 : : return ( (ScDeleteContentsDlg::bPreviousAllCheck)
122 : : ? IDF_ALL
123 : 0 : : ScDeleteContentsDlg::nPreviousChecks );
124 : : }
125 : :
126 : : //------------------------------------------------------------------------
127 : :
128 : 0 : void ScDeleteContentsDlg::DisableChecks( sal_Bool bDelAllChecked )
129 : : {
130 : 0 : if ( bDelAllChecked )
131 : : {
132 : 0 : aBtnDelStrings.Disable();
133 : 0 : aBtnDelNumbers.Disable();
134 : 0 : aBtnDelDateTime.Disable();
135 : 0 : aBtnDelFormulas.Disable();
136 : 0 : aBtnDelNotes.Disable();
137 : 0 : aBtnDelAttrs.Disable();
138 : 0 : aBtnDelObjects.Disable();
139 : : }
140 : : else
141 : : {
142 : 0 : aBtnDelStrings.Enable();
143 : 0 : aBtnDelNumbers.Enable();
144 : 0 : aBtnDelDateTime.Enable();
145 : 0 : aBtnDelFormulas.Enable();
146 : 0 : aBtnDelNotes.Enable();
147 : 0 : aBtnDelAttrs.Enable();
148 : 0 : if (bObjectsDisabled)
149 : 0 : aBtnDelObjects.Disable();
150 : : else
151 : 0 : aBtnDelObjects.Enable();
152 : : }
153 : 0 : }
154 : :
155 : : //------------------------------------------------------------------------
156 : :
157 : 0 : void ScDeleteContentsDlg::DisableObjects()
158 : : {
159 : 0 : bObjectsDisabled = sal_True;
160 : 0 : aBtnDelObjects.Check(false);
161 : 0 : aBtnDelObjects.Disable();
162 : 0 : }
163 : :
164 : : //------------------------------------------------------------------------
165 : :
166 : 0 : IMPL_LINK_NOARG_INLINE_START(ScDeleteContentsDlg, DelAllHdl)
167 : : {
168 : 0 : DisableChecks( aBtnDelAll.IsChecked() );
169 : :
170 : 0 : return 0;
171 : : }
172 : 0 : IMPL_LINK_NOARG_INLINE_END(ScDeleteContentsDlg, DelAllHdl)
173 : :
174 : 0 : ScDeleteContentsDlg::~ScDeleteContentsDlg()
175 : : {
176 : 0 : }
177 : :
178 : :
179 : :
180 : : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|