1.1 --- a/treeitem.cpp Thu Sep 03 08:52:00 2009 +0000
1.2 +++ b/treeitem.cpp Mon Sep 07 15:36:57 2009 +0000
1.3 @@ -15,7 +15,7 @@
1.4
1.5 TreeItem::TreeItem()
1.6 {
1.7 - //cout << "Constr. TI this="<<this<<endl;
1.8 + cout << "Constr. TI this="<<this<<endl;
1.9 init();
1.10 itemData.clear();
1.11 rootItem=this;
1.12 @@ -41,27 +41,7 @@
1.13 while (!childItems.isEmpty())
1.14 {
1.15 ti=childItems.takeFirst();
1.16 - switch (ti->getType() )
1.17 - {
1.18 - case TreeItem::MapCenter:
1.19 - delete (BranchItem*)ti;
1.20 - break;
1.21 - case TreeItem::Branch:
1.22 - delete (BranchItem*)ti;
1.23 - break;
1.24 - case TreeItem::Image:
1.25 - delete (ImageItem*)ti;
1.26 - break;
1.27 - case TreeItem::Attribute:
1.28 - delete (AttributeItem*)ti;
1.29 - break;
1.30 - case TreeItem::XLink:
1.31 - delete (XLinkItem*)ti;
1.32 - break;
1.33 - default:
1.34 - delete ti;
1.35 - break;
1.36 - }
1.37 + delete ti;
1.38 }
1.39 }
1.40
1.41 @@ -96,17 +76,6 @@
1.42 }
1.43
1.44
1.45 -/*
1.46 -void TreeItem::copy (OrnamentedObj* other) //FIXME-3 probably need deep copy of branches and data!
1.47 -
1.48 -{
1.49 - note.copy (other->note);
1.50 - model=other->model;
1.51 - hideExport=officially
1.52 - other->hideExport;
1.53 -}
1.54 -*/
1.55 -
1.56 void TreeItem::setModel (VymModel *m)
1.57 {
1.58 model=m;
1.59 @@ -238,7 +207,7 @@
1.60
1.61 int TreeItem::columnCount() const
1.62 {
1.63 - return itemData.count();
1.64 + return 1;
1.65 }
1.66
1.67 int TreeItem::branchCount() const
1.68 @@ -270,11 +239,6 @@
1.69 return 0;
1.70 }
1.71
1.72 -int TreeItem::column() const
1.73 -{
1.74 - return 0;
1.75 -}
1.76 -
1.77 int TreeItem::depth()
1.78 {
1.79 // Rootitem d=-1
1.80 @@ -291,6 +255,7 @@
1.81
1.82 TreeItem *TreeItem::parent()
1.83 {
1.84 + //cout << "TI::parent of "<<getHeadingStd()<<" is "<<parentItem<<endl;
1.85 return parentItem;
1.86 }
1.87
1.88 @@ -301,15 +266,8 @@
1.89
1.90 int TreeItem::num()
1.91 {
1.92 - switch (type)
1.93 - {
1.94 - case MapCenter: return parentItem->childItems.indexOf (this) - parentItem->branchOffset;
1.95 - case Branch: return parentItem->childItems.indexOf (this) - parentItem->branchOffset;
1.96 - case Image: return parentItem->childItems.indexOf (this) - parentItem->imageOffset;
1.97 - case Attribute: return parentItem->childItems.indexOf (this) - parentItem->attributeOffset;
1.98 - case XLink: return parentItem->childItems.indexOf (this) - parentItem->xlinkOffset;
1.99 - default: return -1;
1.100 - }
1.101 + if (!parentItem) return -1;
1.102 + return parentItem->num (this);
1.103 }
1.104
1.105 int TreeItem::num (TreeItem *item)
1.106 @@ -334,7 +292,7 @@
1.107
1.108 TreeItem::Type TreeItem::getType()
1.109 {
1.110 - if (type==Branch && depth()==0) return MapCenter; //FIXME-2 should not be necesssary
1.111 + if (type==Branch && depth()==0) return MapCenter; //FIXME-3 should not be necesssary
1.112 return type;
1.113 }
1.114
1.115 @@ -439,7 +397,7 @@
1.116 {
1.117 NoteObj n;
1.118 n.setNote(s);
1.119 - setNoteObj (n,false);
1.120 + setNoteObj (n);
1.121 }
1.122
1.123 void TreeItem::clearNote()
1.124 @@ -448,7 +406,7 @@
1.125 systemFlags.deactivate ("system-note");
1.126 }
1.127
1.128 -void TreeItem::setNoteObj(const NoteObj &n, bool updateNoteEditor){
1.129 +void TreeItem::setNoteObj(const NoteObj &n){
1.130 note=n;
1.131 if (!note.isEmpty() && !systemFlags.isActive ("system-note"))
1.132 systemFlags.activate ("system-note");
1.133 @@ -525,11 +483,6 @@
1.134 return &standardFlags;
1.135 }
1.136
1.137 -/* FIXME-3 void TreeItem::updateToolBar()
1.138 -{
1.139 - standardFlags.updateToolBar();
1.140 -}
1.141 -*/
1.142 QStringList TreeItem::activeSystemFlagNames ()
1.143 {
1.144 return systemFlags.activeFlagNames();
1.145 @@ -676,49 +629,45 @@
1.146 }
1.147
1.148
1.149 -void TreeItem::setHideTmp (HideTmpMode mode) //FIXME-2
1.150 +void TreeItem::setHideTmp (HideTmpMode mode) //FIXME-2 update visibility in derived objects...
1.151 {
1.152 - if (isBranchLikeType() )
1.153 - ((BranchItem*)this)->updateVisibility();
1.154 /*
1.155 if (type==Image)
1.156 - //updateVisibility();
1.157 - */
1.158 -
1.159 -/*
1.160 + ((ImageItem*)this)->updateVisibility();
1.161 + */
1.162
1.163 if (mode==HideExport && (hideExport || hasHiddenExportParent() ) )
1.164 {
1.165 // Hide stuff according to hideExport flag and parents
1.166 - //setVisibility (false);
1.167 - updateVisibility();
1.168 - //FIXME-2 hidden=true;
1.169 + // if (lmo) lmo->setVisibility (false);
1.170 + hidden=true;
1.171 }else
1.172 {
1.173 // Do not hide, but still take care of scrolled status
1.174 -
1.175 -
1.176 + hidden=false;
1.177 +/*
1.178 XXXXXXXX treeItem should be THIS
1.179
1.180 move visible to TreeItem???
1.181
1.182 BranchObj now has updateContents
1.183 -
1.184 - maybe also start "bool TreeItem::branchlikeType"
1.185 -
1.186 -
1.187 +*/
1.188 +/*
1.189 + if (isBranchLikeType() )
1.190 + ((BranchItem*)this)->updateVisibility();
1.191
1.192 if ( ((BranchItem*)treeItem)->hasScrolledParent((BranchItem*)treeItem))
1.193 setVisibility (false);
1.194 else
1.195 setVisibility (true);
1.196 - //FIXME-2 hidden=false;
1.197 +*/
1.198 }
1.199
1.200 -*/
1.201 +/*
1.202 // And take care of my children
1.203 for (int i=0; i<branchCount(); ++i)
1.204 - getBranchNum(i)->setHideTmp (mode);
1.205 + getBranchNum(i)->setHideTmp (mode); // FIXME-4 maybe also consider images and other types
1.206 +*/
1.207 }
1.208
1.209 bool TreeItem::hasHiddenExportParent()
1.210 @@ -752,6 +701,11 @@
1.211 return hideExport;
1.212 }
1.213
1.214 +void TreeItem::updateVisibility()
1.215 +{
1.216 + // overloaded in derived objects
1.217 +}
1.218 +
1.219 bool TreeItem::isHidden()
1.220 {
1.221 return hidden;