enhanced dragdrop, speedup for moving branches
authorinsilmaril
Tue, 19 Jul 2005 14:44:30 +0000
changeset 1299b9c7e8b9147
parent 128 0dc9286ad3d4
child 130 30cd58b70d02
enhanced dragdrop, speedup for moving branches
branchobj.cpp
demos/time-management.vym
demos/todo.vym
exportxhtmldialog.ui
linkablemapobj.cpp
mainwindow.cpp
mapeditor.cpp
mapeditor.h
mapobj.cpp
mapobj.h
misc.cpp
misc.h
version.h
     1.1 --- a/branchobj.cpp	Wed Jul 13 11:36:15 2005 +0000
     1.2 +++ b/branchobj.cpp	Tue Jul 19 14:44:30 2005 +0000
     1.3 @@ -1091,15 +1091,14 @@
     1.4  {
     1.5  	// Find current parent and 
     1.6  	// remove pointer to myself there
     1.7 -
     1.8  	if (!dst) return NULL;
     1.9 -
    1.10  	BranchObj *par=(BranchObj*)(parObj);
    1.11  	if (par)
    1.12  		par->removeBranchPtr (this);
    1.13  	else
    1.14  		return NULL;
    1.15  
    1.16 +	// Create new pointer to myself at dst
    1.17  	if (pos<0||dst->getDepth()==0)
    1.18  	{	
    1.19  		// links myself as last branch at dst
     2.1 Binary file demos/time-management.vym has changed
     3.1 Binary file demos/todo.vym has changed
     4.1 --- a/exportxhtmldialog.ui	Wed Jul 13 11:36:15 2005 +0000
     4.2 +++ b/exportxhtmldialog.ui	Tue Jul 19 14:44:30 2005 +0000
     4.3 @@ -8,8 +8,8 @@
     4.4          <rect>
     4.5              <x>0</x>
     4.6              <y>0</y>
     4.7 -            <width>614</width>
     4.8 -            <height>757</height>
     4.9 +            <width>514</width>
    4.10 +            <height>468</height>
    4.11          </rect>
    4.12      </property>
    4.13      <property name="minimumSize">
    4.14 @@ -21,11 +21,11 @@
    4.15      <property name="caption">
    4.16          <string>Export XHTML</string>
    4.17      </property>
    4.18 -    <vbox>
    4.19 +    <grid>
    4.20          <property name="name">
    4.21              <cstring>unnamed</cstring>
    4.22          </property>
    4.23 -        <widget class="QLayoutWidget">
    4.24 +        <widget class="QLayoutWidget" row="0" column="0">
    4.25              <property name="name">
    4.26                  <cstring>layout17</cstring>
    4.27              </property>
    4.28 @@ -80,14 +80,60 @@
    4.29                  </widget>
    4.30              </hbox>
    4.31          </widget>
    4.32 -        <widget class="QButtonGroup">
    4.33 +        <widget class="QLayoutWidget" row="5" column="0">
    4.34 +            <property name="name">
    4.35 +                <cstring>layout17</cstring>
    4.36 +            </property>
    4.37 +            <hbox>
    4.38 +                <property name="name">
    4.39 +                    <cstring>unnamed</cstring>
    4.40 +                </property>
    4.41 +                <spacer>
    4.42 +                    <property name="name">
    4.43 +                        <cstring>spacer5</cstring>
    4.44 +                    </property>
    4.45 +                    <property name="orientation">
    4.46 +                        <enum>Horizontal</enum>
    4.47 +                    </property>
    4.48 +                    <property name="sizeType">
    4.49 +                        <enum>Expanding</enum>
    4.50 +                    </property>
    4.51 +                    <property name="sizeHint">
    4.52 +                        <size>
    4.53 +                            <width>61</width>
    4.54 +                            <height>21</height>
    4.55 +                        </size>
    4.56 +                    </property>
    4.57 +                </spacer>
    4.58 +                <widget class="QPushButton">
    4.59 +                    <property name="name">
    4.60 +                        <cstring>exportButton</cstring>
    4.61 +                    </property>
    4.62 +                    <property name="text">
    4.63 +                        <string>Export</string>
    4.64 +                    </property>
    4.65 +                    <property name="default">
    4.66 +                        <bool>true</bool>
    4.67 +                    </property>
    4.68 +                </widget>
    4.69 +                <widget class="QPushButton">
    4.70 +                    <property name="name">
    4.71 +                        <cstring>cancelButton</cstring>
    4.72 +                    </property>
    4.73 +                    <property name="text">
    4.74 +                        <string>Cancel</string>
    4.75 +                    </property>
    4.76 +                </widget>
    4.77 +            </hbox>
    4.78 +        </widget>
    4.79 +        <widget class="QButtonGroup" row="1" column="0">
    4.80              <property name="name">
    4.81                  <cstring>buttonGroup2</cstring>
    4.82              </property>
    4.83              <property name="sizePolicy">
    4.84                  <sizepolicy>
    4.85 -                    <hsizetype>3</hsizetype>
    4.86 -                    <vsizetype>3</vsizetype>
    4.87 +                    <hsizetype>5</hsizetype>
    4.88 +                    <vsizetype>5</vsizetype>
    4.89                      <horstretch>0</horstretch>
    4.90                      <verstretch>0</verstretch>
    4.91                  </sizepolicy>
    4.92 @@ -155,180 +201,260 @@
    4.93                  </widget>
    4.94              </vbox>
    4.95          </widget>
    4.96 -        <widget class="QLayoutWidget">
    4.97 +        <widget class="QGroupBox" row="2" column="0">
    4.98              <property name="name">
    4.99 -                <cstring>layout6</cstring>
   4.100 +                <cstring>groupBox2</cstring>
   4.101 +            </property>
   4.102 +            <property name="title">
   4.103 +                <string>Stylesheets</string>
   4.104              </property>
   4.105              <grid>
   4.106                  <property name="name">
   4.107                      <cstring>unnamed</cstring>
   4.108                  </property>
   4.109 -                <widget class="QPushButton" row="5" column="3">
   4.110 +                <widget class="QLayoutWidget" row="1" column="0">
   4.111                      <property name="name">
   4.112 -                        <cstring>browsePostExportButton</cstring>
   4.113 +                        <cstring>layout7</cstring>
   4.114                      </property>
   4.115 -                    <property name="sizePolicy">
   4.116 -                        <sizepolicy>
   4.117 -                            <hsizetype>0</hsizetype>
   4.118 -                            <vsizetype>0</vsizetype>
   4.119 -                            <horstretch>0</horstretch>
   4.120 -                            <verstretch>0</verstretch>
   4.121 -                        </sizepolicy>
   4.122 +                    <hbox>
   4.123 +                        <property name="name">
   4.124 +                            <cstring>unnamed</cstring>
   4.125 +                        </property>
   4.126 +                        <widget class="QLabel">
   4.127 +                            <property name="name">
   4.128 +                                <cstring>textLabel2</cstring>
   4.129 +                            </property>
   4.130 +                            <property name="sizePolicy">
   4.131 +                                <sizepolicy>
   4.132 +                                    <hsizetype>0</hsizetype>
   4.133 +                                    <vsizetype>5</vsizetype>
   4.134 +                                    <horstretch>0</horstretch>
   4.135 +                                    <verstretch>0</verstretch>
   4.136 +                                </sizepolicy>
   4.137 +                            </property>
   4.138 +                            <property name="minimumSize">
   4.139 +                                <size>
   4.140 +                                    <width>125</width>
   4.141 +                                    <height>0</height>
   4.142 +                                </size>
   4.143 +                            </property>
   4.144 +                            <property name="text">
   4.145 +                                <string>XSL:</string>
   4.146 +                            </property>
   4.147 +                            <property name="alignment">
   4.148 +                                <set>AlignVCenter|AlignRight</set>
   4.149 +                            </property>
   4.150 +                        </widget>
   4.151 +                        <widget class="QLineEdit">
   4.152 +                            <property name="name">
   4.153 +                                <cstring>lineEditXSL</cstring>
   4.154 +                            </property>
   4.155 +                        </widget>
   4.156 +                        <widget class="QPushButton">
   4.157 +                            <property name="name">
   4.158 +                                <cstring>browseXSLButton</cstring>
   4.159 +                            </property>
   4.160 +                            <property name="sizePolicy">
   4.161 +                                <sizepolicy>
   4.162 +                                    <hsizetype>0</hsizetype>
   4.163 +                                    <vsizetype>0</vsizetype>
   4.164 +                                    <horstretch>0</horstretch>
   4.165 +                                    <verstretch>0</verstretch>
   4.166 +                                </sizepolicy>
   4.167 +                            </property>
   4.168 +                            <property name="text">
   4.169 +                                <string>Browse</string>
   4.170 +                            </property>
   4.171 +                        </widget>
   4.172 +                    </hbox>
   4.173 +                </widget>
   4.174 +                <widget class="QLayoutWidget" row="0" column="0">
   4.175 +                    <property name="name">
   4.176 +                        <cstring>layout6</cstring>
   4.177                      </property>
   4.178 -                    <property name="text">
   4.179 -                        <string>Browse</string>
   4.180 -                    </property>
   4.181 -                </widget>
   4.182 -                <widget class="QLabel" row="4" column="0" rowspan="1" colspan="2">
   4.183 -                    <property name="name">
   4.184 -                        <cstring>textLabel1_3</cstring>
   4.185 -                    </property>
   4.186 -                    <property name="sizePolicy">
   4.187 -                        <sizepolicy>
   4.188 -                            <hsizetype>1</hsizetype>
   4.189 -                            <vsizetype>5</vsizetype>
   4.190 -                            <horstretch>0</horstretch>
   4.191 -                            <verstretch>0</verstretch>
   4.192 -                        </sizepolicy>
   4.193 -                    </property>
   4.194 -                    <property name="text">
   4.195 -                        <string>Before export:</string>
   4.196 -                    </property>
   4.197 -                    <property name="alignment">
   4.198 -                        <set>AlignVCenter|AlignRight</set>
   4.199 -                    </property>
   4.200 -                </widget>
   4.201 -                <widget class="QLineEdit" row="2" column="1" rowspan="1" colspan="2">
   4.202 -                    <property name="name">
   4.203 -                        <cstring>lineEditXSL</cstring>
   4.204 -                    </property>
   4.205 -                </widget>
   4.206 -                <widget class="QPushButton" row="2" column="3">
   4.207 -                    <property name="name">
   4.208 -                        <cstring>browseXSLButton</cstring>
   4.209 -                    </property>
   4.210 -                    <property name="sizePolicy">
   4.211 -                        <sizepolicy>
   4.212 -                            <hsizetype>0</hsizetype>
   4.213 -                            <vsizetype>0</vsizetype>
   4.214 -                            <horstretch>0</horstretch>
   4.215 -                            <verstretch>0</verstretch>
   4.216 -                        </sizepolicy>
   4.217 -                    </property>
   4.218 -                    <property name="text">
   4.219 -                        <string>Browse</string>
   4.220 -                    </property>
   4.221 -                </widget>
   4.222 -                <widget class="QLineEdit" row="4" column="2">
   4.223 -                    <property name="name">
   4.224 -                        <cstring>lineEditPreScript</cstring>
   4.225 -                    </property>
   4.226 -                </widget>
   4.227 -                <widget class="QPushButton" row="4" column="3">
   4.228 -                    <property name="name">
   4.229 -                        <cstring>browsePreExportButton</cstring>
   4.230 -                    </property>
   4.231 -                    <property name="sizePolicy">
   4.232 -                        <sizepolicy>
   4.233 -                            <hsizetype>0</hsizetype>
   4.234 -                            <vsizetype>0</vsizetype>
   4.235 -                            <horstretch>0</horstretch>
   4.236 -                            <verstretch>0</verstretch>
   4.237 -                        </sizepolicy>
   4.238 -                    </property>
   4.239 -                    <property name="text">
   4.240 -                        <string>Browse</string>
   4.241 -                    </property>
   4.242 -                </widget>
   4.243 -                <widget class="QLabel" row="0" column="0">
   4.244 -                    <property name="name">
   4.245 -                        <cstring>textLabel2_3</cstring>
   4.246 -                    </property>
   4.247 -                    <property name="text">
   4.248 -                        <string>Stylesheets:</string>
   4.249 -                    </property>
   4.250 -                </widget>
   4.251 -                <widget class="QPushButton" row="1" column="3">
   4.252 -                    <property name="name">
   4.253 -                        <cstring>browseCSSButton</cstring>
   4.254 -                    </property>
   4.255 -                    <property name="sizePolicy">
   4.256 -                        <sizepolicy>
   4.257 -                            <hsizetype>0</hsizetype>
   4.258 -                            <vsizetype>0</vsizetype>
   4.259 -                            <horstretch>0</horstretch>
   4.260 -                            <verstretch>0</verstretch>
   4.261 -                        </sizepolicy>
   4.262 -                    </property>
   4.263 -                    <property name="text">
   4.264 -                        <string>Browse</string>
   4.265 -                    </property>
   4.266 -                </widget>
   4.267 -                <widget class="QLabel" row="1" column="0">
   4.268 -                    <property name="name">
   4.269 -                        <cstring>textLabel1_2</cstring>
   4.270 -                    </property>
   4.271 -                    <property name="text">
   4.272 -                        <string>CSS:</string>
   4.273 -                    </property>
   4.274 -                    <property name="alignment">
   4.275 -                        <set>AlignVCenter|AlignRight</set>
   4.276 -                    </property>
   4.277 -                </widget>
   4.278 -                <widget class="QLabel" row="5" column="0" rowspan="1" colspan="2">
   4.279 -                    <property name="name">
   4.280 -                        <cstring>textLabel2_2</cstring>
   4.281 -                    </property>
   4.282 -                    <property name="sizePolicy">
   4.283 -                        <sizepolicy>
   4.284 -                            <hsizetype>1</hsizetype>
   4.285 -                            <vsizetype>5</vsizetype>
   4.286 -                            <horstretch>0</horstretch>
   4.287 -                            <verstretch>0</verstretch>
   4.288 -                        </sizepolicy>
   4.289 -                    </property>
   4.290 -                    <property name="frameShape">
   4.291 -                        <enum>NoFrame</enum>
   4.292 -                    </property>
   4.293 -                    <property name="text">
   4.294 -                        <string>After Export:</string>
   4.295 -                    </property>
   4.296 -                    <property name="alignment">
   4.297 -                        <set>AlignVCenter|AlignRight</set>
   4.298 -                    </property>
   4.299 -                </widget>
   4.300 -                <widget class="QLineEdit" row="1" column="1" rowspan="1" colspan="2">
   4.301 -                    <property name="name">
   4.302 -                        <cstring>lineEditCSS</cstring>
   4.303 -                    </property>
   4.304 -                </widget>
   4.305 -                <widget class="QLabel" row="2" column="0">
   4.306 -                    <property name="name">
   4.307 -                        <cstring>textLabel2</cstring>
   4.308 -                    </property>
   4.309 -                    <property name="text">
   4.310 -                        <string>XSL:</string>
   4.311 -                    </property>
   4.312 -                    <property name="alignment">
   4.313 -                        <set>AlignVCenter|AlignRight</set>
   4.314 -                    </property>
   4.315 -                </widget>
   4.316 -                <widget class="QLineEdit" row="5" column="2">
   4.317 -                    <property name="name">
   4.318 -                        <cstring>lineEditPostScript</cstring>
   4.319 -                    </property>
   4.320 -                </widget>
   4.321 -                <widget class="QLabel" row="3" column="0">
   4.322 -                    <property name="name">
   4.323 -                        <cstring>textLabel1_4</cstring>
   4.324 -                    </property>
   4.325 -                    <property name="text">
   4.326 -                        <string>Scripts:</string>
   4.327 -                    </property>
   4.328 +                    <hbox>
   4.329 +                        <property name="name">
   4.330 +                            <cstring>unnamed</cstring>
   4.331 +                        </property>
   4.332 +                        <widget class="QLabel">
   4.333 +                            <property name="name">
   4.334 +                                <cstring>textLabel1_2</cstring>
   4.335 +                            </property>
   4.336 +                            <property name="sizePolicy">
   4.337 +                                <sizepolicy>
   4.338 +                                    <hsizetype>0</hsizetype>
   4.339 +                                    <vsizetype>5</vsizetype>
   4.340 +                                    <horstretch>0</horstretch>
   4.341 +                                    <verstretch>0</verstretch>
   4.342 +                                </sizepolicy>
   4.343 +                            </property>
   4.344 +                            <property name="minimumSize">
   4.345 +                                <size>
   4.346 +                                    <width>125</width>
   4.347 +                                    <height>0</height>
   4.348 +                                </size>
   4.349 +                            </property>
   4.350 +                            <property name="text">
   4.351 +                                <string>CSS:</string>
   4.352 +                            </property>
   4.353 +                            <property name="alignment">
   4.354 +                                <set>AlignVCenter|AlignRight</set>
   4.355 +                            </property>
   4.356 +                        </widget>
   4.357 +                        <widget class="QLineEdit">
   4.358 +                            <property name="name">
   4.359 +                                <cstring>lineEditCSS</cstring>
   4.360 +                            </property>
   4.361 +                        </widget>
   4.362 +                        <widget class="QPushButton">
   4.363 +                            <property name="name">
   4.364 +                                <cstring>browseCSSButton</cstring>
   4.365 +                            </property>
   4.366 +                            <property name="sizePolicy">
   4.367 +                                <sizepolicy>
   4.368 +                                    <hsizetype>0</hsizetype>
   4.369 +                                    <vsizetype>0</vsizetype>
   4.370 +                                    <horstretch>0</horstretch>
   4.371 +                                    <verstretch>0</verstretch>
   4.372 +                                </sizepolicy>
   4.373 +                            </property>
   4.374 +                            <property name="text">
   4.375 +                                <string>Browse</string>
   4.376 +                            </property>
   4.377 +                        </widget>
   4.378 +                    </hbox>
   4.379                  </widget>
   4.380              </grid>
   4.381          </widget>
   4.382 -        <spacer>
   4.383 +        <widget class="QGroupBox" row="3" column="0">
   4.384 +            <property name="name">
   4.385 +                <cstring>groupBox1</cstring>
   4.386 +            </property>
   4.387 +            <property name="title">
   4.388 +                <string>Scripts</string>
   4.389 +            </property>
   4.390 +            <grid>
   4.391 +                <property name="name">
   4.392 +                    <cstring>unnamed</cstring>
   4.393 +                </property>
   4.394 +                <widget class="QLayoutWidget" row="0" column="0">
   4.395 +                    <property name="name">
   4.396 +                        <cstring>layout4</cstring>
   4.397 +                    </property>
   4.398 +                    <hbox>
   4.399 +                        <property name="name">
   4.400 +                            <cstring>unnamed</cstring>
   4.401 +                        </property>
   4.402 +                        <widget class="QLabel">
   4.403 +                            <property name="name">
   4.404 +                                <cstring>textLabel1_3</cstring>
   4.405 +                            </property>
   4.406 +                            <property name="sizePolicy">
   4.407 +                                <sizepolicy>
   4.408 +                                    <hsizetype>0</hsizetype>
   4.409 +                                    <vsizetype>5</vsizetype>
   4.410 +                                    <horstretch>0</horstretch>
   4.411 +                                    <verstretch>0</verstretch>
   4.412 +                                </sizepolicy>
   4.413 +                            </property>
   4.414 +                            <property name="minimumSize">
   4.415 +                                <size>
   4.416 +                                    <width>125</width>
   4.417 +                                    <height>0</height>
   4.418 +                                </size>
   4.419 +                            </property>
   4.420 +                            <property name="text">
   4.421 +                                <string>Before export:</string>
   4.422 +                            </property>
   4.423 +                            <property name="alignment">
   4.424 +                                <set>AlignVCenter|AlignRight</set>
   4.425 +                            </property>
   4.426 +                        </widget>
   4.427 +                        <widget class="QLineEdit">
   4.428 +                            <property name="name">
   4.429 +                                <cstring>lineEditPostScript</cstring>
   4.430 +                            </property>
   4.431 +                        </widget>
   4.432 +                        <widget class="QPushButton">
   4.433 +                            <property name="name">
   4.434 +                                <cstring>browsePreExportButton</cstring>
   4.435 +                            </property>
   4.436 +                            <property name="sizePolicy">
   4.437 +                                <sizepolicy>
   4.438 +                                    <hsizetype>0</hsizetype>
   4.439 +                                    <vsizetype>0</vsizetype>
   4.440 +                                    <horstretch>0</horstretch>
   4.441 +                                    <verstretch>0</verstretch>
   4.442 +                                </sizepolicy>
   4.443 +                            </property>
   4.444 +                            <property name="text">
   4.445 +                                <string>Browse</string>
   4.446 +                            </property>
   4.447 +                        </widget>
   4.448 +                    </hbox>
   4.449 +                </widget>
   4.450 +                <widget class="QLayoutWidget" row="1" column="0">
   4.451 +                    <property name="name">
   4.452 +                        <cstring>layout5</cstring>
   4.453 +                    </property>
   4.454 +                    <hbox>
   4.455 +                        <property name="name">
   4.456 +                            <cstring>unnamed</cstring>
   4.457 +                        </property>
   4.458 +                        <widget class="QLabel">
   4.459 +                            <property name="name">
   4.460 +                                <cstring>textLabel2_2</cstring>
   4.461 +                            </property>
   4.462 +                            <property name="sizePolicy">
   4.463 +                                <sizepolicy>
   4.464 +                                    <hsizetype>0</hsizetype>
   4.465 +                                    <vsizetype>5</vsizetype>
   4.466 +                                    <horstretch>0</horstretch>
   4.467 +                                    <verstretch>0</verstretch>
   4.468 +                                </sizepolicy>
   4.469 +                            </property>
   4.470 +                            <property name="minimumSize">
   4.471 +                                <size>
   4.472 +                                    <width>125</width>
   4.473 +                                    <height>0</height>
   4.474 +                                </size>
   4.475 +                            </property>
   4.476 +                            <property name="frameShape">
   4.477 +                                <enum>NoFrame</enum>
   4.478 +                            </property>
   4.479 +                            <property name="text">
   4.480 +                                <string>After Export:</string>
   4.481 +                            </property>
   4.482 +                            <property name="alignment">
   4.483 +                                <set>AlignVCenter|AlignRight</set>
   4.484 +                            </property>
   4.485 +                        </widget>
   4.486 +                        <widget class="QLineEdit">
   4.487 +                            <property name="name">
   4.488 +                                <cstring>lineEditPreScript</cstring>
   4.489 +                            </property>
   4.490 +                        </widget>
   4.491 +                        <widget class="QPushButton">
   4.492 +                            <property name="name">
   4.493 +                                <cstring>browsePostExportButton</cstring>
   4.494 +                            </property>
   4.495 +                            <property name="sizePolicy">
   4.496 +                                <sizepolicy>
   4.497 +                                    <hsizetype>0</hsizetype>
   4.498 +                                    <vsizetype>0</vsizetype>
   4.499 +                                    <horstretch>0</horstretch>
   4.500 +                                    <verstretch>0</verstretch>
   4.501 +                                </sizepolicy>
   4.502 +                            </property>
   4.503 +                            <property name="text">
   4.504 +                                <string>Browse</string>
   4.505 +                            </property>
   4.506 +                        </widget>
   4.507 +                    </hbox>
   4.508 +                </widget>
   4.509 +            </grid>
   4.510 +        </widget>
   4.511 +        <spacer row="4" column="0">
   4.512              <property name="name">
   4.513                  <cstring>spacer3</cstring>
   4.514              </property>
   4.515 @@ -336,62 +462,16 @@
   4.516                  <enum>Vertical</enum>
   4.517              </property>
   4.518              <property name="sizeType">
   4.519 -                <enum>Expanding</enum>
   4.520 +                <enum>MinimumExpanding</enum>
   4.521              </property>
   4.522              <property name="sizeHint">
   4.523                  <size>
   4.524                      <width>20</width>
   4.525 -                    <height>60</height>
   4.526 +                    <height>20</height>
   4.527                  </size>
   4.528              </property>
   4.529          </spacer>
   4.530 -        <widget class="QLayoutWidget">
   4.531 -            <property name="name">
   4.532 -                <cstring>layout17</cstring>
   4.533 -            </property>
   4.534 -            <hbox>
   4.535 -                <property name="name">
   4.536 -                    <cstring>unnamed</cstring>
   4.537 -                </property>
   4.538 -                <spacer>
   4.539 -                    <property name="name">
   4.540 -                        <cstring>spacer5</cstring>
   4.541 -                    </property>
   4.542 -                    <property name="orientation">
   4.543 -                        <enum>Horizontal</enum>
   4.544 -                    </property>
   4.545 -                    <property name="sizeType">
   4.546 -                        <enum>Expanding</enum>
   4.547 -                    </property>
   4.548 -                    <property name="sizeHint">
   4.549 -                        <size>
   4.550 -                            <width>61</width>
   4.551 -                            <height>21</height>
   4.552 -                        </size>
   4.553 -                    </property>
   4.554 -                </spacer>
   4.555 -                <widget class="QPushButton">
   4.556 -                    <property name="name">
   4.557 -                        <cstring>exportButton</cstring>
   4.558 -                    </property>
   4.559 -                    <property name="text">
   4.560 -                        <string>Export</string>
   4.561 -                    </property>
   4.562 -                    <property name="default">
   4.563 -                        <bool>true</bool>
   4.564 -                    </property>
   4.565 -                </widget>
   4.566 -                <widget class="QPushButton">
   4.567 -                    <property name="name">
   4.568 -                        <cstring>cancelButton</cstring>
   4.569 -                    </property>
   4.570 -                    <property name="text">
   4.571 -                        <string>Cancel</string>
   4.572 -                    </property>
   4.573 -                </widget>
   4.574 -            </hbox>
   4.575 -        </widget>
   4.576 -    </vbox>
   4.577 +    </grid>
   4.578  </widget>
   4.579  <connections>
   4.580      <connection>
     5.1 --- a/linkablemapobj.cpp	Wed Jul 13 11:36:15 2005 +0000
     5.2 +++ b/linkablemapobj.cpp	Tue Jul 19 14:44:30 2005 +0000
     5.3 @@ -536,7 +536,6 @@
     5.4  		part=s.section(",",0,0);
     5.5  		typ=part.left (3);
     5.6  		num=part.right(part.length() - 3);
     5.7 -		
     5.8  		if (typ=="mc:")
     5.9  		{
    5.10  			if (depth>0)
     6.1 --- a/mainwindow.cpp	Wed Jul 13 11:36:15 2005 +0000
     6.2 +++ b/mainwindow.cpp	Tue Jul 19 14:44:30 2005 +0000
     6.3 @@ -1861,7 +1861,7 @@
     6.4  	{
     6.5  		QMessageBox::information( findWindow, tr( "VYM -Information:" ),
     6.6  							   tr("No matches found for ")+
     6.7 -							   "'<b>"+s+"</b>'");
     6.8 +							   "<b>"+s+"</b>");
     6.9  	}	
    6.10  }
    6.11  
     7.1 --- a/mapeditor.cpp	Wed Jul 13 11:36:15 2005 +0000
     7.2 +++ b/mapeditor.cpp	Tue Jul 19 14:44:30 2005 +0000
     7.3 @@ -18,6 +18,7 @@
     7.4  #include <qdragobject.h>
     7.5  #include <qurloperator.h>
     7.6  #include <qnetworkprotocol.h>
     7.7 +#include <qregexp.h>
     7.8  
     7.9  #include <iostream>
    7.10  #include <cstdlib>
    7.11 @@ -611,37 +612,93 @@
    7.12  	*/
    7.13  }
    7.14  
    7.15 -void MapEditor::parseAtom(const QString &s)
    7.16 +void MapEditor::parseAtom(const QString &atom)
    7.17  {
    7.18  	API api;
    7.19 -	QString c,p,p0;
    7.20 -	api.parseCommand (s,c,p);
    7.21 -	api.getString(p,p0);
    7.22 -	/* FIXME testing
    7.23 -	cout <<"ME::parseAtom  s="<<s<<endl;
    7.24 -	cout <<"ME::parseAtom  c="<<c<<endl;
    7.25 -	cout <<"ME::parseAtom  p="<<p<<endl;
    7.26 -	*/
    7.27 -
    7.28 +	QString s;
    7.29 +	int x,y;
    7.30 +	bool ok;
    7.31 +
    7.32 +	// Split string s into command and parameters
    7.33 +	api.parseCommand (atom);
    7.34 +	QString com=api.command();
    7.35 +	
    7.36  	// External commands
    7.37 -	if (c==QString("moveBranchUp"))
    7.38 +	if (com==QString("moveBranchUp"))
    7.39  		moveBranchUp();
    7.40 -	else if (c=="moveBranchDown")
    7.41 +	else if (com=="moveBranchDown")
    7.42  		moveBranchDown();
    7.43 -	else if (c=="setHeading")
    7.44 -		setHeading (p0);
    7.45 +	else if (com=="move")
    7.46 +	{
    7.47 +		if (api.checkParamCount(2) &&
    7.48 +			selection && 
    7.49 +			typeid(*selection) == typeid(BranchObj) ) 
    7.50 +		{	
    7.51 +			x=api.parInt (ok,0);
    7.52 +			if (ok)
    7.53 +			{
    7.54 +				y=api.parInt (ok,1);
    7.55 +				if (ok) ((BranchObj*)(selection))->move (x,y);
    7.56 +			}
    7.57 +		}	
    7.58 +	}
    7.59 +	else if (com=="linkBranchToPos")
    7.60 +	{
    7.61 +		if (selection && typeid(*selection) == typeid(BranchObj) ) 
    7.62 +		{
    7.63 +			if (api.checkParamCount(4))
    7.64 +			{
    7.65 +				s=api.parString(ok,0);
    7.66 +				LinkableMapObj *dst=mapCenter->findObjBySelect (s);
    7.67 +				if (dst)
    7.68 +				{	
    7.69 +					if (typeid(*dst) == typeid(BranchObj) ) 
    7.70 +						((BranchObj*)(selection))->moveBranchTo ((BranchObj*)(dst),-1);
    7.71 +					if (typeid(*dst) == typeid(MapCenterObj) ) 
    7.72 +					{
    7.73 +						((BranchObj*)(selection))->moveBranchTo ((BranchObj*)(dst),-1);
    7.74 +						x=api.parInt (ok,2);
    7.75 +						if (ok)
    7.76 +						{
    7.77 +							y=api.parInt (ok,3);
    7.78 +							if (ok) ((BranchObj*)(selection))->move (x,y);
    7.79 +						}
    7.80 +					}	
    7.81 +				}	
    7.82 +			}
    7.83 +		}
    7.84 +	} else if (com=="setHeading")
    7.85 +	{
    7.86 +		if (api.checkParamCount(1))
    7.87 +		{
    7.88 +			s=api.parString (ok,0);
    7.89 +			if (ok) setHeading (s);
    7.90 +		}	
    7.91 +	}	
    7.92  	// Internal commands, used for undo etc.	
    7.93 -	else if (c==QString("undoMap"))
    7.94 +	else if (com==QString("undoMap"))
    7.95  		undoXML("");
    7.96 -	else if (c==QString("undoPart"))
    7.97 -		undoXML(p0);
    7.98 -	else if (c=="select")
    7.99 -		select (p0);
   7.100 +	else if (com==QString("undoPart"))
   7.101 +	{
   7.102 +		if (api.checkParamCount(1))
   7.103 +		{
   7.104 +			s=api.parString (ok,0);
   7.105 +			undoXML(s);
   7.106 +		}
   7.107 +	} else if (com=="select")
   7.108 +		if (api.checkParamCount(1))
   7.109 +		{
   7.110 +			s=api.parString(ok,0);
   7.111 +			if (ok) select (s);
   7.112 +		}	
   7.113  	else
   7.114 +		api.setError ("Unknown command in: "+atom);
   7.115 +
   7.116 +	// Any errors?
   7.117 +	if (api.error())
   7.118  	{
   7.119  		cout << "MapEditor::parseAtom: Error!\n";
   7.120 -		cout << "  Command unknown: \""<<c<<"\""<<endl;
   7.121 -		cout << "     Used in atom: \""<<s<<"\""<<endl;
   7.122 +		cout << "  "<<api.errorDesc()<<endl;
   7.123  	}	
   7.124  }
   7.125  
   7.126 @@ -1233,11 +1290,13 @@
   7.127  	if (lineedit) finishedLineEditNoSave();
   7.128  
   7.129  	// Unselect
   7.130 +	/*FIXME testing
   7.131  	if (selection) 
   7.132  	{
   7.133  		selection->unselect();
   7.134  		selection=NULL;
   7.135  	}	
   7.136 +	*/	
   7.137  		
   7.138  	parseAtom (undoCommand);
   7.139  	mapCenter->reposition();
   7.140 @@ -1415,6 +1474,21 @@
   7.141  	}	
   7.142  }
   7.143  
   7.144 +void MapEditor::linkBranchToPos (LinkableMapObj *dst, const int &pos, const QPoint &p)
   7.145 +{
   7.146 +	// FIXME  no saveState, because this is only internal at undo so far
   7.147 +	if (selection && typeid(*selection) == typeid(BranchObj) ) 
   7.148 +	{
   7.149 +		if (dst  &&  typeid(*dst) == typeid(BranchObj) ) 
   7.150 +			((BranchObj*)(selection))->moveBranchTo ((BranchObj*)(dst),-1);
   7.151 +		if (dst  &&  typeid(*dst) == typeid(MapCenterObj) ) 
   7.152 +		{
   7.153 +			((BranchObj*)(selection))->moveBranchTo ((BranchObj*)(dst),-1);
   7.154 +			((BranchObj*)(selection))->move (p);
   7.155 +		}	
   7.156 +	}
   7.157 +}
   7.158 +
   7.159  void MapEditor::editHeading()
   7.160  {
   7.161  	// Finish open lineEdits
   7.162 @@ -3006,7 +3080,6 @@
   7.163  			selection->select();
   7.164  				
   7.165  			adjustCanvasSize();
   7.166 -			
   7.167  		}
   7.168  
   7.169  		// Check, if systemFlag clicked
   7.170 @@ -3035,6 +3108,11 @@
   7.171  		// Left Button	    Move Branches
   7.172  		if (e->button() == QMouseEvent::LeftButton )
   7.173  		{
   7.174 +			movingObj_start.setX( p.x() - selection->x() );	
   7.175 +			movingObj_start.setY( p.y() - selection->y() );	
   7.176 +			movingObj_orgPos.setX (lmo->x() );
   7.177 +			movingObj_orgPos.setY (lmo->y() );
   7.178 +
   7.179  			// If modMode==copy, then we want to "move" the _new_ object around
   7.180  			// then we need the offset from p to the _old_ selection, because of tmp
   7.181  			if (actionModModeCopy->isOn() &&
   7.182 @@ -3043,20 +3121,13 @@
   7.183  				if (typeid(*selection)==typeid(BranchObj) )
   7.184  				{
   7.185  					copyingObj=true;
   7.186 -					movingObj_start.setX( p.x() - selection->x() );	
   7.187 -					movingObj_start.setY( p.y() - selection->y() );	
   7.188  					mapCenter->addBranch ((BranchObj*)(selection));
   7.189  					unselect();
   7.190  					selection=mapCenter->getLastBranch();
   7.191  					selection->select();
   7.192  					mapCenter->reposition();
   7.193  				}
   7.194 -			}	else
   7.195 -			{
   7.196 -				movingObj_start.setX( p.x() - selection->x() );	
   7.197 -				movingObj_start.setY( p.y() - selection->y() );	
   7.198 -			}
   7.199 -			
   7.200 +			}	
   7.201  			movingObj=selection;	
   7.202  		} else
   7.203  			// Middle Button    Toggle Scroll
   7.204 @@ -3137,7 +3208,6 @@
   7.205  					// setLinkStyle calls updateLink, only set it once
   7.206  					if (fio->getLinkStyle()!=fio->getDefLinkStyle() ) 
   7.207  						fio->setLinkStyle (fio->getDefLinkStyle());
   7.208 -
   7.209  				}	
   7.210  				// TODO if (typeid(*selection) == typeid(FloatTextObj))
   7.211  			}
   7.212 @@ -3156,7 +3226,7 @@
   7.213  				{
   7.214  					// depth==1, mainbranch
   7.215  					setChanged();
   7.216 -					saveState(lmosel);
   7.217 +					saveState("move "+qpointToString(movingObj_orgPos));
   7.218  					lmosel->move(p.x() -movingObj_start.x(), p.y()-movingObj_start.y() );		
   7.219  				} else
   7.220  				{
   7.221 @@ -3299,50 +3369,34 @@
   7.222  
   7.223  
   7.224  			copyingObj=false;	
   7.225 -			if (!dst ) 
   7.226 +			if (dst ) 
   7.227  			{
   7.228 -				if (copyingObj)
   7.229 -				{
   7.230 -					// remove the current selection, if we have no destination
   7.231 -					selection->unselect();
   7.232 -					((BranchObj*)(selection->getParObj()))->removeBranch ((BranchObj*)(selection));
   7.233 -					if (selectionLast)
   7.234 -					{
   7.235 -						selection=selectionLast;
   7.236 -						selectionLast=NULL;
   7.237 -						selection->select();
   7.238 -					}
   7.239 -				}
   7.240 -			} else
   7.241 -			{
   7.242 +				BranchObj* bs=((BranchObj*)(selection));
   7.243  				setChanged();
   7.244 -				saveState();
   7.245 +				saveState ("linkBranchToPos (\""+ 
   7.246 +					(bs->getParObj())->getSelectString()+
   7.247 +					"\","+
   7.248 +					QString("%1").arg(bs->getNum())+
   7.249 +					","+
   7.250 +					QString ("%1,%2").arg(movingObj_orgPos.x()).arg(movingObj_orgPos.y())+
   7.251 +					")");
   7.252  				// TODO we also could check, if dest and src are on same branch,
   7.253  				// then it would be sufficient to saveState of this branch
   7.254  
   7.255  				// Modifiers allow to insert above/below dst
   7.256  				if (e->state() & QMouseEvent::ShiftButton)
   7.257  				{
   7.258 -						((BranchObj*)(selection))->moveBranchTo 
   7.259 -						(
   7.260 -							(BranchObj*)(dst),
   7.261 -							((BranchObj*)(dst))->getNum()
   7.262 -						);
   7.263 -					//if (selection) selection->select();
   7.264 +					bs->moveBranchTo ( (BranchObj*)(dst), ((BranchObj*)(dst))->getNum());
   7.265  				} else 
   7.266  				if (e->state() & QMouseEvent::ControlButton)
   7.267  				{
   7.268 -					((BranchObj*)(selection))->moveBranchTo 
   7.269 -					(
   7.270 -						(BranchObj*)(dst),
   7.271 -						((BranchObj*)(dst))->getNum()+1
   7.272 -					);
   7.273 -					//if (selection) selection->select();
   7.274 +					bs->moveBranchTo ( (BranchObj*)(dst), ((BranchObj*)(dst))->getNum()+1);
   7.275  				} else	
   7.276  				{
   7.277 -					((BranchObj*)(selection))->moveBranchTo ((BranchObj*)(dst),-1);
   7.278 +					bs->moveBranchTo ((BranchObj*)(dst),-1);
   7.279  					if (dst->getDepth()==0) 
   7.280 -						((BranchObj*)(selection))->move (savePos);
   7.281 +						bs->move (savePos);
   7.282 +						cout << "ME::release  start was: "<<movingObj_orgPos<<endl;
   7.283  				} 
   7.284  			}	
   7.285  			// Draw the original link, before selection was moved around
   7.286 @@ -3390,6 +3444,10 @@
   7.287  
   7.288  void MapEditor::contentsDragEnterEvent(QDragEnterEvent *event) 
   7.289  {
   7.290 +
   7.291 +//  for (unsigned int i=0;event->format(i);i++) // Debug mime type
   7.292 +//    cerr << event->format(i) << endl;
   7.293 +
   7.294    if (selection && 
   7.295        (typeid(*selection) == typeid(BranchObj)) || 
   7.296        (typeid(*selection) == typeid(MapCenterObj))) {
   7.297 @@ -3414,13 +3472,30 @@
   7.298      }
   7.299      
   7.300  	// If Uri are dragged from firefox 
   7.301 -    if (event->provides("text/x-moz-url") ){
   7.302 +    if (event->provides("_NETSCAPE_URL")){
   7.303        event->accept();
   7.304        return;
   7.305      }
   7.306 +
   7.307 +    // If QTextDrag can decode mime type
   7.308 +    if (QTextDrag::canDecode(event)) {
   7.309 +      event->accept();
   7.310 +      return;
   7.311 +    }
   7.312 +
   7.313    }
   7.314    event->ignore();
   7.315  }
   7.316 +
   7.317 +bool isUnicode16(const QByteArray &d) 
   7.318 +{
   7.319 +  // FIXME: make more precise check for unicode 16.
   7.320 +  // Guess unicode16 if any of second bytes are zero
   7.321 +  unsigned int length = max(0,d.size()-2)/2;
   7.322 +  for (unsigned int i = 0; i<length ; i++)
   7.323 +    if (d.at(i*2+1)==0) return true;
   7.324 +  return false;
   7.325 +}
   7.326        
   7.327  void MapEditor::contentsDropEvent(QDropEvent *event) 
   7.328  {
   7.329 @@ -3430,6 +3505,7 @@
   7.330  	{
   7.331  		bool update=false;
   7.332  		QStrList uris;
   7.333 +		QString heading;
   7.334  		if (event->provides("image/png")) 
   7.335  		{
   7.336  			QPixmap pix;
   7.337 @@ -3444,7 +3520,7 @@
   7.338  		} else if (event->provides("application/x-moz-file-promise-url") && 
   7.339  			 event->provides("application/x-moz-nativeimage")) 
   7.340  		{
   7.341 -			// Contains url to the img src in UTF-16
   7.342 +			// Contains url to the img src in unicode16
   7.343  			QByteArray d = event->encodedData("application/x-moz-file-promise-url");
   7.344  			QString url = QString((const QChar*)d.data(),d.size()/2);
   7.345  			fetchImage(url);
   7.346 @@ -3453,14 +3529,40 @@
   7.347  		} else if (event->provides ("text/uri-list"))
   7.348  		{	// Uris provided e.g. by konqueror
   7.349  			QUriDrag::decode (event,uris);
   7.350 -		} else if (event->provides ("text/x-moz-url-data"))
   7.351 +		} else if (event->provides ("_NETSCAPE_URL"))
   7.352  		{	// Uris provided by Mozilla
   7.353 -			QString str;
   7.354 -			QTextDrag::decode (event,str);
   7.355 -			uris.append(str);
   7.356 +		  QStringList l = QStringList::split("\n", event->encodedData("_NETSCAPE_URL"));
   7.357 +		  uris.append(l[0]);
   7.358 +		  heading = l[1];
   7.359 +		} else if (event->provides("text/html")) {
   7.360 +
   7.361 +		  // Handels text mime types
   7.362 +		  // Look like firefox allways handle text as unicode16 (2 bytes per char.)
   7.363 +		  QByteArray d = event->encodedData("text/html");
   7.364 +		  QString text;
   7.365 +		  if (isUnicode16(d)) 
   7.366 +		    text = QString((const QChar*)d.data(),d.size()/2);
   7.367 +		  else 
   7.368 +		    text = QString(d);
   7.369 +
   7.370 +		  textEditor->setText(text);
   7.371 +
   7.372 +		  event->accept();
   7.373 +		  update=true;
   7.374 +		} else if (event->provides("text/plain")) {
   7.375 +		  QByteArray d = event->encodedData("text/plain");
   7.376 +		  QString text;
   7.377 +		  if (isUnicode16(d))
   7.378 +		    text = QString((const QChar*)d.data(),d.size()/2);
   7.379 +		  else 
   7.380 +		    text = QString(d);
   7.381 +
   7.382 +		  textEditor->setText(text);
   7.383 +		  
   7.384 +		  event->accept();
   7.385 +		  update= true;
   7.386  		}
   7.387  
   7.388 -		
   7.389  		if (uris.count()>0)
   7.390  		{
   7.391  			QStringList files;
   7.392 @@ -3473,12 +3575,23 @@
   7.393  				if (bo)
   7.394  				{
   7.395  					s=QUriDrag::uriToLocalFile(u);
   7.396 -					if (s) 
   7.397 -						files.append(QDir::convertSeparators(s));
   7.398 -					else
   7.399 -						urls.append (u);
   7.400 -					bo->setHeading(u);
   7.401 -					bo->setURL (u);
   7.402 +					if (s) {
   7.403 +                       QString file = QDir::convertSeparators(s);
   7.404 +                       heading = QFileInfo(file).baseName();
   7.405 +                       files.append(file);
   7.406 +                       if (file.endsWith(".vym", false))
   7.407 +                           bo->setVymLink(file);
   7.408 +                       else
   7.409 +                           bo->setURL(u);
   7.410 +                   } else {
   7.411 +                       urls.append (u);
   7.412 +                       bo->setURL(u);
   7.413 +                   }
   7.414 +
   7.415 +                   if (heading)
   7.416 +                       bo->setHeading(heading);
   7.417 +                   else
   7.418 +                       bo->setHeading(u);
   7.419  				}
   7.420  			}
   7.421  			update=true;
   7.422 @@ -3486,6 +3599,7 @@
   7.423  
   7.424  		if (update) 
   7.425  		{
   7.426 +			setChanged();
   7.427  			mapCenter->reposition();
   7.428  			adjustCanvasSize();
   7.429  			canvas()->update();
   7.430 @@ -3515,8 +3629,7 @@
   7.431  }
   7.432  
   7.433  
   7.434 -void 
   7.435 -MapEditor::imageDataFetched(const QByteArray &a, QNetworkOperation */*nop*/) 
   7.436 +void MapEditor::imageDataFetched(const QByteArray &a, QNetworkOperation */*nop*/) 
   7.437  {
   7.438    if (!imageBuffer) imageBuffer = new QBuffer();
   7.439    if (!imageBuffer->isOpen()) {
   7.440 @@ -3526,21 +3639,24 @@
   7.441  }
   7.442  
   7.443  
   7.444 -void
   7.445 -MapEditor::imageDataFinished(QNetworkOperation *nop) 
   7.446 +void MapEditor::imageDataFinished(QNetworkOperation *nop) 
   7.447  {
   7.448 -  imageBuffer->close();
   7.449 -  if (nop->state()==QNetworkProtocol::StDone) {
   7.450 -    QPixmap img(imageBuffer->buffer());
   7.451 -    addFloatImage(img);
   7.452 -  }
   7.453 -
   7.454 -  delete imageBuffer;
   7.455 -  imageBuffer = 0;
   7.456 +	if (nop->state()==QNetworkProtocol::StDone) {
   7.457 +		QPixmap img(imageBuffer->buffer());
   7.458 +		addFloatImage(img);
   7.459 +	}
   7.460 +
   7.461 +	if (imageBuffer) {
   7.462 +		imageBuffer->close();
   7.463 +		if (imageBuffer) {
   7.464 +			imageBuffer->close();
   7.465 +			delete imageBuffer;
   7.466 +			imageBuffer = 0;
   7.467 +		}
   7.468 +	}
   7.469  }
   7.470  
   7.471 -void
   7.472 -MapEditor::fetchImage(const QString &url) 
   7.473 +void MapEditor::fetchImage(const QString &url) 
   7.474  {
   7.475    if (urlOperator) {
   7.476      urlOperator->stop();
     8.1 --- a/mapeditor.h	Wed Jul 13 11:36:15 2005 +0000
     8.2 +++ b/mapeditor.h	Tue Jul 19 14:44:30 2005 +0000
     8.3 @@ -84,6 +84,7 @@
     8.4      void cut();			// cut to clipboard and backup
     8.5      void moveBranchUp();
     8.6      void moveBranchDown();
     8.7 +    void linkBranchToPos(LinkableMapObj*,const int &, const QPoint &);// move selection to dst and pos
     8.8      void editHeading();					// Start editing heading 
     8.9  private:
    8.10  	void setHeading(const QString &);	// Just set the heading for selection
    8.11 @@ -190,6 +191,7 @@
    8.12      LinkableMapObj* selectionLast;	// last selection 
    8.13      MapObj* movingObj;				// moving a MapObj
    8.14  	MapObj* linkingObj_src;			// part of a link
    8.15 +    QPoint movingObj_orgPos;		// org. pos of mouse before move
    8.16      QPoint movingObj_start;			// rel. pos of mouse to absPos 
    8.17      QPoint movingCont_start;		// inital pos of moving Content or
    8.18      QPoint movingVec;				// how far has Content moved
     9.1 --- a/mapobj.cpp	Wed Jul 13 11:36:15 2005 +0000
     9.2 +++ b/mapobj.cpp	Tue Jul 19 14:44:30 2005 +0000
     9.3 @@ -1,4 +1,5 @@
     9.4  #include "mapobj.h"
     9.5 +#include "misc.h"
     9.6  
     9.7  /////////////////////////////////////////////////////////////////
     9.8  // MapObj
     9.9 @@ -70,6 +71,11 @@
    9.10      return bbox.height();
    9.11  }
    9.12  
    9.13 +QString MapObj::getPos()
    9.14 +{
    9.15 +	return qpointToString(absPos);
    9.16 +}
    9.17 +
    9.18  void MapObj::move (double x, double y) 
    9.19  {
    9.20      int xi=static_cast <int> (x);
    10.1 --- a/mapobj.h	Wed Jul 13 11:36:15 2005 +0000
    10.2 +++ b/mapobj.h	Tue Jul 19 14:44:30 2005 +0000
    10.3 @@ -9,6 +9,7 @@
    10.4  using namespace std;
    10.5  
    10.6  #define Z_BBOX     0
    10.7 +#define Z_XLINK   10
    10.8  #define Z_LINK    20
    10.9  #define Z_FRAME   50
   10.10  #define Z_SELBOX  60
   10.11 @@ -28,6 +29,7 @@
   10.12      virtual int y();
   10.13  	virtual int width();
   10.14  	virtual int height();
   10.15 +	virtual QString getPos();					// Return position as string (x,y)
   10.16      virtual void move (double x,double y);      // move to absolute Position
   10.17      virtual void moveBy (double x,double y);    // move to relative Position
   10.18      virtual bool inBBox(QPoint);				// Check if Point is in bbox
    11.1 --- a/misc.cpp	Wed Jul 13 11:36:15 2005 +0000
    11.2 +++ b/misc.cpp	Tue Jul 19 14:44:30 2005 +0000
    11.3 @@ -3,10 +3,14 @@
    11.4  
    11.5  #include "misc.h"
    11.6  
    11.7 +QString qpointToString (const QPoint &p)
    11.8 +{
    11.9 +	return "(" + QString("%1").arg(p.x()) +","+ QString ("%1").arg (p.y()) +")";
   11.10 +}
   11.11  
   11.12  ostream &operator<< (ostream &stream, QPoint const &p)
   11.13  { 
   11.14 -    return (stream << "(" << p.x() << "," << p.y() << ")");
   11.15 +    return (stream << qpointToString(p) );
   11.16  }
   11.17  
   11.18  float getAngle(const QPoint &p)
    12.1 --- a/misc.h	Wed Jul 13 11:36:15 2005 +0000
    12.2 +++ b/misc.h	Tue Jul 19 14:44:30 2005 +0000
    12.3 @@ -6,18 +6,11 @@
    12.4  
    12.5  using namespace std;
    12.6  
    12.7 -#define Z_BBOX     0
    12.8 -#define Z_XLINK   10
    12.9 -#define Z_LINK    20
   12.10 -#define Z_FRAME   50
   12.11 -#define Z_SELBOX  60
   12.12 -#define Z_ICON    80
   12.13 -#define Z_TEXT   100
   12.14 -
   12.15  enum LoadMode {NewMap,ImportAdd,ImportReplace};
   12.16  enum SaveMode {PartOfMap,CompleteMap,UndoCommand};
   12.17  
   12.18  /////////////////////////////////////////////////////////////////////////////
   12.19 +QString qpointToString (const QPoint &p);
   12.20  extern ostream &operator<< (ostream &stream, QPoint const &p);
   12.21  float getAngle(const QPoint &);
   12.22  QPoint normalise (const QPoint &);
    13.1 --- a/version.h	Wed Jul 13 11:36:15 2005 +0000
    13.2 +++ b/version.h	Tue Jul 19 14:44:30 2005 +0000
    13.3 @@ -1,7 +1,7 @@
    13.4  #ifndef VERSION_H 
    13.5  #define VERSION_H
    13.6  
    13.7 -#define __VYM_VERSION__ "1.7.0"
    13.8 -#define __BUILD_DATE__ "July 13, 2005"
    13.9 +#define __VYM_VERSION__ "1.7.1"
   13.10 +#define __BUILD_DATE__ "July 19, 2005"
   13.11  
   13.12  #endif