| /************************************************************** |
| * |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| * |
| *************************************************************/ |
| |
| |
| |
| // MARKER(update_precomp.py): autogen include statement, do not remove |
| #include "precompiled_sc.hxx" |
| |
| // System - Includes --------------------------------------------------------- |
| |
| |
| |
| // INCLUDE ------------------------------------------------------------------- |
| |
| #include "global.hxx" |
| #include "reffact.hxx" |
| #include "document.hxx" |
| #include "docfunc.hxx" |
| #include "scresid.hxx" |
| #include "globstr.hrc" |
| #include "namedlg.hrc" |
| |
| #define _NAMEDLG_CXX |
| #include "namedlg.hxx" |
| #undef _NAMEDLG_CXX |
| #include <vcl/msgbox.hxx> |
| |
| |
| |
| // defines ------------------------------------------------------------------- |
| |
| #define ABS_SREF SCA_VALID \ |
| | SCA_COL_ABSOLUTE | SCA_ROW_ABSOLUTE | SCA_TAB_ABSOLUTE |
| #define ABS_DREF ABS_SREF \ |
| | SCA_COL2_ABSOLUTE | SCA_ROW2_ABSOLUTE | SCA_TAB2_ABSOLUTE |
| #define ABS_SREF3D ABS_SREF | SCA_TAB_3D |
| #define ABS_DREF3D ABS_DREF | SCA_TAB_3D |
| |
| const sal_uInt16 SHEETNAMEPOS = 33; |
| |
| //============================================================================ |
| // Hilfsklasse: Merken der aktuellen Bereichsoptionen, |
| // wenn ein Name in der ComboBox gefunden wird. |
| |
| struct SaveData |
| { |
| SaveData() |
| : bCriteria(sal_False),bPrintArea(sal_False), |
| bColHeader(sal_False),bRowHeader(sal_False), |
| bDirty(sal_False) {} |
| |
| void Clear() |
| { |
| aStrSymbol.Erase(); |
| bCriteria = bPrintArea = |
| bColHeader = bRowHeader = sal_False; |
| bDirty = sal_True; |
| } |
| |
| String aStrSymbol; |
| sal_Bool bCriteria:1; |
| sal_Bool bPrintArea:1; |
| sal_Bool bColHeader:1; |
| sal_Bool bRowHeader:1; |
| sal_Bool bDirty:1; |
| }; |
| |
| static SaveData* pSaveObj = NULL; |
| |
| #define SAVE_DATA() \ |
| pSaveObj->aStrSymbol = aEdAssign.GetText(); \ |
| pSaveObj->bCriteria = aBtnCriteria.IsChecked(); \ |
| pSaveObj->bPrintArea = aBtnPrintArea.IsChecked(); \ |
| pSaveObj->bColHeader = aBtnColHeader.IsChecked(); \ |
| pSaveObj->bRowHeader = aBtnRowHeader.IsChecked(); \ |
| pSaveObj->bDirty = sal_True; |
| |
| #define RESTORE_DATA() \ |
| if ( pSaveObj->bDirty ) \ |
| { \ |
| aEdAssign.SetText( pSaveObj->aStrSymbol ); \ |
| aBtnCriteria.Check( pSaveObj->bCriteria ); \ |
| aBtnPrintArea.Check( pSaveObj->bPrintArea ); \ |
| aBtnColHeader.Check( pSaveObj->bColHeader ); \ |
| aBtnRowHeader.Check( pSaveObj->bRowHeader ); \ |
| pSaveObj->bDirty = sal_False; \ |
| } |
| |
| #define ERRORBOX(s) ErrorBox(this,WinBits(WB_OK|WB_DEF_OK),s).Execute(); |
| |
| |
| //============================================================================ |
| // class ScNameDlg |
| |
| //---------------------------------------------------------------------------- |
| |
| ScNameDlg::ScNameDlg( SfxBindings* pB, SfxChildWindow* pCW, Window* pParent, |
| ScViewData* ptrViewData, |
| const ScAddress& aCursorPos ) |
| |
| : ScAnyRefDlg ( pB, pCW, pParent, RID_SCDLG_NAMES ), |
| // |
| aFlName ( this, ScResId( FL_NAME ) ), |
| aEdName ( this, ScResId( ED_NAME ) ), |
| aLBNames ( this, ScResId( LB_NAMES ) ), |
| // |
| aFlAssign ( this, ScResId( FL_ASSIGN ) ), |
| aEdAssign ( this, this, ScResId( ED_ASSIGN ) ), |
| aRbAssign ( this, ScResId( RB_ASSIGN ), &aEdAssign, this ), |
| // |
| aFlType ( this, ScResId( FL_TYPE ) ), |
| aBtnPrintArea ( this, ScResId( BTN_PRINTAREA ) ), |
| aBtnColHeader ( this, ScResId( BTN_COLHEADER ) ), |
| aBtnCriteria ( this, ScResId( BTN_CRITERIA ) ), |
| aBtnRowHeader ( this, ScResId( BTN_ROWHEADER ) ), |
| // |
| aBtnOk ( this, ScResId( BTN_OK ) ), |
| aBtnCancel ( this, ScResId( BTN_CANCEL ) ), |
| aBtnHelp ( this, ScResId( BTN_HELP ) ), |
| aBtnAdd ( this, ScResId( BTN_ADD ) ), |
| aBtnRemove ( this, ScResId( BTN_REMOVE ) ), |
| aBtnMore ( this, ScResId( BTN_MORE ) ), |
| // |
| bSaved (sal_False), |
| aStrAdd ( ScResId( STR_ADD ) ), |
| aStrModify ( ScResId( STR_MODIFY ) ), |
| errMsgInvalidSym( ScResId( STR_INVALIDSYMBOL ) ), |
| // |
| pViewData ( ptrViewData ), |
| pDoc ( ptrViewData->GetDocument() ), |
| aLocalRangeName ( *(pDoc->GetRangeName()) ), |
| theCursorPos ( aCursorPos ), // zum Berechnen der Referenzen |
| aSelectedRangeScope(MAXTABCOUNT) |
| { |
| pSaveObj = new SaveData; |
| Init(); |
| FreeResource(); |
| |
| aRbAssign.SetAccessibleRelationMemberOf(&aFlAssign); |
| } |
| |
| |
| //---------------------------------------------------------------------------- |
| |
| __EXPORT ScNameDlg::~ScNameDlg() |
| { |
| DELETEZ( pSaveObj ); |
| } |
| |
| |
| //---------------------------------------------------------------------------- |
| |
| void __EXPORT ScNameDlg::Init() |
| { |
| String aAreaStr; |
| ScRange aRange; |
| |
| DBG_ASSERT( pViewData && pDoc, "ViewData oder Document nicht gefunden!" ); |
| |
| aBtnOk.SetClickHdl ( LINK( this, ScNameDlg, OkBtnHdl ) ); |
| aBtnCancel.SetClickHdl ( LINK( this, ScNameDlg, CancelBtnHdl ) ); |
| aBtnAdd.SetClickHdl ( LINK( this, ScNameDlg, AddBtnHdl ) ); |
| aBtnRemove.SetClickHdl ( LINK( this, ScNameDlg, RemoveBtnHdl ) ); |
| aEdAssign.SetGetFocusHdl( LINK( this, ScNameDlg, AssignGetFocusHdl ) ); |
| aEdAssign.SetModifyHdl ( LINK( this, ScNameDlg, EdModifyHdl ) ); |
| aEdName.SetModifyHdl ( LINK( this, ScNameDlg, EdModifyHdl ) ); |
| aLBNames.SetSelectHdl ( LINK( this, ScNameDlg, NameSelectHdl ) ); |
| |
| aBtnCriteria .Hide(); |
| aBtnPrintArea.Hide(); |
| aBtnColHeader.Hide(); |
| aBtnRowHeader.Hide(); |
| |
| aBtnMore.AddWindow( &aFlType ); |
| aBtnMore.AddWindow( &aBtnCriteria ); |
| aBtnMore.AddWindow( &aBtnPrintArea ); |
| aBtnMore.AddWindow( &aBtnColHeader ); |
| aBtnMore.AddWindow( &aBtnRowHeader ); |
| |
| UpdateNames(); |
| |
| pViewData->GetSimpleArea( aRange ); |
| aRange.Format( aAreaStr, ABS_DREF3D, pDoc, |
| ScAddress::Details(pDoc->GetAddressConvention(), 0, 0) ); |
| |
| theCurSel = Selection( 0, SELECTION_MAX ); |
| aEdAssign.GrabFocus(); |
| aEdAssign.SetText( aAreaStr ); |
| aEdAssign.SetSelection( theCurSel ); |
| aEdName.GrabFocus(); |
| |
| aBtnAdd.Disable(); |
| aBtnRemove.Disable(); |
| //if ( aEdName.GetEntryCount() > 0 ) |
| if ( aLBNames.GetEntryCount() > 0 ) |
| aBtnAdd.SetText( aStrAdd ); |
| UpdateChecks(); |
| EdModifyHdl( 0 ); |
| |
| bSaved=sal_True; |
| SAVE_DATA() |
| |
| //@BugID 54702 |
| //SFX_APPWINDOW->Disable(sal_False); //! allgemeine Methode im ScAnyRefDlg |
| } |
| |
| //---------------------------------------------------------------------------- |
| sal_Bool ScNameDlg::IsRefInputMode() const |
| { |
| return aEdAssign.IsEnabled(); |
| } |
| |
| void ScNameDlg::RefInputDone( sal_Bool bForced) |
| { |
| ScAnyRefDlg::RefInputDone(bForced); |
| EdModifyHdl(&aEdAssign); |
| } |
| //---------------------------------------------------------------------------- |
| // Uebergabe eines mit der Maus selektierten Tabellenbereiches, der dann als |
| // neue Selektion im Referenz-Edit angezeigt wird. |
| |
| |
| void ScNameDlg::SetReference( const ScRange& rRef, ScDocument* pDocP ) |
| { |
| if ( aEdAssign.IsEnabled() ) |
| { |
| if ( rRef.aStart != rRef.aEnd ) |
| RefInputStart(&aEdAssign); |
| String aRefStr; |
| rRef.Format( aRefStr, ABS_DREF3D, pDocP, |
| ScAddress::Details(pDocP->GetAddressConvention(), 0, 0) ); |
| aEdAssign.SetRefString( aRefStr ); |
| } |
| } |
| |
| |
| //---------------------------------------------------------------------------- |
| sal_Bool __EXPORT ScNameDlg::Close() |
| { |
| return DoClose( ScNameDlgWrapper::GetChildWindowId() ); |
| } |
| |
| |
| //---------------------------------------------------------------------------- |
| |
| void ScNameDlg::SetActive() |
| { |
| aEdAssign.GrabFocus(); |
| RefInputDone(); |
| } |
| |
| |
| //---------------------------------------------------------------------------- |
| |
| void __EXPORT ScNameDlg::UpdateChecks() |
| { |
| sal_uInt16 nCurPos=0; |
| |
| if(aLocalRangeName.SearchName( aEdName.GetText(), nCurPos, aSelectedRangeScope)) |
| { |
| ScRangeData* pData=(ScRangeData*)(aLocalRangeName.At( nCurPos )); |
| aBtnCriteria .Check( pData->HasType( RT_CRITERIA ) ); |
| aBtnPrintArea.Check( pData->HasType( RT_PRINTAREA ) ); |
| aBtnColHeader.Check( pData->HasType( RT_COLHEADER ) ); |
| aBtnRowHeader.Check( pData->HasType( RT_ROWHEADER ) ); |
| } |
| |
| // Falls Edit-Feld leer ist: Typ-CheckBoxen deaktivieren: |
| |
| if ( aEdName.GetText().Len() != 0 ) |
| { |
| if ( !aFlType.IsEnabled() ) |
| { |
| aFlType.Enable(); |
| aBtnCriteria .Enable(); |
| aBtnPrintArea.Enable(); |
| aBtnColHeader.Enable(); |
| aBtnRowHeader.Enable(); |
| aFlAssign.Enable(); |
| aEdAssign.Enable(); |
| aRbAssign.Enable(); |
| } |
| } |
| else if ( aFlType.IsEnabled() ) |
| { |
| aFlType.Disable(); |
| aBtnCriteria.Disable(); |
| aBtnPrintArea.Disable(); |
| aBtnColHeader.Disable(); |
| aBtnRowHeader.Disable(); |
| aFlAssign.Disable(); |
| aEdAssign.Disable(); |
| aRbAssign.Disable(); |
| } |
| } |
| |
| |
| //---------------------------------------------------------------------------- |
| |
| void __EXPORT ScNameDlg::UpdateNames() |
| { |
| sal_uInt16 nRangeCount = aLocalRangeName.GetCount(); |
| |
| //aEdName.SetUpdateMode( FALSE ); |
| aLBNames.SetUpdateMode( false ); |
| //----------------------------------------------------------- |
| //USHORT nNamePos = aEdName.GetTopEntry(); |
| //aEdName.Clear(); |
| sal_uInt16 nNamePos = aLBNames.GetTopEntry(); |
| aLBNames.Clear(); |
| |
| aEdAssign.SetText( EMPTY_STRING ); |
| |
| if ( nRangeCount > 0 ) |
| { |
| ScRangeData* pRangeData = NULL; |
| String aString; |
| SCTAB tabIndex = 0; |
| |
| for ( sal_uInt16 i=0; i<nRangeCount; i++ ) |
| { |
| pRangeData = (ScRangeData*)(aLocalRangeName.At( i )); |
| if ( pRangeData ) |
| { |
| if ( !pRangeData->HasType( RT_DATABASE ) |
| && !pRangeData->HasType( RT_SHARED ) ) |
| { |
| pRangeData->GetName( aString ); |
| if ( (tabIndex = pRangeData->GetRangeScope() ) != MAXTABCOUNT) |
| { |
| String tabName; |
| pDoc->GetName(tabIndex,tabName); |
| if (aString.Len() < SHEETNAMEPOS) |
| aString.Expand(SHEETNAMEPOS); |
| else |
| aString.AppendAscii( " "); |
| aString.AppendAscii( "("); |
| aString += tabName; |
| aString.AppendAscii( ")"); |
| } |
| |
| //aEdName.InsertEntry( aString ); |
| aLBNames.InsertEntry( aString ); |
| } |
| } |
| } |
| } |
| else |
| { |
| aBtnAdd.SetText( aStrAdd ); |
| aBtnAdd.Disable(); |
| aBtnRemove.Disable(); |
| } |
| //----------------------------------------------------------- |
| //aEdName.SetUpdateMode( TRUE ); |
| //aEdName.SetTopEntry(nNamePos); |
| //aEdName.Invalidate(); |
| aLBNames.SetUpdateMode( true ); |
| aLBNames.SetTopEntry(nNamePos); |
| aLBNames.Invalidate(); |
| } |
| |
| |
| //---------------------------------------------------------------------------- |
| |
| void __EXPORT ScNameDlg::CalcCurTableAssign( String& aAssign, sal_uInt16 nCurPos ) |
| { |
| ScRangeData* pRangeData = (ScRangeData*)(aLocalRangeName.At( nCurPos )); |
| |
| if ( pRangeData ) |
| { |
| rtl::OUStringBuffer sBuffer; |
| pRangeData->UpdateSymbol( sBuffer, theCursorPos ); |
| aAssign = sBuffer; |
| } |
| else |
| { |
| aAssign.Erase(); |
| } |
| } |
| |
| |
| //---------------------------------------------------------------------------- |
| // Handler: |
| // ======== |
| |
| IMPL_LINK( ScNameDlg, OkBtnHdl, void *, EMPTYARG ) |
| { |
| if ( aBtnAdd.IsEnabled() ) |
| AddBtnHdl( 0 ); |
| |
| if ( !aBtnAdd.IsEnabled() && !aBtnRemove.IsEnabled() ) |
| { |
| ScDocShell* pDocSh = pViewData->GetDocShell(); |
| ScDocFunc aFunc(*pDocSh); |
| aFunc.ModifyRangeNames( aLocalRangeName, sal_False ); |
| Close(); |
| } |
| return 0; |
| } |
| |
| |
| //---------------------------------------------------------------------------- |
| |
| IMPL_LINK_INLINE_START( ScNameDlg, CancelBtnHdl, void *, EMPTYARG ) |
| { |
| Close(); |
| return 0; |
| } |
| IMPL_LINK_INLINE_END( ScNameDlg, CancelBtnHdl, void *, EMPTYARG ) |
| |
| |
| //---------------------------------------------------------------------------- |
| |
| IMPL_LINK( ScNameDlg, AddBtnHdl, void *, EMPTYARG ) |
| { |
| sal_Bool bAdded = sal_False; |
| String aNewEntry = aEdName.GetText(); |
| //USHORT nNamePos = aEdName.GetTopEntry(); |
| sal_uInt16 nNamePos = aLBNames.GetTopEntry(); |
| aNewEntry.EraseLeadingChars( ' ' ); |
| aNewEntry.EraseTrailingChars( ' ' ); |
| |
| if ( aNewEntry.Len() > 0 ) |
| { |
| if ( ScRangeData::IsNameValid( aNewEntry, pDoc ) ) |
| { |
| if ( pDoc ) |
| { |
| ScRangeData* pNewEntry = NULL; |
| RangeType nType = RT_NAME; |
| sal_uInt16 nFoundAt = 0; |
| String theSymbol = aEdAssign.GetText(); |
| String aStrPos; |
| String aStrArea; |
| |
| pNewEntry = new ScRangeData( pDoc, |
| aNewEntry, |
| theSymbol, |
| theCursorPos, |
| nType ); |
| if (aBtnAdd.GetText() == aStrModify) |
| pNewEntry->SetRangeScope(aSelectedRangeScope); |
| else |
| aSelectedRangeScope = MAXTABCOUNT; |
| if (pNewEntry) |
| { |
| nType = nType |
| | (aBtnRowHeader .IsChecked() ? RT_ROWHEADER : RangeType(0)) |
| | (aBtnColHeader .IsChecked() ? RT_COLHEADER : RangeType(0)) |
| | (aBtnPrintArea .IsChecked() ? RT_PRINTAREA : RangeType(0)) |
| | (aBtnCriteria .IsChecked() ? RT_CRITERIA : RangeType(0)); |
| pNewEntry->AddType(nType); |
| } |
| |
| // theSymbol gueltig? |
| // (= konnte theSymbol im ScRangeData-Ctor |
| // in ein Token-Array uebersetzt werden?) |
| if ( 0 == pNewEntry->GetErrCode() ) |
| { |
| // Eintrag bereits vorhanden? Dann vorher entfernen (=Aendern) |
| if ( aLocalRangeName.SearchName( aNewEntry, nFoundAt, aSelectedRangeScope ) ) |
| { // alten Index uebernehmen |
| pNewEntry->SetIndex( |
| ((ScRangeData*)(aLocalRangeName.At(nFoundAt)))->GetIndex() ); |
| aLocalRangeName.AtFree( nFoundAt ); |
| } |
| else |
| pSaveObj->Clear(); |
| |
| if ( !aLocalRangeName.Insert( pNewEntry ) ) |
| delete pNewEntry; |
| |
| UpdateNames(); |
| bSaved=sal_False; |
| RESTORE_DATA() |
| aEdName.SetText(EMPTY_STRING); |
| aEdName.GrabFocus(); |
| UpdateChecks(); |
| aBtnAdd.SetText( aStrAdd ); |
| aBtnAdd.Disable(); |
| aBtnRemove.Disable(); |
| |
| //@BugID 54702 raus mit dem Sch. |
| //SFX_APPWINDOW->Disable(sal_False); //! allgemeine Methode im ScAnyRefDlg |
| |
| bAdded = sal_True; |
| } |
| else // theSymbol ungueltig |
| { |
| delete pNewEntry; |
| ERRORBOX( errMsgInvalidSym ); |
| theCurSel = Selection( 0, SELECTION_MAX ); |
| aEdAssign.GrabFocus(); |
| } |
| } |
| } |
| else |
| { |
| ERRORBOX( ScGlobal::GetRscString(STR_INVALIDNAME) ); |
| aEdName.SetSelection( Selection( 0, SELECTION_MAX ) ); |
| aEdName.GrabFocus(); |
| } |
| } |
| |
| //aEdName.SetTopEntry(nNamePos); |
| aLBNames.SetTopEntry(nNamePos); |
| return bAdded; |
| } |
| |
| |
| //---------------------------------------------------------------------------- |
| |
| IMPL_LINK( ScNameDlg, RemoveBtnHdl, void *, EMPTYARG ) |
| { |
| sal_uInt16 nRemoveAt = 0; |
| const String aStrEntry = aEdName.GetText(); |
| |
| if ( aLocalRangeName.SearchName( aStrEntry, nRemoveAt, aSelectedRangeScope ) ) |
| { |
| String aStrDelMsg = ScGlobal::GetRscString( STR_QUERY_DELENTRY ); |
| String aMsg = aStrDelMsg.GetToken( 0, '#' ); |
| |
| aMsg += aStrEntry; |
| aMsg += aStrDelMsg.GetToken( 1, '#' ); |
| |
| if ( RET_YES == |
| QueryBox( this, WinBits( WB_YES_NO | WB_DEF_YES ), aMsg ).Execute() ) |
| { |
| aLocalRangeName.AtFree( nRemoveAt ); |
| UpdateNames(); |
| UpdateChecks(); |
| bSaved=sal_False; |
| RESTORE_DATA() |
| theCurSel = Selection( 0, SELECTION_MAX ); |
| aEdName.SetText(EMPTY_STRING); |
| aBtnAdd.SetText( aStrAdd ); |
| aBtnAdd.Disable(); |
| aBtnRemove.Disable(); |
| } |
| } |
| return 0; |
| } |
| |
| |
| //---------------------------------------------------------------------------- |
| |
| IMPL_LINK( ScNameDlg, NameSelectHdl, void *, EMPTYARG ) |
| { |
| sal_uInt16 nAtPos; |
| String rangeName = aLBNames.GetSelectEntry(); |
| if ( ')' == rangeName.GetChar(rangeName.Len()-1) ) |
| { |
| xub_StrLen sheetNamePos = rangeName.Search('('); |
| String sheetName(rangeName, sheetNamePos+1, rangeName.Len()-2-sheetNamePos); |
| pDoc->GetTable(sheetName,aSelectedRangeScope); |
| rangeName.Erase(sheetNamePos); |
| rangeName.EraseTrailingChars(); |
| |
| } |
| else |
| aSelectedRangeScope = MAXTABCOUNT; |
| |
| //if ( aLocalRangeName.SearchName( aEdName.GetText(), nAtPos ) ) |
| if ( aLocalRangeName.SearchName( rangeName, nAtPos, aSelectedRangeScope ) ) |
| { |
| String aSymbol; |
| ScRangeData* pData = (ScRangeData*)(aLocalRangeName.At( nAtPos )); |
| |
| if ( pData ) |
| { |
| pData->GetSymbol( aSymbol ); |
| CalcCurTableAssign( aSymbol, nAtPos ); |
| aEdAssign.SetText( aSymbol ); |
| aBtnAdd.SetText( aStrModify ); |
| aEdName.SetText(rangeName); |
| theCurSel = Selection( 0, SELECTION_MAX ); |
| aBtnAdd.SetText( aStrModify ); |
| aBtnAdd.Enable(); |
| aBtnRemove.Enable(); |
| } |
| } |
| UpdateChecks(); |
| return 0; |
| } |
| |
| |
| //---------------------------------------------------------------------------- |
| |
| IMPL_LINK( ScNameDlg, EdModifyHdl, Edit *, pEd ) |
| { |
| String theName = aEdName.GetText(); |
| String theSymbol = aEdAssign.GetText(); |
| bool bNameFound = (LISTBOX_ENTRY_NOTFOUND |
| != aLBNames.GetEntryPos( theName )); |
| |
| if ( pEd == &aEdName ) |
| { |
| if ( theName.Len() == 0 ) |
| { |
| if ( aBtnAdd.GetText() != aStrAdd ) |
| aBtnAdd.SetText( aStrAdd ); |
| aBtnAdd.Disable(); |
| aBtnRemove.Disable(); |
| aFlAssign.Disable(); |
| aEdAssign.Disable(); |
| aRbAssign.Disable(); |
| //@BugID 54702 raus mit dem Sch. |
| //SFX_APPWINDOW->Disable(sal_False); //! allgemeine Methode im ScAnyRefDlg |
| } |
| else |
| { |
| /* |
| if ( bNameFound ) |
| { |
| if ( aBtnAdd.GetText() != aStrModify ) |
| aBtnAdd.SetText( aStrModify ); |
| |
| aBtnRemove.Enable(); |
| |
| if(!bSaved) |
| { |
| bSaved=TRUE; |
| SAVE_DATA() |
| } |
| NameSelectHdl( 0 ); |
| } |
| else |
| { |
| if ( aBtnAdd.GetText() != aStrAdd ) |
| aBtnAdd.SetText( aStrAdd ); |
| aBtnRemove.Disable(); |
| |
| bSaved=FALSE; |
| RESTORE_DATA() |
| } |
| */ |
| |
| if ( aBtnAdd.GetText() != aStrAdd ) |
| aBtnAdd.SetText( aStrAdd ); |
| theSymbol = aEdAssign.GetText(); |
| |
| if ( theSymbol.Len() > 0 ) |
| aBtnAdd.Enable(); |
| else |
| aBtnAdd.Disable(); |
| |
| aFlAssign.Enable(); |
| aEdAssign.Enable(); |
| aRbAssign.Enable(); |
| aBtnRemove.Disable(); |
| //@BugID 54702 raus mit dem Sch. |
| //SFX_APPWINDOW->Enable(); |
| } |
| UpdateChecks(); |
| theCurSel = Selection( 0, SELECTION_MAX ); |
| } |
| else if ( pEd == &aEdAssign ) |
| { |
| if ( (theName.Len()>0) && (theSymbol.Len()>0) ) |
| { |
| aBtnAdd.Enable(); |
| if ( bNameFound ) |
| aBtnRemove.Enable(); |
| } |
| else |
| { |
| aBtnAdd.Disable(); |
| aBtnRemove.Disable(); |
| } |
| } |
| return 0; |
| } |
| |
| //------------------------------------------------------------------------ |
| |
| IMPL_LINK_INLINE_START( ScNameDlg, AssignGetFocusHdl, void *, EMPTYARG ) |
| { |
| EdModifyHdl( &aEdAssign ); |
| return 0; |
| } |
| IMPL_LINK_INLINE_END( ScNameDlg, AssignGetFocusHdl, void *, EMPTYARG ) |
| |
| |