[Libreoffice-commits] core.git: svx/source
Daniel Sikeler
d.sikeler94 at gmail.com
Tue Dec 16 23:29:15 PST 2014
svx/source/form/navigatortree.cxx | 412 ++++++++++++++++-----------------
svx/source/form/navigatortreemodel.cxx | 103 ++++----
2 files changed, 256 insertions(+), 259 deletions(-)
New commits:
commit 2f1804c4f494b19998f8a509e5c94fce4b206568
Author: Daniel Sikeler <d.sikeler94 at gmail.com>
Date: Tue Dec 9 11:13:29 2014 +0100
fdo#39468 translated some german comments
Also translated some exception messages
Change-Id: I92c3b1be125eb384c33257d6c8b7ff8337ce5f2f
Reviewed-on: https://gerrit.libreoffice.org/13481
Reviewed-by: Noel Grandin <noelgrandin at gmail.com>
Tested-by: Noel Grandin <noelgrandin at gmail.com>
diff --git a/svx/source/form/navigatortree.cxx b/svx/source/form/navigatortree.cxx
index 40ede51..5f673cc 100644
--- a/svx/source/form/navigatortree.cxx
+++ b/svx/source/form/navigatortree.cxx
@@ -57,14 +57,14 @@ namespace svxform
#define DROP_ACTION_TIMER_INITIAL_TICKS 10
- // solange dauert es, bis das Scrollen anspringt
+ // Time until scroll starts
#define DROP_ACTION_TIMER_SCROLL_TICKS 3
- // in diesen Intervallen wird jeweils eine Zeile gescrollt
+ // Time to scroll one line
#define DROP_ACTION_TIMER_TICK_BASE 10
- // das ist die Basis, mit der beide Angaben multipliziert werden (in ms)
+ // factor for both declarations (in ms)
#define EXPLORER_SYNC_DELAY 200
- // dieser Betrag an Millisekunden wird gewartet, ehe der Explorer nach einem Select oder Deselect die View synchronisiert
+ // Time (in ms) until explorer synchronizes the view after select or deselect
using namespace ::com::sun::star::uno;
using namespace ::com::sun::star::lang;
@@ -168,7 +168,7 @@ namespace svxform
if (m_aSynchronizeTimer.IsActive())
m_aSynchronizeTimer.Stop();
- DBG_ASSERT(GetNavModel() != NULL, "NavigatorTree::~NavigatorTree : unerwartet : kein ExplorerModel");
+ DBG_ASSERT(GetNavModel() != NULL, "NavigatorTree::~NavigatorTree : unexpected : no ExplorerModel");
EndListening( *m_pNavModel );
Clear();
delete m_pNavModel;
@@ -195,18 +195,18 @@ namespace svxform
if ((pOldShell != pFormShell) || (pOldPage != pNewPage))
{
- // neue Shell, waehrend ich gerade editiere ?
+ // new shell during editing
if (IsEditingActive())
CancelTextEditing();
- m_bDragDataDirty = true; // sicherheitshalber, auch wenn ich gar nicht dragge
+ m_bDragDataDirty = true; // as a precaution, although i dont drag
}
GetNavModel()->UpdateContent( pFormShell );
- // wenn es eine Form gibt, die Root expandieren
+ // if there is a form, expand root
if (m_pRootEntry && !IsExpanded(m_pRootEntry))
Expand(m_pRootEntry);
- // wenn es GENAU eine Form gibt, auch diese expandieren
+ // if there is EXACTLY ONE form, expand it too
if (m_pRootEntry)
{
SvTreeListEntry* pFirst = FirstChild(m_pRootEntry);
@@ -222,14 +222,14 @@ namespace svxform
if (!pCurEntry)
return false;
- // die Informationen fuer das AcceptDrop und ExecuteDrop
+ // Information for AcceptDrop and Execute Drop
CollectSelectionData(SDI_ALL);
if (m_arrCurrentSelection.empty())
// nothing to do
return false;
- // testen, ob es sich vielleicht ausschliesslich um hidden controls handelt (dann koennte ich pCtrlExch noch ein
- // zusaetzliches Format geben)
+ // check whether there are only hidden controls
+ // I may add a format to pCtrlExch
bool bHasNonHidden = false;
for ( SvLBoxEntrySortedArray::const_iterator it = m_arrCurrentSelection.begin();
it != m_arrCurrentSelection.end(); ++it )
@@ -272,14 +272,14 @@ namespace svxform
if (!bHasNonHidden)
{
- // eine entsprechende Sequenz aufbauen
+ // create a sequence
Sequence< Reference< XInterface > > seqIFaces(m_arrCurrentSelection.size());
Reference< XInterface >* pArray = seqIFaces.getArray();
for ( SvLBoxEntrySortedArray::const_iterator it = m_arrCurrentSelection.begin();
it != m_arrCurrentSelection.end(); ++it, ++pArray )
*pArray = static_cast< FmEntryData* >( (*it)->GetUserData() )->GetElement();
- // und das neue Format
+ // and the new format
m_aControlExchange->addHiddenControlsFormat(seqIFaces);
}
@@ -296,7 +296,7 @@ namespace svxform
// nothing to do or something went wrong
return;
- // jetzt haben wir alle in der aktuelle Situation moeglichen Formate eingesammelt, es kann also losgehen ...
+ // collected all possible formats for current situation, we can start now
m_aControlExchange.startDrag( DND_ACTION_COPYMOVE );
}
@@ -308,7 +308,7 @@ namespace svxform
{
case COMMAND_CONTEXTMENU:
{
- // die Stelle, an der geklickt wurde
+ // Position of click
::Point ptWhere;
if (rEvt.IsMouseEvent())
{
@@ -325,7 +325,7 @@ namespace svxform
}
else
{
- if (m_arrCurrentSelection.empty()) // kann nur bei Kontextmenue ueber Tastatur passieren
+ if (m_arrCurrentSelection.empty()) // only happens with context menu via keyboard
break;
SvTreeListEntry* pCurrent = GetCurEntry();
@@ -334,11 +334,10 @@ namespace svxform
ptWhere = GetEntryPosition(pCurrent);
}
- // meine Selektionsdaten auf den aktuellen Stand
+ // update my selection data
CollectSelectionData(SDI_ALL);
- // wenn mindestens ein Nicht-Root-Eintrag selektiert ist und die Root auch, dann nehme ich letztere aus der Selektion
- // fix wieder raus
+ // if there is at least one no-root-entry and the root selected, i deselect root
if ( (m_arrCurrentSelection.size() > 1) && m_bRootSelected )
{
Select( m_pRootEntry, false );
@@ -347,12 +346,12 @@ namespace svxform
bool bSingleSelection = (m_arrCurrentSelection.size() == 1);
- DBG_ASSERT( (m_arrCurrentSelection.size() > 0) || m_bRootSelected, "keine Eintraege selektiert" );
- // solte nicht passieren, da ich oben bei der IsSelected-Abfrage auf jeden Fall einen selektiert haette,
- // wenn das vorher nicht der Fall gewesen waere
+ DBG_ASSERT( (m_arrCurrentSelection.size() > 0) || m_bRootSelected, "no entries selected" );
+ // shouldn't happen, because i would have selected one during call to IsSelected,
+ // if there was none before
- // das Menue zusammenbasteln
+ // create menu
FmFormShell* pFormShell = GetNavModel()->GetFormShell();
FmFormModel* pFormModel = pFormShell ? pFormShell->GetFormModel() : NULL;
if( pFormShell && pFormModel )
@@ -360,15 +359,15 @@ namespace svxform
PopupMenu aContextMenu(SVX_RES(RID_FMEXPLORER_POPUPMENU));
PopupMenu* pSubMenuNew = aContextMenu.GetPopupMenu( SID_FM_NEW );
- // das 'Neu'-Untermenue gibt es nur, wenn genau die Root oder genau ein Formular selektiert sind
+ // menu 'New' only exists, if only the root or only one form is selected
aContextMenu.EnableItem( SID_FM_NEW, bSingleSelection && (m_nFormsSelected || m_bRootSelected) );
- // 'Neu'\'Formular' unter genau den selben Bedingungen
+ // 'New'\'Form' under the same terms
pSubMenuNew->EnableItem( SID_FM_NEW_FORM, bSingleSelection && (m_nFormsSelected || m_bRootSelected) );
pSubMenuNew->SetItemImage(SID_FM_NEW_FORM, m_aNavigatorImages.GetImage(RID_SVXIMG_FORM));
pSubMenuNew->SetItemImage(SID_FM_NEW_HIDDEN, m_aNavigatorImages.GetImage(RID_SVXIMG_HIDDEN));
- // 'Neu'\'verstecktes...', wenn genau ein Formular selektiert ist
+ // 'New'\'hidden...', if exactly one form is selected
pSubMenuNew->EnableItem( SID_FM_NEW_HIDDEN, bSingleSelection && m_nFormsSelected );
// 'Delete': everything which is not root can be removed
@@ -379,7 +378,7 @@ namespace svxform
aContextMenu.EnableItem( SID_COPY, !m_bRootSelected && implAllowExchange( DND_ACTION_COPY ) );
aContextMenu.EnableItem( SID_PASTE, implAcceptPaste( ) );
- // der TabDialog, wenn es genau ein Formular ist ...
+ // TabDialog, if exaclty one form
aContextMenu.EnableItem( SID_FM_TAB_DIALOG, bSingleSelection && m_nFormsSelected );
// in XML forms, we don't allow for the properties of a form
@@ -395,16 +394,16 @@ namespace svxform
aContextMenu.EnableItem( SID_FM_SHOW_PROPERTY_BROWSER,
(m_nControlsSelected && !m_nFormsSelected) || (!m_nControlsSelected && m_nFormsSelected) );
- // Umbenennen gdw wenn ein Element und nicht die Root
+ // rename, if one element and no root
aContextMenu.EnableItem( SID_FM_RENAME_OBJECT, bSingleSelection && !m_bRootSelected );
- // der Reandonly-Eintrag ist nur auf der Root erlaubt
+ // Readonly-entry is only for root
aContextMenu.EnableItem( SID_FM_OPEN_READONLY, m_bRootSelected );
// the same for automatic control focus
aContextMenu.EnableItem( SID_FM_AUTOCONTROLFOCUS, m_bRootSelected );
- // die ConvertTo-Slots sind enabled, wenn genau ein Control selektiert ist, der
- // dem Control entsprechende Slot ist disabled
+ // ConvertTo-Slots are enabled, if one control is selected
+ // the corresponding slot is disabled
if (!m_bRootSelected && !m_nFormsSelected && (m_nControlsSelected == 1))
{
aContextMenu.SetPopupMenu( SID_FM_CHANGECONTROLTYPE, FmXFormShell::GetConversionMenu() );
@@ -419,10 +418,10 @@ namespace svxform
else
aContextMenu.EnableItem( SID_FM_CHANGECONTROLTYPE, false );
- // jetzt alles, was disabled wurde, wech
+ // remove all disabled entries
aContextMenu.RemoveDisabledEntries(true, true);
- // OpenReadOnly setzen
+ // set OpenReadOnly
aContextMenu.CheckItem( SID_FM_OPEN_READONLY, pFormModel->GetOpenInDesignMode() );
aContextMenu.CheckItem( SID_FM_AUTOCONTROLFOCUS, pFormModel->GetAutoControlFocus() );
@@ -436,8 +435,8 @@ namespace svxform
OUString aUndoStr = SVX_RESSTR(RID_STR_UNDO_CONTAINER_INSERT).replaceAll(OUString('#'), aStr);
pFormModel->BegUndo(aUndoStr);
- // der Slot war nur verfuegbar, wenn es genau einen selektierten Eintrag gibt und dieser die Root
- // oder ein Formular ist
+ // slot was only available, if there is only one selected entry,
+ // which is a root or a form
NewForm( *m_arrCurrentSelection.begin() );
pFormModel->EndUndo();
@@ -448,7 +447,7 @@ namespace svxform
OUString aUndoStr = SVX_RESSTR(RID_STR_UNDO_CONTAINER_INSERT).replaceAll(OUString('#'), aStr);
pFormModel->BegUndo(aUndoStr);
- // dieser Slot war guletig bei (genau) einem selektierten Formular
+ // slot was valid for (exactly) one selected form
OUString fControlName = FM_COMPONENT_HIDDEN;
NewControl( fControlName, *m_arrCurrentSelection.begin() );
pFormModel->EndUndo();
@@ -474,9 +473,9 @@ namespace svxform
break;
case SID_FM_TAB_DIALOG:
{
- // dieser Slot galt bei genau einem selektierten Formular
+ // this slot was effective for exactly one selected form
SvTreeListEntry* pSelectedForm = *m_arrCurrentSelection.begin();
- DBG_ASSERT( IsFormEntry(pSelectedForm), "NavigatorTree::Command: Dieser Eintrag muss ein FormEntry sein." );
+ DBG_ASSERT( IsFormEntry(pSelectedForm), "NavigatorTree::Command: This entry must be a FormEntry." );
FmFormData* pFormData = (FmFormData*)pSelectedForm->GetUserData();
Reference< XForm > xForm( pFormData->GetFormIface());
@@ -495,7 +494,7 @@ namespace svxform
break;
case SID_FM_RENAME_OBJECT:
{
- // das war bei genau einem Nicht-Root-Eintrag erlaubt
+ // only allowed for one no-root-entry
EditEntry( *m_arrCurrentSelection.begin() );
}
break;
@@ -569,7 +568,7 @@ namespace svxform
FmEntryData* pData = static_cast<const FmNavModelReplacedHint*>(&rHint)->GetEntryData();
SvTreeListEntry* pEntry = FindEntry( pData );
if (pEntry)
- { // das Image neu setzen
+ { // reset image
SetCollapsedEntryBmp( pEntry, pData->GetNormalImage() );
SetExpandedEntryBmp( pEntry, pData->GetNormalImage() );
}
@@ -587,21 +586,22 @@ namespace svxform
SvTreeListBox::Clear();
- // Default-Eintrag "Formulare"
+ // default-entry "Forms"
Image aRootImage( m_aNavigatorImages.GetImage( RID_SVXIMG_FORMS ) );
m_pRootEntry = InsertEntry( SVX_RESSTR(RID_STR_FORMS), aRootImage, aRootImage,
NULL, false, 0, NULL );
}
else if (!m_bMarkingObjects && dynamic_cast<const FmNavRequestSelectHint*>(&rHint))
- { // wenn m_bMarkingObjects sal_True ist, markiere ich gerade selber Objekte, und da der ganze Mechanismus dahinter synchron ist,
- // ist das genau der Hint, der durch mein Markieren ausgeloest wird, also kann ich ihn ignorieren
+ { // if m_bMarkingObjects is sal_True, i mark objects myself
+ // and because of the synchronous mechanism, its exactly the hint,
+ // which was triggered by myself, and thus can be ignored
FmNavRequestSelectHint* pershHint = const_cast<FmNavRequestSelectHint*>(static_cast<const FmNavRequestSelectHint*>(&rHint));
FmEntryDataArray& arredToSelect = pershHint->GetItems();
SynchronizeSelection(arredToSelect);
if (pershHint->IsMixedSelection())
- // in diesem Fall habe ich alles deselektiert, obwohl die View u.U. eine gemischte Markierung hatte
- // ich muss also im naechsten Select den Navigator an die View anpassen
+ // in this case i deselect all, although the view had a mixed selection
+ // during next selection, i must adapt the navigator to the view
m_bPrevSelectionMixed = true;
}
}
@@ -610,7 +610,7 @@ namespace svxform
SvTreeListEntry* NavigatorTree::Insert( FmEntryData* pEntryData, sal_uIntPtr nRelPos )
{
- // Aktuellen Eintrag einfuegen
+ // insert current entry
SvTreeListEntry* pParentEntry = FindEntry( pEntryData->GetParent() );
SvTreeListEntry* pNewEntry;
@@ -625,12 +625,12 @@ namespace svxform
pParentEntry, false, nRelPos, pEntryData );
- // Wenn Root-Eintrag Root expandieren
+ // If root-entry, expand root
if( !pParentEntry )
Expand( m_pRootEntry );
- // Children einfuegen
+ // insert children
FmEntryDataList* pChildList = pEntryData->GetChildList();
size_t nChildCount = pChildList->size();
FmEntryData* pChildData;
@@ -649,24 +649,24 @@ namespace svxform
if( !pEntryData )
return;
- // der Entry zu den Daten
+ // entry for the data
SvTreeListEntry* pEntry = FindEntry( pEntryData );
if (!pEntry)
return;
- // Eintrag aus TreeListBox entfernen
- // ich darf das Select, das ich ausloese, nicht behandeln :
- // Select aendert die MarkList der View, wenn das gerade auch jemand anders macht und dabei ein Remove
- // triggert, haben wir mit ziemlicher Sicherheit ein Problem - Paradebeispiel war das Gruppieren von Controls mit
- // offenem Navigator ...)
+ // delete entry from TreeListBox
+ // i'm not allowed, to treat the selection, which i trigger:
+ // select changes the MarkList of the view, if somebody else does this at the same time
+ // and removes a selection, we get a problem
+ // e.g. Group controls with open navigator
LockSelectionHandling();
- // ein kleines Problem : ich merke mir meine selektierten Daten, wenn mir jetzt jemand einen selektierten Eintrag
- // unter dem Hintern wegschiesst, werde ich inkonsistent ... was schlecht waere
+ // little problem : i remember the selected data, but if somebody deletes one of these entries,
+ // i get inconsistent ... this would be bad
Select(pEntry, false);
- // beim eigentlichen Entfernen kann die Selection geaendert werden, da ich aber das SelectionHandling abgeschaltet
- // habe, muss ich mich hinterher darum kuemmern
+ // selection can be modified during deletion,
+ // but because i disabled SelectionHandling, i have to do it later
sal_uIntPtr nExpectedSelectionCount = GetSelectionCount();
if( pEntry )
@@ -675,7 +675,7 @@ namespace svxform
if (nExpectedSelectionCount != GetSelectionCount())
SynchronizeSelection();
- // und standardmaessig behandle ich das Select natuerlich
+ // by default i treat the selection of course
UnlockSelectionHandling();
}
@@ -776,19 +776,19 @@ namespace svxform
if ( m_bDragDataDirty || !bHasDefControlFormat )
{
if (!bHasControlPathFormat)
- // ich befinde mich zwar in der Shell/Page, aus der die Controls stammen, habe aber kein Format, das den stattgefundenen
- // Shell-Wechsel ueberlebt hat (SVX_FM_CONTROLS_AS_PATH)
+ // i am in the shell/page, which has the contorls, but i have no format,
+ // which survived the shell change (SVX_FM_CONTROLS_AS_PATH)
return DND_ACTION_NONE;
- // da die Shell waehrend des Draggens umgeschaltet wude, muss ich die Liste des ExchangeObjektes wieder neu aufbauen
- // (dort stehen SvLBoxEntries drin, und die sind bei der Umschaltung floeten gegangen)
+ // i must recreate the list of the ExchangeObjects, because the shell was changed during dragging
+ // (there are SvLBoxEntries in it, and we lost them during change)
m_aControlExchange->buildListFromPath(this, m_pRootEntry);
m_bDragDataDirty = false;
}
- // die Liste der gedroppten Eintraege aus dem DragServer
+ // List of dropped entries from DragServer
const ListBoxEntrySet& aDropped = m_aControlExchange->selected();
- DBG_ASSERT(aDropped.size() >= 1, "NavigatorTree::implAcceptDataTransfer: keine Eintraege !");
+ DBG_ASSERT(aDropped.size() >= 1, "NavigatorTree::implAcceptDataTransfer: no entries !");
bool bDropTargetIsComponent = IsFormComponentEntry( _pTargetEntry );
//SvTreeListEntry* pDropTargetParent = GetParent( _pTargetEntry );
@@ -833,7 +833,7 @@ namespace svxform
// test for 5)
// if ( bDropTargetIsComponent && (pDropTargetParent != pCurrentParent) )
- if ( bDropTargetIsComponent ) // TODO : die obige Zeile wieder rein, dann muss aber ExecuteDrop das Vertauschen auch beherrschen
+ if ( bDropTargetIsComponent ) // TODO : the line above can be inserted, if ExecuteDrop can handle inversion
return DND_ACTION_NONE;
// test for 3)
@@ -857,7 +857,7 @@ namespace svxform
{
::Point aDropPos = rEvt.maPosPixel;
- // kuemmern wir uns erst mal um moeglich DropActions (Scrollen und Aufklappen)
+ // first handle possible DropActions (Scroll and swing open)
if (rEvt.mbLeaving)
{
if (m_aDropActionTimer.IsActive())
@@ -865,24 +865,23 @@ namespace svxform
} else
{
bool bNeedTrigger = false;
- // auf dem ersten Eintrag ?
+ // on the first entry ?
if ((aDropPos.Y() >= 0) && (aDropPos.Y() < GetEntryHeight()))
{
m_aDropActionType = DA_SCROLLUP;
bNeedTrigger = true;
} else
- // auf dem letzten (bzw. in dem Bereich, den ein Eintrag einnehmen wuerde, wenn er unten genau buendig
- // abschliessen wuerde) ?
+ // on the last one (respectively the area, an entry would tale, if it flush with the bottom ?
if ((aDropPos.Y() < GetSizePixel().Height()) && (aDropPos.Y() >= GetSizePixel().Height() - GetEntryHeight()))
{
m_aDropActionType = DA_SCROLLDOWN;
bNeedTrigger = true;
} else
- { // auf einem Entry mit Children, der nicht aufgeklappt ist ?
+ { // on an entry with children, not swang open
SvTreeListEntry* pDropppedOn = GetEntry(aDropPos);
if (pDropppedOn && (GetChildCount(pDropppedOn) > 0) && !IsExpanded(pDropppedOn))
{
- // -> aufklappen
+ // -> swing open
m_aDropActionType = DA_EXPANDNODE;
bNeedTrigger = true;
}
@@ -890,12 +889,12 @@ namespace svxform
if (bNeedTrigger && (m_aTimerTriggered != aDropPos))
{
- // neu anfangen zu zaehlen
+ // restart counting
m_aTimerCounter = DROP_ACTION_TIMER_INITIAL_TICKS;
- // die Pos merken, da ich auch AcceptDrops bekomme, wenn sich die Maus gar nicht bewegt hat
+ // remember pos, because i get AcceptDrops, although mouse hasn't moved
m_aTimerTriggered = aDropPos;
- // und den Timer los
- if (!m_aDropActionTimer.IsActive()) // gibt es den Timer schon ?
+ // start Timer
+ if (!m_aDropActionTimer.IsActive()) // exist Timer?
{
m_aDropActionTimer.SetTimeout(DROP_ACTION_TIMER_TICK_BASE);
m_aDropActionTimer.Start();
@@ -922,7 +921,7 @@ namespace svxform
// under some platforms, it may happen that ExecuteDrop is called though AcceptDrop returned DND_ACTION_NONE
return DND_ACTION_NONE;
- // ware schlecht, wenn nach dem Droppen noch gescrollt wird ...
+ // would be bad, if we scroll after drop
if (m_aDropActionTimer.IsActive())
m_aDropActionTimer.Stop();
@@ -936,8 +935,8 @@ namespace svxform
bool bForeignCollection = _rData.getFormsRoot().get() != GetNavModel()->GetFormPage()->GetForms().get();
DBG_ASSERT(!bForeignCollection || bHasHiddenControlsFormat, "NavigatorTree::implExecuteDataTransfer: invalid format (AcceptDrop shouldn't have let this pass) !");
DBG_ASSERT(bForeignCollection || !m_bDragDataDirty, "NavigatorTree::implExecuteDataTransfer: invalid state (shell changed since last exchange resync) !");
- // das sollte in AcceptDrop erledigt worden sein : dort wird in _rData die Liste der Controls aufgebaut und m_bDragDataDirty
- // zurueckgesetzt
+ // this should be done in AcceptDrop : the list of conrtols is created in _rData
+ // and m_bDragDataDirty is reseted
#endif
if ( DND_ACTION_COPY == _nAction )
@@ -948,9 +947,9 @@ namespace svxform
// implAcceptDataTransfer should have caught both cases
DBG_ASSERT(bHasHiddenControlsFormat, "NavigatorTree::implExecuteDataTransfer: only copying of hidden controls is supported !");
- // das sollte das AcceptDrop abgefangen haben
+ // should be catched by AcceptDrop
- // da ich gleich die Zielobjekte alle selektieren will (und nur die)
+ // because i want to select all targets (and only them)
SelectAll(false);
Sequence< Reference< XInterface > > aControls = _rData.hiddenControls();
@@ -960,7 +959,7 @@ namespace svxform
FmFormShell* pFormShell = GetNavModel()->GetFormShell();
FmFormModel* pFormModel = pFormShell ? pFormShell->GetFormModel() : NULL;
- // innerhalb eines Undo ...
+ // within undo
if (pFormModel)
{
OUString aStr(SVX_RESSTR(RID_STR_CONTROL));
@@ -968,22 +967,22 @@ namespace svxform
pFormModel->BegUndo(aUndoStr);
}
- // die Conrtols kopieren
+ // copy controls
for (sal_Int32 i=0; i<nCount; ++i)
{
- // neues Control anlegen
+ // create new control
OUString fControlName = FM_COMPONENT_HIDDEN;
FmControlData* pNewControlData = NewControl( fControlName, _pTargetEntry, false);
Reference< XPropertySet > xNewPropSet( pNewControlData->GetPropertySet() );
- // und die Properties des alten in das neue kopieren
+ // copy properties form old control to new one
Reference< XPropertySet > xCurrent(pControls[i], UNO_QUERY);
#if (OSL_DEBUG_LEVEL > 1)
- // nur mal eben sehen, ob das Ding tatsaechlich ein hidden control ist
+ // check whether it is a hidden control
sal_Int16 nClassId = ::comphelper::getINT16(xCurrent->getPropertyValue(FM_PROP_CLASSID));
OSL_ENSURE(nClassId == FormComponentType::HIDDENCONTROL, "NavigatorTree::implExecuteDataTransfer: invalid control in drop list !");
- // wenn das SVX_FM_HIDDEN_CONTROLS-Format vorhanden ist, dann sollten wirklich nur hidden controls in der Sequenz
- // stecken
+ // if SVX_FM_HIDDEN_CONTROLS-format exists, the sequence
+ // should only contain hidden controls
#endif // (OSL_DEBUG_LEVEL > 1)
Reference< XPropertySetInfo > xPropInfo( xCurrent->getPropertySetInfo());
Sequence< Property> seqAllCurrentProps = xPropInfo->getProperties();
@@ -992,8 +991,8 @@ namespace svxform
{
OUString sCurrentProp = pAllCurrentProps[j].Name;
if (((pAllCurrentProps[j].Attributes & PropertyAttribute::READONLY) == 0) && (sCurrentProp != FM_PROP_NAME))
- { // (read-only attribs werden natuerlich nicht gesetzt, dito der Name, den hat das NewControl schon eindeutig
- // festgelegt)
+ { // (read-only attribs aren't set, ditto name,
+ // NewControl defined it uniquely
xNewPropSet->setPropertyValue(sCurrentProp, xCurrent->getPropertyValue(sCurrentProp));
}
}
@@ -1023,17 +1022,17 @@ namespace svxform
DBG_ASSERT( DND_ACTION_COPY != _nAction, "NavigatorTree::implExecuteDataTransfer: somebody changed the logics!" );
- // die Liste der gedraggten Eintraege
+ // list of dragged entries
ListBoxEntrySet aDropped = _rData.selected();
DBG_ASSERT(aDropped.size() >= 1, "NavigatorTree::implExecuteDataTransfer: no entries!");
- // die Shell und das Model
+ // shell and model
FmFormShell* pFormShell = GetNavModel()->GetFormShell();
FmFormModel* pFormModel = pFormShell ? pFormShell->GetFormModel() : NULL;
if (!pFormModel)
return DND_ACTION_NONE;
- // fuer's Undo
+ // for Undo
const bool bUndo = pFormModel->IsUndoEnabled();
if( bUndo )
@@ -1042,21 +1041,21 @@ namespace svxform
pFormModel->BegUndo(strUndoDescription);
}
- // ich nehme vor dem Einfuegen eines Eintrages seine Selection raus, damit die Markierung dabei nicht flackert
- // -> das Handeln des Select locken
+ // remove selection before adding an entry, so the mark doesn't flicker
+ // -> lock action of selection
LockSelectionHandling();
- // jetzt durch alle gedroppten Eintraege ...
+ // go through all dropped entries
for ( ListBoxEntrySet::const_iterator dropped = aDropped.begin();
dropped != aDropped.end();
++dropped
)
{
- // ein paar Daten zum aktuellen Element
+ // some data of the current element
SvTreeListEntry* pCurrent = *dropped;
- DBG_ASSERT(pCurrent != NULL, "NavigatorTree::implExecuteDataTransfer: ungueltiger Eintrag");
- DBG_ASSERT(GetParent(pCurrent) != NULL, "NavigatorTree::implExecuteDataTransfer: ungueltiger Eintrag");
- // die Root darf nicht gedraggt werden
+ DBG_ASSERT(pCurrent != NULL, "NavigatorTree::implExecuteDataTransfer: invalid entry");
+ DBG_ASSERT(GetParent(pCurrent) != NULL, "NavigatorTree::implExecuteDataTransfer: invalid entry");
+ // don't drag root
FmEntryData* pCurrentUserData = (FmEntryData*)pCurrent->GetUserData();
@@ -1064,18 +1063,18 @@ namespace svxform
Reference< XIndexContainer > xContainer(xCurrentChild->getParent(), UNO_QUERY);
FmFormData* pCurrentParentUserData = static_cast<FmFormData*>(pCurrentUserData->GetParent());
- DBG_ASSERT(pCurrentParentUserData == NULL || pCurrentParentUserData->ISA(FmFormData), "NavigatorTree::implExecuteDataTransfer: ungueltiges Parent");
+ DBG_ASSERT(pCurrentParentUserData == NULL || pCurrentParentUserData->ISA(FmFormData), "NavigatorTree::implExecuteDataTransfer: invalid parent");
- // beim Vater austragen
+ // remove from parent
if (pCurrentParentUserData)
pCurrentParentUserData->GetChildList()->remove( pCurrentUserData );
else
GetNavModel()->GetRootList()->remove( pCurrentUserData );
- // aus dem Container entfernen
+ // remove from container
sal_Int32 nIndex = getElementPos(xContainer, xCurrentChild);
GetNavModel()->m_pPropChangeList->Lock();
- // die Undo-Action fuer das Rausnehmen
+ // UndoAction for removal
if ( bUndo && GetNavModel()->m_pPropChangeList->CanUndo())
{
pFormModel->AddUndo(new FmUndoContainerAction(*pFormModel, FmUndoContainerAction::Removed,
@@ -1086,7 +1085,7 @@ namespace svxform
FmUndoContainerAction::DisposeElement( xCurrentChild );
}
- // Events mitkopieren
+ // copy events
Reference< XEventAttacherManager > xManager(xContainer, UNO_QUERY);
Sequence< ScriptEventDescriptor > aEvts;
@@ -1094,29 +1093,29 @@ namespace svxform
aEvts = xManager->getScriptEvents(nIndex);
xContainer->removeByIndex(nIndex);
- // die Selection raus
+ // remove selection
Select(pCurrent, false);
- // und weg
+ // and delete it
Remove(pCurrentUserData);
- // die Stelle innerhalb des DropParents, an der ich die gedroppten Eintraege einfuegen muss
+ // position in DropParents, where to insert dropped entries
if (pTargetData)
xContainer = Reference< XIndexContainer > (pTargetData->GetElement(), UNO_QUERY);
else
xContainer = Reference< XIndexContainer > (GetNavModel()->GetForms(), UNO_QUERY);
- // immer ganz hinten einfuegen
+ // allways insert at the end
nIndex = xContainer->getCount();
- // UndoAction fuer das Einfuegen
+ // UndoAction for insertion
if ( bUndo && GetNavModel()->m_pPropChangeList->CanUndo())
pFormModel->AddUndo(new FmUndoContainerAction(*pFormModel, FmUndoContainerAction::Inserted,
xContainer, xCurrentChild, nIndex));
- // einfuegen im neuen Container
+ // insert in new container
if (pTargetData)
{
- // es wird in eine Form eingefuegt, dann brauche ich eine FormComponent
+ // insert in a form needs a FormComponent
xContainer->insertByIndex( nIndex,
makeAny( Reference< XFormComponent >( xCurrentChild, UNO_QUERY ) ) );
}
@@ -1135,16 +1134,16 @@ namespace svxform
GetNavModel()->m_pPropChangeList->UnLock();
- // zuerst dem Eintrag das neue Parent
+ // give an entry the new parent
pCurrentUserData->SetParent(pTargetData);
- // dann dem Parent das neue Child
+ // give parent the new child
if (pTargetData)
pTargetData->GetChildList()->insert( pCurrentUserData, nIndex );
else
GetNavModel()->GetRootList()->insert( pCurrentUserData, nIndex );
- // dann bei mir selber bekanntgeben und neu selektieren
+ // announce to myself and reselect
SvTreeListEntry* pNew = Insert( pCurrentUserData, nIndex );
if ( ( aDropped.begin() == dropped ) && pNew )
{
@@ -1312,21 +1311,21 @@ namespace svxform
return false;
return (pEntry && (pEntry->GetUserData() != NULL));
- // die Wurzel, die ich nicht umbenennen darf, hat als UserData NULL
+ // root, which isn't allowed to be renamed, has UserData=NULL
}
void NavigatorTree::NewForm( SvTreeListEntry* pParentEntry )
{
- // ParentFormData holen
+ // get ParentFormData
if( !IsFormEntry(pParentEntry) )
return;
FmFormData* pParentFormData = (FmFormData*)pParentEntry->GetUserData();
- // Neue Form erzeugen
+ // create new form
Reference<XComponentContext> xContext = comphelper::getProcessComponentContext();
Reference< XForm > xNewForm(xContext->getServiceManager()->createInstanceWithContext(FM_SUN_COMPONENT_FORM, xContext), UNO_QUERY);
if (!xNewForm.is())
@@ -1335,7 +1334,7 @@ namespace svxform
FmFormData* pNewFormData = new FmFormData( xNewForm, m_aNavigatorImages, pParentFormData );
- // Namen setzen
+ // set name
OUString aName = GenerateName(pNewFormData);
pNewFormData->SetText(aName);
@@ -1355,11 +1354,11 @@ namespace svxform
- // Form einfuegen
+ // insert form
GetNavModel()->Insert( pNewFormData, TREELIST_APPEND, true );
- // Neue Form als aktive Form setzen
+ // set new form as active
FmFormShell* pFormShell = GetNavModel()->GetFormShell();
if( pFormShell )
{
@@ -1372,7 +1371,7 @@ namespace svxform
GetNavModel()->SetModified();
- // In EditMode schalten
+ // switch to EditMode
SvTreeListEntry* pNewEntry = FindEntry( pNewFormData );
EditEntry( pNewEntry );
}
@@ -1381,7 +1380,7 @@ namespace svxform
FmControlData* NavigatorTree::NewControl( const OUString& rServiceName, SvTreeListEntry* pParentEntry, bool bEditName )
{
- // ParentForm holen
+ // get ParentForm
if (!GetNavModel()->GetFormShell())
return NULL;
if (!IsFormEntry(pParentEntry))
@@ -1391,7 +1390,7 @@ namespace svxform
Reference< XForm > xParentForm( pParentFormData->GetFormIface());
- // Neue Component erzeugen
+ // create new component
Reference<XComponentContext> xContext = comphelper::getProcessComponentContext();
Reference<XFormComponent> xNewComponent( xContext->getServiceManager()->createInstanceWithContext(rServiceName, xContext), UNO_QUERY);
if (!xNewComponent.is())
@@ -1400,7 +1399,7 @@ namespace svxform
FmControlData* pNewFormControlData = new FmControlData( xNewComponent, m_aNavigatorImages, pParentFormData );
- // Namen setzen
+ // set name
FmFormView* pFormView = GetNavModel()->GetFormShell()->GetFormView();
SdrPageView* pPageView = pFormView->GetSdrPageView();
FmFormPage* pPage = static_cast<FmFormPage*>(pPageView->GetPage());
@@ -1410,14 +1409,14 @@ namespace svxform
pNewFormControlData->SetText( sName );
- // FormComponent einfuegen
+ // insert FormComponent
GetNavModel()->Insert( pNewFormControlData, TREELIST_APPEND, true );
GetNavModel()->SetModified();
if (bEditName)
{
- // In EditMode schalten
+ // switch to EditMode
SvTreeListEntry* pNewEntry = FindEntry( pNewFormControlData );
Select( pNewEntry, true );
EditEntry( pNewEntry );
@@ -1433,7 +1432,7 @@ namespace svxform
OUString aNewName;
- // BasisNamen erzeugen
+ // create base name
OUString aBaseName;
if( pEntryData->ISA(FmFormData) )
aBaseName = SVX_RESSTR( RID_STR_STDFORMNAME );
@@ -1441,7 +1440,7 @@ namespace svxform
aBaseName = SVX_RESSTR( RID_STR_CONTROL );
- // Neuen Namen erstellen
+ // create new name
FmFormData* pFormParentData = static_cast<FmFormData*>(pEntryData->GetParent());
for( sal_Int32 i=0; i<nMaxCount; i++ )
@@ -1501,12 +1500,12 @@ namespace svxform
{
SvTreeListEntry* pToExpand = GetEntry(m_aTimerTriggered);
if (pToExpand && (GetChildCount(pToExpand) > 0) && !IsExpanded(pToExpand))
- // tja, eigentlich muesste ich noch testen, ob die Node nicht schon expandiert ist, aber ich
- // habe dazu weder in den Basisklassen noch im Model eine Methode gefunden ...
- // aber ich denke, die BK sollte es auch so vertragen
+ // normaly, we have to test, if the node is expanded,
+ // but there is no method for this either in base class nor the model
+ // the base class should tolerate it anyway
Expand(pToExpand);
- // nach dem Expand habe ich im Gegensatz zum Scrollen natuerlich nix mehr zu tun
+ // After expansion there is nothing to do like after scrolling
m_aDropActionTimer.Stop();
}
break;
@@ -1582,10 +1581,10 @@ namespace svxform
void NavigatorTree::ShowSelectionProperties(bool bForce)
{
- // zuerst brauche ich die FormShell
+ // at first i need the FormShell
FmFormShell* pFormShell = GetNavModel()->GetFormShell();
if (!pFormShell)
- // keine Shell -> ich koennte kein curObject setzen -> raus
+ // no shell -> impossible to set curObject -> leave
return;
CollectSelectionData(SDI_ALL);
@@ -1609,22 +1608,22 @@ namespace svxform
if (m_arrCurrentSelection.size() == 1)
{
if (m_nFormsSelected > 0)
- { // es ist genau eine Form selektiert
+ { // exactly one form is selected
FmFormData* pFormData = (FmFormData*)(*m_arrCurrentSelection.begin())->GetUserData();
aSelection.insert( Reference< XInterface >( pFormData->GetFormIface(), UNO_QUERY ) );
}
else
- { // es ist genau ein Control selektiert (egal ob hidden oder normal)
+ { // exactly one control is selected (whatever hidden or normal)
FmEntryData* pEntryData = (FmEntryData*)(*m_arrCurrentSelection.begin())->GetUserData();
aSelection.insert( Reference< XInterface >( pEntryData->GetElement(), UNO_QUERY ) );
}
}
else
- { // wir haben eine MultiSelection, also muessen wir ein MultiSet dafuer aufbauen
+ { // it's a MultiSelection, so we must build a MultiSet
if (m_nFormsSelected > 0)
- { // ... nur Forms
- // erstmal die PropertySet-Interfaces der Forms einsammeln
+ { // ... only forms
+ // first of all collect PropertySet-Interfaces of the forms
SvLBoxEntrySortedArray::const_iterator it = m_arrCurrentSelection.begin();
for ( sal_Int32 i = 0; i < m_nFormsSelected; ++i )
{
@@ -1634,9 +1633,9 @@ namespace svxform
}
}
else
- { // ... nur Controls
+ { // ... only controls
if (m_nHiddenControls == m_nControlsSelected)
- { // ein MultiSet fuer die Properties der hidden controls
+ { // a MultiSet for properties of hidden controls
SvLBoxEntrySortedArray::const_iterator it = m_arrCurrentSelection.begin();
for ( sal_Int32 i = 0; i < m_nHiddenControls; ++i )
{
@@ -1646,7 +1645,7 @@ namespace svxform
}
}
else if (m_nHiddenControls == 0)
- { // nur normale Controls
+ { // only normal controls
bSetSelectionAsMarkList = true;
}
}
@@ -1654,7 +1653,7 @@ namespace svxform
}
- // und dann meine Form und mein SelObject
+ // and now my form and my SelObject
if ( bSetSelectionAsMarkList )
pFormShell->GetImpl()->setCurrentSelectionFromMark( pFormShell->GetFormView()->GetMarkedObjectList() );
else
@@ -1662,7 +1661,7 @@ namespace svxform
if ( pFormShell->GetImpl()->IsPropBrwOpen() || bForce )
{
- // und jetzt kann ich das Ganze dem PropertyBrowser uebergeben
+ // and now deliver all to the PropertyBrowser
pFormShell->GetViewShell()->GetViewFrame()->GetDispatcher()->Execute( SID_FM_SHOW_PROPERTY_BROWSER, SfxCallMode::ASYNCHRON );
}
}
@@ -1670,18 +1669,18 @@ namespace svxform
void NavigatorTree::DeleteSelection()
{
- // die Root darf ich natuerlich nicht mitloeschen
+ // of course, i can't delete root
bool bRootSelected = IsSelected(m_pRootEntry);
sal_uIntPtr nSelectedEntries = GetSelectionCount();
- if (bRootSelected && (nSelectedEntries > 1)) // die Root plus andere Elemente ?
- Select(m_pRootEntry, false); // ja -> die Root raus
+ if (bRootSelected && (nSelectedEntries > 1)) // root and other elements ?
+ Select(m_pRootEntry, false); // yes -> remove root from selection
- if ((nSelectedEntries == 0) || bRootSelected) // immer noch die Root ?
- return; // -> sie ist das einzige selektierte -> raus
+ if ((nSelectedEntries == 0) || bRootSelected) // still root ?
+ return; // -> only selected element -> leave
- DBG_ASSERT(!m_bPrevSelectionMixed, "NavigatorTree::DeleteSelection() : loeschen nicht erlaubt wenn Markierung und Selektion nciht konsistent");
+ DBG_ASSERT(!m_bPrevSelectionMixed, "NavigatorTree::DeleteSelection() : delete permitted if mark and selection are inconsistant");
- // ich brauche unten das FormModel ...
+ // i need the FormModel later
FmFormShell* pFormShell = GetNavModel()->GetFormShell();
if (!pFormShell)
return;
@@ -1689,10 +1688,10 @@ namespace svxform
if (!pFormModel)
return;
- // jetzt muss ich noch die DeleteList etwas absichern : wenn man ein Formular und ein abhaengiges
- // Element loescht - und zwar in dieser Reihenfolge - dann ist der SvLBoxEntryPtr des abhaengigen Elementes
- // natuerlich schon ungueltig, wenn es geloescht werden soll ... diesen GPF, den es dann mit Sicherheit gibt,
- // gilt es zu verhindern, also die 'normalisierte' Liste
+ // now i have to safeguard the DeleteList : if you delete a form and a dependent element
+ // - in this order - than the SvLBoxEntryPtr of the dependent element is allready invlaid,
+ // when it should be deleted ... you have to prohibit this GPF, that of course would happen,
+ // so i take the 'normalized' list
CollectSelectionData( SDI_NORMALIZED );
// see below for why we need this mapping from models to shapes
@@ -1718,19 +1717,19 @@ namespace svxform
{
FmEntryData* pCurrent = static_cast<FmEntryData*>((*it)->GetUserData());
- // eine Form ?
+ // a form ?
bool bIsForm = pCurrent->ISA(FmFormData);
- // da ich das Loeschen im folgenden der View ueberlasse und dabei auf deren MarkList aufbaue, im Normalfall aber bei
- // einem makierten Formular nur die direkt, nicht die indirekt abhaengigen Controls markiert werden, muss ich das hier
- // noch nachholen
+ // because deletion is done by the view, and i build on its MarkList,
+ // but normally only direct controls, no indirect ones, are marked in a marked form,
+ // i have to do it later
if (bIsForm)
- MarkViewObj(static_cast<FmFormData*>(pCurrent), true, true); // das zweite sal_True heisst "deep"
+ MarkViewObj(static_cast<FmFormData*>(pCurrent), true, true); // second sal_True means "deep"
- // ein hidden control ?
+ // a hidden control ?
bool bIsHidden = IsHiddenControl(pCurrent);
- // Forms und hidden Controls muss ich behalten, alles andere nicht
+ // keep forms and hidden controls, the rest not
if (!bIsForm && !bIsHidden)
{
// well, no form and no hidden control -> we can remove it from m_arrCurrentSelection, as it will
@@ -1759,7 +1758,7 @@ namespace svxform
pFormShell->GetFormView()->DeleteMarked();
// start UNDO at this point. Unfortunately, this results in 2 UNDO actions, since DeleteMarked is
- // creating an own one. However, if we'd move it before DeleteMarked, Writer does not really like
+ // creating an own one. However, if we'd move it before DeleteMarked, Writer doesi not really like
// this ... :(
// #i31038#
{
@@ -1795,13 +1794,13 @@ namespace svxform
if ( pCurrent->GetChildList()->size() )
continue;
- // noch ein kleines Problem, bevor ich das ganz loesche : wenn es eine Form ist und die Shell diese als CurrentObject
- // kennt, dann muss ich ihr das natuerlich ausreden
+ // one remaining subtile problem, before deleting it : if it's a form and the shell
+ // knows it as CurrentObject, i have to tell it something else
if (pCurrent->ISA(FmFormData))
{
Reference< XForm > xCurrentForm( static_cast< FmFormData* >( pCurrent )->GetFormIface() );
- if ( pFormShell->GetImpl()->getCurrentForm() == xCurrentForm ) // die Shell kennt die zu loeschende Form ?
- pFormShell->GetImpl()->forgetCurrentForm(); // -> wegnehmen ...
+ if ( pFormShell->GetImpl()->getCurrentForm() == xCurrentForm ) // shell knows form to be deleted ?
+ pFormShell->GetImpl()->forgetCurrentForm(); // -> take away ...
}
GetNavModel()->Remove(pCurrent, true);
}
@@ -1822,7 +1821,7 @@ namespace svxform
SvTreeListEntry* pSelectionLoop = FirstSelected();
while (pSelectionLoop)
{
- // erst mal die Zaehlung der verschiedenen Elemente
+ // count different elements
if (pSelectionLoop == m_pRootEntry)
m_bRootSelected = true;
else
@@ -1839,7 +1838,7 @@ namespace svxform
if (sdiHow == SDI_NORMALIZED)
{
- // alles, was schon einen selektierten Vorfahr hat, nicht mitnehmen
+ // don't take something with a selected ancestor
if (pSelectionLoop == m_pRootEntry)
m_arrCurrentSelection.insert(pSelectionLoop);
else
@@ -1847,16 +1846,17 @@ namespace svxform
SvTreeListEntry* pParentLoop = GetParent(pSelectionLoop);
while (pParentLoop)
{
- // eigentlich muesste ich testen, ob das Parent in der m_arrCurrentSelection steht ...
- // Aber wenn es selektiert ist, dann steht es in m_arrCurrentSelection, oder wenigstens einer seiner Vorfahren,
- // wenn der auch schon selektiert war. In beiden Faellen reicht also die Abfrage IsSelected
+ // actually i would have to test, if parent is part of m_arr_CurrentSelection ...
+ // but if it's selected, than it's in m_arrCurrentSelection
+ // or one of it's ancestors, which was selected earlier.
+ // In both cases IsSelected is enough
if (IsSelected(pParentLoop))
break;
else
{
if (m_pRootEntry == pParentLoop)
{
- // bis (exclusive) zur Root gab es kein selektiertes Parent -> der Eintrag gehoert in die normalisierte Liste
+ // until root (exclusive), there was no selected parent -> entry belongs to normalized list
m_arrCurrentSelection.insert(pSelectionLoop);
break;
}
@@ -1892,7 +1892,7 @@ namespace svxform
}
else
{
- // erst mal gleiche ich meine aktuelle Selektion mit der geforderten SelectList ab
+ // compare current selection with requested SelectList
SvTreeListEntry* pSelection = FirstSelected();
while (pSelection)
{
@@ -1901,14 +1901,14 @@ namespace svxform
{
FmEntryDataArray::iterator it = arredToSelect.find(pCurrent);
if ( it != arredToSelect.end() )
- { // der Entry ist schon selektiert, steht aber auch in der SelectList -> er kann aus letzterer
- // raus
+ { // entry allready selected, but also in SelectList
+ // remove it from there
arredToSelect.erase(it);
} else
- { // der Entry ist selektiert, aber steht nicht in der SelectList -> Selektion rausnehmen
+ { // entry selected, but not in SelectList -> remove selection
Select(pSelection, false);
- // und sichtbar machen (kann ja sein, dass das die einzige Modifikation ist, die ich hier in dem
- // ganzen Handler mache, dann sollte das zu sehen sein)
+ // make it visible (maybe it's the only modification i do in this handler
+ // so you should see it
MakeVisible(pSelection);
}
}
@@ -1918,15 +1918,14 @@ namespace svxform
pSelection = NextSelected(pSelection);
}
- // jetzt habe ich in der SelectList genau die Eintraege, die noch selektiert werden muessen
- // zwei Moeglichkeiten : 1) ich gehe durch die SelectList, besorge mir zu jedem Eintrag meinen SvTreeListEntry
- // und selektiere diesen (waere irgendwie intuitiver ;)) 2) ich gehe durch alle meine SvLBoxEntries und selektiere
- // genau die, die ich in der SelectList finde
- // 1) braucht O(k*n) (k=Laenge der SelectList, n=Anzahl meiner Entries), plus den Fakt, dass FindEntry nicht den
- // Pointer auf die UserDaten vergleicht, sondern ein aufwendigeres IsEqualWithoutChildren durchfuehrt
- // 2) braucht O(n*log k), dupliziert aber etwas Code (naemlich den aus FindEntry)
- // da das hier eine relativ oft aufgerufenen Stelle sein koennte (bei jeder Aenderung in der Markierung in der View !),
- // nehme ich doch lieber letzteres
+ // now SelectList contains only entries, which have to be selected
+ // two possabilities : 1) run through SelectList, get SvTreeListEntry for every entry and select it (is more intuitive)
+ // 2) run through my SvLBoxEntries and select those, i can find in the SelectList
+ // 1) needs =(k*n) (k=length of SelectList, n=number of entries),
+ // plus the fact, that FindEntry uses extensive IsEqualWithoutChilden instead of comparing pointer to UserData
+ // 2) needs =(n*log k), dublicates some code from FindEntry
+ // This may be a frequently used code ( at every change in mark of the view!),
+ // so i use latter one
SvTreeListEntry* pLoop = First();
while( pLoop )
{
@@ -1948,7 +1947,7 @@ namespace svxform
void NavigatorTree::SynchronizeSelection()
{
- // Shell und View
+ // shell and view
FmFormShell* pFormShell = GetNavModel()->GetFormShell();
if(!pFormShell) return;
@@ -1961,13 +1960,13 @@ namespace svxform
void NavigatorTree::SynchronizeMarkList()
{
- // die Shell werde ich brauchen ...
+ // i'll need this shell
FmFormShell* pFormShell = GetNavModel()->GetFormShell();
if (!pFormShell) return;
CollectSelectionData(SDI_NORMALIZED_FORMARK);
- // Die View soll jetzt kein Notify bei einer Aenderung der MarkList rauslassen
+ // the view shouldn't notify now if MarkList changed
pFormShell->GetImpl()->EnableTrackProperties(false);
UnmarkAllViewObj();
@@ -1976,18 +1975,18 @@ namespace svxform
it != m_arrCurrentSelection.end(); ++it)
{
SvTreeListEntry* pSelectionLoop = *it;
- // Bei Formselektion alle Controls dieser Form markieren
+ // When form selection, mark all controls of form
if (IsFormEntry(pSelectionLoop) && (pSelectionLoop != m_pRootEntry))
MarkViewObj((FmFormData*)pSelectionLoop->GetUserData(), true, false);
- // Bei Controlselektion Control-SdrObjects markieren
+ // When control selection, mark Control-SdrObjects
else if (IsFormComponentEntry(pSelectionLoop))
{
FmControlData* pControlData = (FmControlData*)pSelectionLoop->GetUserData();
if (pControlData)
{
- // Beim HiddenControl kann kein Object selektiert werden
+ // When HiddenControl no object can be selected
Reference< XFormComponent > xFormComponent( pControlData->GetFormComponent());
if (!xFormComponent.is())
continue;
@@ -2002,18 +2001,17 @@ namespace svxform
}
}
- // wenn der PropertyBrowser offen ist, muss ich den entsprechend meiner Selektion anpassen
- // (NICHT entsprechend der MarkList der View : wenn ich ein Formular selektiert habe, sind in der
- // View alle zugehoerigen Controls markiert, trotzdem moechte ich natuerlich die Formular-Eigenschaften
- // sehen)
+ // if PropertyBrowser is open, i have to adopt it according to my selection
+ // (Not as MarkList of view : if a form is selected, all belonging controls are selected in the view
+ // but of course i want to see the form-properties
ShowSelectionProperties(false);
- // Flag an View wieder zuruecksetzen
+ // reset flag at view
pFormShell->GetImpl()->EnableTrackProperties(true);
- // wenn jetzt genau eine Form selektiert ist, sollte die Shell das als CurrentForm mitbekommen
- // (wenn SelectionHandling nicht locked ist, kuemmert sich die View eigentlich in MarkListHasChanged drum,
- // aber der Mechanismus greift zum Beispiel nicht, wenn die Form leer ist)
+ // if exactly one form is selected now, shell should notice it as CurrentForm
+ // (if selection handling isn't locked, view cares about it in MarkListHasChanged
+ // but mechanism doesn't work, if form is empty for example
if ((m_arrCurrentSelection.size() == 1) && (m_nFormsSelected == 1))
{
FmFormData* pSingleSelectionData = PTR_CAST( FmFormData, static_cast< FmEntryData* >( FirstSelected()->GetUserData() ) );
@@ -2044,7 +2042,7 @@ namespace svxform
bool NavigatorTree::Select( SvTreeListEntry* pEntry, bool bSelect )
{
- if (bSelect == IsSelected(pEntry)) // das passiert manchmal, ich glaube, die Basisklasse geht zu sehr auf Nummer sicher ;)
+ if (bSelect == IsSelected(pEntry)) // this happens sometimes, maybe base class is to exact ;)
return true;
return SvTreeListBox::Select(pEntry, bSelect );
@@ -2071,7 +2069,7 @@ namespace svxform
CollectObjects(pFormData,bDeep,aObjects);
- // In der Page das entsprechende SdrObj finden und selektieren
+ // find and select appropriate SdrObj in page
FmFormView* pFormView = pFormShell->GetFormView();
SdrPageView* pPageView = pFormView->GetSdrPageView();
SdrPage* pPage = pPageView->GetPage();
@@ -2135,7 +2133,7 @@ namespace svxform
return;
- // In der Page das entsprechende SdrObj finden und selektieren
+ // find and select appropriate SdrObj
FmFormView* pFormView = pFormShell->GetFormView();
Reference< XFormComponent > xFormComponent( pControlData->GetFormComponent());
SdrPageView* pPageView = pFormView->GetSdrPageView();
diff --git a/svx/source/form/navigatortreemodel.cxx b/svx/source/form/navigatortreemodel.cxx
index 2c6b7ce..ebeedc2 100644
--- a/svx/source/form/navigatortreemodel.cxx
+++ b/svx/source/form/navigatortreemodel.cxx
@@ -97,7 +97,7 @@ namespace svxform
if (IsLocked() || !m_pNavModel)
return;
- // keine Undoaction einfuegen
+ // insert no Undoaction
m_bCanUndo = false;
Reference< XInterface > xTemp;
@@ -138,7 +138,7 @@ namespace svxform
m_bCanUndo = false;
- // EntryData loeschen
+ // delete EntryData
Reference< XFormComponent > xReplaced;
evt.ReplacedElement >>= xReplaced;
FmEntryData* pEntryData = m_pNavModel->FindData(xReplaced, m_pNavModel->GetRootList(), true);
@@ -149,7 +149,7 @@ namespace svxform
Reference< XFormComponent > xComp;
evt.Element >>= xComp;
DBG_ASSERT(xComp.is(), "OFormComponentObserver::elementReplaced : invalid argument !");
- // an einer FmControlData sollte eine XFormComponent haengen
+ // FmControlData should be coupled with XFormComponent
m_pNavModel->ReplaceFormComponent(xReplaced, xComp);
}
else if (pEntryData->ISA(FmFormData))
@@ -170,7 +170,7 @@ namespace svxform
m_bCanUndo = false;
- // EntryData loeschen
+ // delete EntryData
FmEntryData* pEntryData = m_pNavModel->FindData( _rxElement, m_pNavModel->GetRootList(), true );
if (pEntryData)
m_pNavModel->Remove(pEntryData);
@@ -201,7 +201,7 @@ namespace svxform
NavigatorTreeModel::~NavigatorTreeModel()
{
- // Als Listener abmelden
+ // unregister Listener
if( m_pFormShell)
{
FmFormModel* pFormModel = m_pFormShell->GetFormModel();
@@ -236,11 +236,11 @@ namespace svxform
xForms->removeContainerListener((XContainerListener*)m_pPropChangeList);
- // RootList loeschen
+ // delete RootList
GetRootList()->clear();
- // UI benachrichtigen
+ // notify UI
FmNavClearedHint aClearedHint;
Broadcast( aClearedHint );
}
@@ -299,7 +299,7 @@ namespace svxform
nRelPos));
}
- // das Element muss den Typ haben, den der Container erwartet
+ // Element has to be of the expected type by the container
if (xContainer->getElementType() ==
cppu::UnoType<XForm>::get())
@@ -323,14 +323,13 @@ namespace svxform
m_pFormModel->EndUndo();
}
-
- // Als PropertyChangeListener anmelden
+ // register as PropertyChangeListener
Reference< XPropertySet > xSet(xElement, UNO_QUERY);
if( xSet.is() )
xSet->addPropertyChangeListener( FM_PROP_NAME, m_pPropChangeList );
- // Daten aus Model entfernen
+ // Remove data from model
if (pEntry->ISA(FmFormData))
{
Reference< XContainer > xContainer(xElement, UNO_QUERY);
@@ -344,7 +343,7 @@ namespace svxform
GetRootList()->insert( pEntry, nRelPos );
- // UI benachrichtigen
+ // notify UI
FmNavInsertedHint aInsertedHint( pEntry, nRelPos );
Broadcast( aInsertedHint );
@@ -357,7 +356,7 @@ namespace svxform
void NavigatorTreeModel::Remove(FmEntryData* pEntry, bool bAlterModel)
{
- // Form und Parent holen
+ // get form and parent
if (!pEntry || !m_pFormModel)
return;
@@ -385,7 +384,7 @@ namespace svxform
}
}
- // jetzt die eigentliche Entfernung der Daten aus dem Model
+ // now real deletion of data form model
if (pEntry->ISA(FmFormData))
RemoveForm(static_cast<FmFormData*>(pEntry));
else
@@ -395,7 +394,7 @@ namespace svxform
if (bAlterModel)
{
Reference< XIndexContainer > xContainer(xElement->getParent(), UNO_QUERY);
- // aus dem Container entfernen
+ // remove from Container
sal_Int32 nContainerIndex = getElementPos(xContainer.get(), xElement);
// UndoAction
if (nContainerIndex >= 0)
@@ -419,24 +418,24 @@ namespace svxform
m_pFormModel->EndUndo();
}
- // beim Vater austragen
+ // remove from parent
if (pFolder)
pFolder->GetChildList()->remove( pEntry );
else
{
GetRootList()->remove( pEntry );
- // Wenn keine Form mehr in der Root, an der Shell CurForm zuruecksetzen
+ // If root has no more form, reset CurForm at shell
if ( !GetRootList()->size() )
m_pFormShell->GetImpl()->forgetCurrentForm();
}
- // UI benachrichtigen
+ // notify UI
FmNavRemovedHint aRemovedHint( pEntry );
Broadcast( aRemovedHint );
- // Eintrag loeschen
+ // delete entry
delete pEntry;
m_pPropChangeList->UnLock();
@@ -447,7 +446,7 @@ namespace svxform
void NavigatorTreeModel::RemoveForm(FmFormData* pFormData)
{
- // Form und Parent holen
+ // get form and parent
if (!pFormData || !m_pFormModel)
return;
@@ -457,7 +456,7 @@ namespace svxform
FmEntryData* pEntryData = pChildList->at( --i );
- // Child ist Form -> rekursiver Aufruf
+ // Child is form -> recursive call
if( pEntryData->ISA(FmFormData) )
RemoveForm( static_cast<FmFormData*>(pEntryData));
else if( pEntryData->ISA(FmControlData) )
@@ -465,7 +464,7 @@ namespace svxform
}
- // Als PropertyChangeListener abmelden
+ // unregister as PropertyChangeListener
Reference< XPropertySet > xSet( pFormData->GetPropertySet() );
if ( xSet.is() )
xSet->removePropertyChangeListener( FM_PROP_NAME, m_pPropChangeList );
@@ -479,12 +478,12 @@ namespace svxform
void NavigatorTreeModel::RemoveFormComponent(FmControlData* pControlData)
{
- // Control und Parent holen
+ // get control and parent
if (!pControlData)
return;
- // Als PropertyChangeListener abmelden
+ // unregister as PropertyChangeListener
Reference< XPropertySet > xSet( pControlData->GetPropertySet() );
if (xSet.is())
xSet->removePropertyChangeListener( FM_PROP_NAME, m_pPropChangeList);
@@ -494,7 +493,7 @@ namespace svxform
void NavigatorTreeModel::ClearBranch( FmFormData* pParentData )
{
- // Alle Eintraege dieses Zweiges loeschen
+ // delete all entries of this branch
FmEntryDataList* pChildList = pParentData->GetChildList();
for( size_t i = pChildList->size(); i > 0; )
@@ -511,7 +510,7 @@ namespace svxform
void NavigatorTreeModel::FillBranch( FmFormData* pFormData )
{
- // Forms aus der Root einfuegen
+ // insert froms from root
if( pFormData == NULL )
{
Reference< XIndexContainer > xForms(GetForms(), UNO_QUERY);
@@ -530,13 +529,13 @@ namespace svxform
Insert( pSubFormData, CONTAINER_APPEND );
- // Neuer Branch, wenn SubForm wiederum Subforms enthaelt
+ // new branch, if SubForm contains Subforms itself
FillBranch( pSubFormData );
}
}
- // Componenten einfuegen
+ // insert components
else
{
Reference< XIndexContainer > xComponents( GetFormComponents(pFormData));
@@ -554,12 +553,12 @@ namespace svxform
Reference< XForm > xSubForm(xCurrentComponent, UNO_QUERY);
if (xSubForm.is())
- { // die aktuelle Component ist eine Form
+ { // actuell component is a form
pSubFormData = new FmFormData(xSubForm, m_aNormalImages, pFormData);
Insert(pSubFormData, CONTAINER_APPEND);
- // Neuer Branch, wenn SubForm wiederum Subforms enthaelt
+ // new branch, if SubForm contains Subfroms itself
FillBranch(pSubFormData);
}
else
@@ -579,7 +578,7 @@ namespace svxform
return;
- // ParentData setzen
+ // set ParentData
Reference< XInterface > xIFace( xForm->getParent());
Reference< XForm > xParentForm(xIFace, UNO_QUERY);
FmFormData* pParentData = NULL;
@@ -594,7 +593,7 @@ namespace svxform
void NavigatorTreeModel::InsertFormComponent(const Reference< XFormComponent > & xComp, sal_uInt32 nRelPos)
{
- // ParentData setzen
+ // set ParentData
Reference< XInterface > xIFace( xComp->getParent());
Reference< XForm > xForm(xIFace, UNO_QUERY);
if (!xForm.is())
@@ -610,11 +609,11 @@ namespace svxform
if (!FindData(xComp, pParentData->GetChildList(),false))
{
- // Neue EntryData setzen
+ // set new EntryData
FmEntryData* pNewEntryData = new FmControlData( xComp, m_aNormalImages, pParentData );
- // Neue EntryData einfuegen
+ // insert new EntryData
Insert( pNewEntryData, nRelPos );
}
}
@@ -706,11 +705,11 @@ namespace svxform
break;
}
}
- // hat sich die shell verabschiedet?
+ // is shell gone?
else if ( dynamic_cast<const SfxSimpleHint*>(&rHint) && static_cast<const SfxSimpleHint*>(&rHint)->GetId() == SFX_HINT_DYING)
UpdateContent((FmFormShell*)NULL);
- // hat sich die Markierung der Controls veraendert ?
+ // changed mark of controls?
else if (dynamic_cast<const FmNavViewMarksChanged*>(&rHint))
{
const FmNavViewMarksChanged* pvmcHint = static_cast<const FmNavViewMarksChanged*>(&rHint);
@@ -774,7 +773,7 @@ namespace svxform
bool NavigatorTreeModel::InsertFormComponent(FmNavRequestSelectHint& rHint, SdrObject* pObject)
{
if ( pObject->ISA(SdrObjGroup) )
- { // rekursiv absteigen
+ { // descend recursively
const SdrObjList *pChildren = static_cast<SdrObjGroup*>(pObject)->GetSubList();
for ( size_t i=0; i<pChildren->GetObjCount(); ++i )
{
@@ -811,7 +810,7 @@ namespace svxform
void NavigatorTreeModel::BroadcastMarkedObjects(const SdrMarkList& mlMarked)
{
- // gehen wir durch alle markierten Objekte und suchen wir die raus, mit denen ich was anfangen kann
+ // search all objects, which can be handled, out of marked objects
FmNavRequestSelectHint rshRequestSelection;
bool bIsMixedSelection = false;
@@ -819,7 +818,7 @@ namespace svxform
{
SdrObject* pobjCurrent = mlMarked.GetMark(i)->GetMarkedSdrObj();
bIsMixedSelection |= !InsertFormComponent(rshRequestSelection, pobjCurrent);
- // bei einem Nicht-Form-Control liefert InsertFormComponent sal_False !
+ // if Not-Form-Control, InsertFormComponent returns sal_False !
}
rshRequestSelection.SetMixedSelection(bIsMixedSelection);
@@ -827,14 +826,14 @@ namespace svxform
rshRequestSelection.ClearItems();
Broadcast(rshRequestSelection);
- // eine leere Liste interpretiert der NavigatorTree so, dass er seine Selektion komplett rausnimmt
+ // an empty list causes NavigatorTree to remove his selection
}
void NavigatorTreeModel::UpdateContent( const Reference< css::form::XForms > & xForms )
{
- // Model von der Root aufwaerts neu fuellen
+ // refill model form root upward
Clear();
if (xForms.is())
{
@@ -842,9 +841,9 @@ namespace svxform
FillBranch(NULL);
- // jetzt in meinem Tree genau die das in meiner View markierte Control selektieren
- // (bzw alle solchen), falls es eines gibt ...
- if(!m_pFormShell) return; // keine Shell -> wech
+ // select same control in tree as in view
+ // (or all of them), if there is one ...
+ if(!m_pFormShell) return; // no shell
FmFormView* pFormView = m_pFormShell->GetFormView();
DBG_ASSERT(pFormView != NULL, "NavigatorTreeModel::UpdateContent : keine FormView");
@@ -856,13 +855,13 @@ namespace svxform
void NavigatorTreeModel::UpdateContent( FmFormShell* pShell )
{
- // Wenn Shell sich nicht veraendert hat, nichts machen
+ // If shell is unchanged, do nothing
FmFormPage* pNewPage = pShell ? pShell->GetCurPage() : NULL;
if ((pShell == m_pFormShell) && (m_pFormPage == pNewPage))
return;
- // Als Listener abmelden
+ // unregister as Listener
if( m_pFormShell )
{
if (m_pFormModel)
@@ -873,7 +872,7 @@ namespace svxform
}
- // Vollupdate
+ // entire update
m_pFormShell = pShell;
if (m_pFormShell)
{
@@ -883,7 +882,7 @@ namespace svxform
m_pFormPage = NULL;
- // Als Listener neu anmelden
+ // register as Listener again
if( m_pFormShell )
{
StartListening( *m_pFormShell );
@@ -897,7 +896,7 @@ namespace svxform
Reference< XIndexContainer > NavigatorTreeModel::GetFormComponents( FmFormData* pFormData )
{
- // Von der Form Components holen
+ // get components from form
if (pFormData)
return Reference< XIndexContainer > (pFormData->GetFormIface(), UNO_QUERY);
@@ -908,11 +907,11 @@ namespace svxform
bool NavigatorTreeModel::Rename( FmEntryData* pEntryData, const OUString& rNewText )
{
- // Wenn Name schon vorhanden, Fehlermeldung
+ // If name already exist, error message
pEntryData->SetText( rNewText );
- // PropertySet besorgen
+ // get PropertySet
Reference< XFormComponent > xFormComponent;
if( pEntryData->ISA(FmFormData) )
@@ -933,7 +932,7 @@ namespace svxform
if( !xSet.is() ) return false;
- // Namen setzen
+ // set name
xSet->setPropertyValue( FM_PROP_NAME, makeAny(rNewText) );
return true;
More information about the Libreoffice-commits
mailing list