1 /************************************************************** 2 * 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, 14 * software distributed under the License is distributed on an 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 * KIND, either express or implied. See the License for the 17 * specific language governing permissions and limitations 18 * under the License. 19 * 20 *************************************************************/ 21 22 23 24 // MARKER(update_precomp.py): autogen include statement, do not remove 25 #include "precompiled_sc.hxx" 26 27 #undef SC_DLLIMPLEMENTATION 28 29 30 31 //------------------------------------------------------------------ 32 33 #include "delcodlg.hxx" 34 #include "scresid.hxx" 35 #include "miscdlgs.hrc" 36 37 38 //================================================================== 39 40 sal_Bool ScDeleteContentsDlg::bPreviousAllCheck = sal_False; 41 sal_uInt16 ScDeleteContentsDlg::nPreviousChecks = (IDF_DATETIME | IDF_STRING | 42 IDF_NOTE | IDF_FORMULA | 43 IDF_VALUE); 44 45 //----------------------------------------------------------------------- 46 47 ScDeleteContentsDlg::ScDeleteContentsDlg( Window* pParent, 48 sal_uInt16 nCheckDefaults ) : 49 ModalDialog ( pParent, ScResId( RID_SCDLG_DELCONT ) ), 50 // 51 aFlFrame ( this, ScResId( FL_FRAME ) ), 52 aBtnDelAll ( this, ScResId( BTN_DELALL ) ), 53 aBtnDelStrings ( this, ScResId( BTN_DELSTRINGS ) ), 54 aBtnDelNumbers ( this, ScResId( BTN_DELNUMBERS ) ), 55 aBtnDelDateTime ( this, ScResId( BTN_DELDATETIME ) ), 56 aBtnDelFormulas ( this, ScResId( BTN_DELFORMULAS ) ), 57 aBtnDelNotes ( this, ScResId( BTN_DELNOTES ) ), 58 aBtnDelAttrs ( this, ScResId( BTN_DELATTRS ) ), 59 aBtnDelObjects ( this, ScResId( BTN_DELOBJECTS ) ), 60 aBtnOk ( this, ScResId( BTN_OK ) ), 61 aBtnCancel ( this, ScResId( BTN_CANCEL ) ), 62 aBtnHelp ( this, ScResId( BTN_HELP ) ), 63 bObjectsDisabled( sal_False ) 64 { 65 if ( nCheckDefaults != 0 ) 66 { 67 ScDeleteContentsDlg::nPreviousChecks = nCheckDefaults; 68 ScDeleteContentsDlg::bPreviousAllCheck = sal_False; 69 } 70 71 aBtnDelAll.Check ( ScDeleteContentsDlg::bPreviousAllCheck ); 72 aBtnDelStrings.Check ( IS_SET( IDF_STRING, 73 ScDeleteContentsDlg::nPreviousChecks ) ); 74 aBtnDelNumbers.Check ( IS_SET( IDF_VALUE, 75 ScDeleteContentsDlg::nPreviousChecks ) ); 76 aBtnDelDateTime.Check( IS_SET( IDF_DATETIME, 77 ScDeleteContentsDlg::nPreviousChecks ) ); 78 aBtnDelFormulas.Check( IS_SET( IDF_FORMULA, 79 ScDeleteContentsDlg::nPreviousChecks ) ); 80 aBtnDelNotes.Check ( IS_SET( IDF_NOTE, 81 ScDeleteContentsDlg::nPreviousChecks ) ); 82 aBtnDelAttrs.Check ( IS_SET( IDF_ATTRIB, 83 ScDeleteContentsDlg::nPreviousChecks ) ); 84 aBtnDelObjects.Check ( IS_SET( IDF_OBJECTS, 85 ScDeleteContentsDlg::nPreviousChecks ) ); 86 87 DisableChecks( aBtnDelAll.IsChecked() ); 88 89 aBtnDelAll.SetClickHdl( LINK( this, ScDeleteContentsDlg, DelAllHdl ) ); 90 91 //------------- 92 FreeResource(); 93 } 94 95 //------------------------------------------------------------------------ 96 97 sal_uInt16 ScDeleteContentsDlg::GetDelContentsCmdBits() const 98 { 99 ScDeleteContentsDlg::nPreviousChecks = 0; 100 101 if ( aBtnDelStrings.IsChecked() ) 102 ScDeleteContentsDlg::nPreviousChecks = IDF_STRING; 103 if ( aBtnDelNumbers.IsChecked() ) 104 ScDeleteContentsDlg::nPreviousChecks |= IDF_VALUE; 105 if ( aBtnDelDateTime.IsChecked()) 106 ScDeleteContentsDlg::nPreviousChecks |= IDF_DATETIME; 107 if ( aBtnDelFormulas.IsChecked()) 108 ScDeleteContentsDlg::nPreviousChecks |= IDF_FORMULA; 109 if ( aBtnDelNotes.IsChecked() ) 110 ScDeleteContentsDlg::nPreviousChecks |= IDF_NOTE; 111 if ( aBtnDelAttrs.IsChecked() ) 112 ScDeleteContentsDlg::nPreviousChecks |= IDF_ATTRIB; 113 if ( aBtnDelObjects.IsChecked() ) 114 ScDeleteContentsDlg::nPreviousChecks |= IDF_OBJECTS; 115 116 ScDeleteContentsDlg::bPreviousAllCheck = aBtnDelAll.IsChecked(); 117 118 return ( (ScDeleteContentsDlg::bPreviousAllCheck) 119 ? IDF_ALL 120 : ScDeleteContentsDlg::nPreviousChecks ); 121 } 122 123 //------------------------------------------------------------------------ 124 125 void ScDeleteContentsDlg::DisableChecks( sal_Bool bDelAllChecked ) 126 { 127 if ( bDelAllChecked ) 128 { 129 aBtnDelStrings.Disable(); 130 aBtnDelNumbers.Disable(); 131 aBtnDelDateTime.Disable(); 132 aBtnDelFormulas.Disable(); 133 aBtnDelNotes.Disable(); 134 aBtnDelAttrs.Disable(); 135 aBtnDelObjects.Disable(); 136 } 137 else 138 { 139 aBtnDelStrings.Enable(); 140 aBtnDelNumbers.Enable(); 141 aBtnDelDateTime.Enable(); 142 aBtnDelFormulas.Enable(); 143 aBtnDelNotes.Enable(); 144 aBtnDelAttrs.Enable(); 145 if (bObjectsDisabled) 146 aBtnDelObjects.Disable(); 147 else 148 aBtnDelObjects.Enable(); 149 } 150 } 151 152 //------------------------------------------------------------------------ 153 154 void ScDeleteContentsDlg::DisableObjects() 155 { 156 bObjectsDisabled = sal_True; 157 aBtnDelObjects.Check(sal_False); 158 aBtnDelObjects.Disable(); 159 } 160 161 //------------------------------------------------------------------------ 162 163 IMPL_LINK_INLINE_START( ScDeleteContentsDlg, DelAllHdl, void *, EMPTYARG ) 164 { 165 DisableChecks( aBtnDelAll.IsChecked() ); 166 167 return 0; 168 } 169 IMPL_LINK_INLINE_END( ScDeleteContentsDlg, DelAllHdl, void *, EMPTYARG ) 170 171 __EXPORT ScDeleteContentsDlg::~ScDeleteContentsDlg() 172 { 173 } 174 175 176 177