
--- GScribo/GScribo.pro | 22 +- GScribo/GScribo.pro.user | 1110 +++++++++++++++----- GScribo/GScribo.pro.user.1.3 | 69 +- GScribo/PagesWidget/pageswidget.cpp | 22 +- .../Rendering/{polygonitem.cpp => regionitem.cpp} | 12 +- GScribo/Rendering/{polygonitem.h => regionitem.h} | 34 +- GScribo/Rendering/rootgraphicsitem.h | 8 +- GScribo/Rendering/scene.cpp | 127 ++- GScribo/Rendering/scene.h | 54 +- .../{attributemodel.cpp => attributesmodel.cpp} | 14 +- .../{attributemodel.h => attributesmodel.h} | 27 +- GScribo/XmlWidget/selectionproxy.h | 22 +- GScribo/XmlWidget/xmldelegate.h | 2 +- GScribo/XmlWidget/xmlitem.cpp | 2 +- GScribo/XmlWidget/xmlitem.h | 19 +- GScribo/XmlWidget/xmlmodel.cpp | 7 +- GScribo/XmlWidget/xmlview.cpp | 87 +- GScribo/XmlWidget/xmlview.h | 48 +- GScribo/XmlWidget/xmlwidget.cpp | 19 +- GScribo/XmlWidget/xmlwidget.h | 17 +- GScribo/dir.h | 2 +- GScribo/listmodel.o | Bin 226616 -> 0 bytes GScribo/mainwindow.cpp | 194 +++-- GScribo/mainwindow.h | 51 +- GScribo/moc_listmodel.cpp | 79 -- GScribo/moc_listmodel.o | Bin 217712 -> 0 bytes GScribo/region.h | 23 +- GScribo/regionwidget.cpp | 45 + GScribo/regionwidget.h | 33 + GScribo/regionwidgetitem.cpp | 19 + GScribo/regionwidgetitem.h | 43 + GScribo/xml.cpp | 76 +- GScribo/xml.h | 39 +- 33 files changed, 1599 insertions(+), 727 deletions(-) rename GScribo/Rendering/{polygonitem.cpp => regionitem.cpp} (77%) rename GScribo/Rendering/{polygonitem.h => regionitem.h} (63%) rename GScribo/XmlWidget/{attributemodel.cpp => attributesmodel.cpp} (65%) rename GScribo/XmlWidget/{attributemodel.h => attributesmodel.h} (56%) delete mode 100644 GScribo/listmodel.o delete mode 100644 GScribo/moc_listmodel.cpp delete mode 100644 GScribo/moc_listmodel.o create mode 100644 GScribo/regionwidget.cpp create mode 100644 GScribo/regionwidget.h create mode 100644 GScribo/regionwidgetitem.cpp create mode 100644 GScribo/regionwidgetitem.h diff --git a/GScribo/GScribo.pro b/GScribo/GScribo.pro index 0d4784c..81bfa42 100644 --- a/GScribo/GScribo.pro +++ b/GScribo/GScribo.pro @@ -2,13 +2,13 @@ # Project created by QtCreator 2013-01-21T09:20:54 # ------------------------------------------------- QT += xml -INCLUDEPATH += /lrde/home/stage/froger_a/olena/scribo/ \ - /lrde/home/stage/froger_a/olena/_build/scribo/demo/ +INCLUDEPATH += /home/onix/olena/scribo/ \ + /home/onix/olena/_build/scribo/demo/ QMAKE_CXXFLAGS += -DNDEBUG \ -DMLN_WO_GLOBAL_VARS LIBS += -I/usr/include/graphicsImage \ -lGraphicsMagick++ \ - -ltesseract_full + -ltesseract TARGET = GScribo TEMPLATE = app SOURCES += main.cpp \ @@ -16,7 +16,7 @@ SOURCES += main.cpp \ xml.cpp \ Rendering/scene.cpp \ Rendering/selection.cpp \ - Rendering/polygonitem.cpp \ + Rendering/regionitem.cpp \ PagesWidget/pageswidget.cpp \ PagesWidget/pagesmodel.cpp \ Preferences/segmentationoptions.cpp \ @@ -28,9 +28,11 @@ SOURCES += main.cpp \ XmlWidget/xmlmodel.cpp \ XmlWidget/xmlitem.cpp \ XmlWidget/xmlattributes.cpp \ - XmlWidget/attributemodel.cpp \ + XmlWidget/attributesmodel.cpp \ PagesWidget/pagesdelegate.cpp \ - XmlWidget/xmlview.cpp + XmlWidget/xmlview.cpp \ + regionwidget.cpp \ + regionwidgetitem.cpp HEADERS += mainwindow.h \ variantpointer.h \ configs.h \ @@ -39,7 +41,7 @@ HEADERS += mainwindow.h \ xml.h \ Rendering/scene.h \ Rendering/selection.h \ - Rendering/polygonitem.h \ + Rendering/regionitem.h \ PagesWidget/pageswidget.h \ PagesWidget/pagesmodel.h \ Preferences/segmentationoptions.h \ @@ -54,10 +56,12 @@ HEADERS += mainwindow.h \ XmlWidget/xmlattributes.h \ XmlWidget/selectionproxy.h \ XmlWidget/xmldelegate.h \ - XmlWidget/attributemodel.h \ + XmlWidget/attributesmodel.h \ PagesWidget/pagesdelegate.h \ Rendering/rootgraphicsitem.h \ - XmlWidget/xmlview.h + XmlWidget/xmlview.h \ + regionwidget.h \ + regionwidgetitem.h FORMS += mainwindow.ui \ Preferences/preferencesdialog.ui \ Preferences/ocroptions.ui \ diff --git a/GScribo/GScribo.pro.user b/GScribo/GScribo.pro.user index 4243d4d..e0494a5 100644 --- a/GScribo/GScribo.pro.user +++ b/GScribo/GScribo.pro.user @@ -1,286 +1,892 @@ +<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE QtCreatorProject> +<!-- Written by Qt Creator 2.4.1, 2013-02-11T03:18:47. --> <qtcreator> <data> - <variable>RunConfiguration0-BaseEnvironmentBase</variable> - <value type="int">2</value> - </data> - <data> - <variable>RunConfiguration0-CommandLineArguments</variable> - <valuelist type="QVariantList"/> - </data> - <data> - <variable>RunConfiguration0-ProFile</variable> - <value type="QString">GScribo.pro</value> - </data> - <data> - <variable>RunConfiguration0-RunConfiguration.name</variable> - <value type="QString">GScribo</value> - </data> - <data> - <variable>RunConfiguration0-UseDyldImageSuffix</variable> - <value type="bool">false</value> - </data> - <data> - <variable>RunConfiguration0-UseTerminal</variable> - <value type="bool">false</value> - </data> - <data> - <variable>RunConfiguration0-UserEnvironmentChanges</variable> - <valuelist type="QVariantList"/> - </data> - <data> - <variable>RunConfiguration0-UserSetName</variable> - <value type="bool">false</value> - </data> - <data> - <variable>RunConfiguration0-UserSetWorkingDirectory</variable> - <value type="bool">false</value> - </data> - <data> - <variable>RunConfiguration0-UserWorkingDirectory</variable> - <value type="QString"></value> - </data> - <data> - <variable>RunConfiguration0-type</variable> - <value type="QString">Qt4ProjectManager.Qt4RunConfiguration</value> - </data> - <data> - <variable>activeRunConfiguration</variable> + <variable>ProjectExplorer.Project.ActiveTarget</variable> <value type="int">0</value> </data> <data> - <variable>activebuildconfiguration</variable> - <value type="QString">Debug</value> - </data> - <data> - <variable>buildConfiguration-Debug</variable> - <valuemap type="QVariantMap"> - <value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString">Debug</value> - <value key="QtVersionId" type="int">0</value> - <value key="ToolChain" type="int">0</value> - <value key="addQDumper" type=""></value> - <value key="buildConfiguration" type="int">2</value> - </valuemap> - </data> - <data> - <variable>buildConfiguration-Release</variable> - <valuemap type="QVariantMap"> - <value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString">Release</value> - <value key="QtVersionId" type="int">0</value> - <value key="addQDumper" type=""></value> - <value key="buildConfiguration" type="int">0</value> - </valuemap> - </data> - <data> - <variable>buildconfiguration-Debug-buildstep0</variable> - <valuemap type="QVariantMap"> - <value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString">Debug</value> - <valuelist key="abstractProcess.Environment" type="QVariantList"> - <value type="QString">DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-HTSk420eki,guid=679213ffd1e640ac61b4a56900013d29</value> - <value type="QString">DESKTOP_SESSION=fluxbox</value> - <value type="QString">DISPLAY=:0.0</value> - <value type="QString">GDMSESSION=fluxbox</value> - <value type="QString">GDM_LANG=fr_FR.UTF-8</value> - <value type="QString">GDM_XSERVER_LOCATION=local</value> - <value type="QString">GTK_MODULES=canberra-gtk-module</value> - <value type="QString">HOME=/lrde/home/stage/froger_a</value> - <value type="QString">LANG=fr_FR.UTF-8</value> - <value type="QString">LD_LIBRARY_PATH=/usr/lib/qtcreator</value> - <value type="QString">LOGNAME=froger_a</value> - <value type="QString">OLDPWD=/lrde/home/stage/froger_a/qt</value> - <value type="QString">PATH=/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/games</value> - <value type="QString">PWD=/lrde/home/stage/froger_a/qt/GScribo</value> - <value type="QString">QTDIR=/usr/share/qt4</value> - <value type="QString">SHELL=/bin/bash</value> - <value type="QString">SHLVL=2</value> - <value type="QString">SSH_AGENT_PID=6726</value> - <value type="QString">SSH_AUTH_SOCK=/tmp/ssh-DIRIVy6673/agent.6673</value> - <value type="QString">TERM=xterm</value> - <value type="QString">USER=froger_a</value> - <value type="QString">USERNAME=froger_a</value> - <value type="QString">WINDOWID=10485796</value> - <value type="QString">WINDOWPATH=7:8:8</value> - <value type="QString">XAUTHORITY=/tmp/.gdmD2O2RW</value> - <value type="QString">XDG_DATA_DIRS=/usr/local/share/:/usr/share/:/usr/share/gdm/</value> - <value type="QString">XDG_SESSION_COOKIE=9a5c41ad78622411b8e25b00459a554f-1360326402.458705-1535460395</value> - <value type="QString">XTERM_LOCALE=fr_FR.UTF-8</value> - <value type="QString">XTERM_SHELL=/bin/bash</value> - <value type="QString">XTERM_VERSION=XTerm(261)</value> - <value type="QString">_=/usr/bin/qtcreator</value> - </valuelist> - <valuelist key="abstractProcess.arguments" type="QVariantList"> - <value type="QString">/amd/nfs/volume1/home/stage/froger_a/qt/GScribo/GScribo.pro</value> - <value type="QString">-spec</value> - <value type="QString">linux-g++</value> - <value type="QString">-r</value> - <value type="QString">CONFIG+=debug</value> - </valuelist> - <value key="abstractProcess.command" type="QString">/usr/bin/qmake-qt4</value> - <value key="abstractProcess.enabled" type="bool">false</value> - <value key="abstractProcess.workingDirectory" type="QString">/amd/nfs/volume1/home/stage/froger_a/qt/GScribo</value> - </valuemap> - </data> - <data> - <variable>buildconfiguration-Debug-buildstep1</variable> - <valuemap type="QVariantMap"> - <value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString">Debug</value> - <valuelist key="abstractProcess.Environment" type="QVariantList"> - <value type="QString">DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-HTSk420eki,guid=679213ffd1e640ac61b4a56900013d29</value> - <value type="QString">DESKTOP_SESSION=fluxbox</value> - <value type="QString">DISPLAY=:0.0</value> - <value type="QString">GDMSESSION=fluxbox</value> - <value type="QString">GDM_LANG=fr_FR.UTF-8</value> - <value type="QString">GDM_XSERVER_LOCATION=local</value> - <value type="QString">GTK_MODULES=canberra-gtk-module</value> - <value type="QString">HOME=/lrde/home/stage/froger_a</value> - <value type="QString">LANG=fr_FR.UTF-8</value> - <value type="QString">LD_LIBRARY_PATH=/usr/lib/qtcreator</value> - <value type="QString">LOGNAME=froger_a</value> - <value type="QString">OLDPWD=/lrde/home/stage/froger_a/qt</value> - <value type="QString">PATH=/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/games</value> - <value type="QString">PWD=/lrde/home/stage/froger_a/qt/GScribo</value> - <value type="QString">QTDIR=/usr/share/qt4</value> - <value type="QString">SHELL=/bin/bash</value> - <value type="QString">SHLVL=2</value> - <value type="QString">SSH_AGENT_PID=6726</value> - <value type="QString">SSH_AUTH_SOCK=/tmp/ssh-DIRIVy6673/agent.6673</value> - <value type="QString">TERM=xterm</value> - <value type="QString">USER=froger_a</value> - <value type="QString">USERNAME=froger_a</value> - <value type="QString">WINDOWID=10485796</value> - <value type="QString">WINDOWPATH=7:8:8</value> - <value type="QString">XAUTHORITY=/tmp/.gdmD2O2RW</value> - <value type="QString">XDG_DATA_DIRS=/usr/local/share/:/usr/share/:/usr/share/gdm/</value> - <value type="QString">XDG_SESSION_COOKIE=9a5c41ad78622411b8e25b00459a554f-1360326402.458705-1535460395</value> - <value type="QString">XTERM_LOCALE=fr_FR.UTF-8</value> - <value type="QString">XTERM_SHELL=/bin/bash</value> - <value type="QString">XTERM_VERSION=XTerm(261)</value> - <value type="QString">_=/usr/bin/qtcreator</value> - </valuelist> - <value key="abstractProcess.IgnoreReturnValue" type="bool">false</value> - <valuelist key="abstractProcess.arguments" type="QVariantList"> - <value type="QString">-w</value> - </valuelist> - <value key="abstractProcess.command" type="QString">/usr/bin/make</value> - <value key="abstractProcess.enabled" type="bool">true</value> - <value key="abstractProcess.workingDirectory" type="QString">/amd/nfs/volume1/home/stage/froger_a/qt/GScribo</value> - </valuemap> - </data> - <data> - <variable>buildconfiguration-Debug-cleanstep0</variable> + <variable>ProjectExplorer.Project.EditorSettings</variable> <valuemap type="QVariantMap"> - <value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString">Debug</value> - <valuelist key="abstractProcess.Environment" type="QVariantList"> - <value type="QString">DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-8HhQV0Db3w,guid=820a1dac27c5f8287b84357100000031</value> - <value type="QString">DESKTOP_SESSION=fluxbox</value> - <value type="QString">DISPLAY=:0.0</value> - <value type="QString">GDMSESSION=fluxbox</value> - <value type="QString">GDM_LANG=fr_FR.UTF-8</value> - <value type="QString">GDM_XSERVER_LOCATION=local</value> - <value type="QString">GTK_MODULES=canberra-gtk-module</value> - <value type="QString">HOME=/lrde/home/stage/froger_a</value> - <value type="QString">LANG=fr_FR.UTF-8</value> - <value type="QString">LD_LIBRARY_PATH=/usr/lib/qtcreator</value> - <value type="QString">LOGNAME=froger_a</value> - <value type="QString">OLDPWD=/lrde/home/stage/froger_a/qt/GScribo/XmlWidget</value> - <value type="QString">PATH=/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/games</value> - <value type="QString">PWD=/lrde/home/stage/froger_a/qt/GScribo</value> - <value type="QString">QTDIR=/usr/share/qt4</value> - <value type="QString">SHELL=/bin/bash</value> - <value type="QString">SHLVL=2</value> - <value type="QString">SSH_AGENT_PID=2149</value> - <value type="QString">SSH_AUTH_SOCK=/tmp/ssh-vKpzBP2096/agent.2096</value> - <value type="QString">TERM=xterm</value> - <value type="QString">USER=froger_a</value> - <value type="QString">USERNAME=froger_a</value> - <value type="QString">WINDOWID=16777252</value> - <value type="QString">WINDOWPATH=7</value> - <value type="QString">XAUTHORITY=/tmp/.gdmYQPASW</value> - <value type="QString">XDG_DATA_DIRS=/usr/local/share/:/usr/share/:/usr/share/gdm/</value> - <value type="QString">XDG_SESSION_COOKIE=9a5c41ad78622411b8e25b00459a554f-1360245257.460868-2058632410</value> - <value type="QString">XTERM_LOCALE=fr_FR.UTF-8</value> - <value type="QString">XTERM_SHELL=/bin/bash</value> - <value type="QString">XTERM_VERSION=XTerm(261)</value> - <value type="QString">_=/usr/bin/qtcreator</value> - </valuelist> - <value key="abstractProcess.IgnoreReturnValue" type="bool">true</value> - <valuelist key="abstractProcess.arguments" type="QVariantList"> - <value type="QString">clean</value> - <value type="QString">-w</value> - </valuelist> - <value key="abstractProcess.command" type="QString">/usr/bin/make</value> - <value key="abstractProcess.enabled" type="bool">true</value> - <value key="abstractProcess.workingDirectory" type="QString">/amd/nfs/volume1/home/stage/froger_a/qt/GScribo</value> - <value key="cleanConfig" type="bool">true</value> - <valuelist key="makeargs" type="QVariantList"> - <value type="QString">clean</value> - </valuelist> + <value type="bool" key="EditorConfiguration.AutoIndent">true</value> + <value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value> + <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0"> + <value type="QString" key="language">Cpp</value> + <valuemap type="QVariantMap" key="value"> + <value type="QString" key="CurrentPreferences">CppGlobal</value> + </valuemap> + </valuemap> + <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1"> + <value type="QString" key="language">QmlJS</value> + <valuemap type="QVariantMap" key="value"> + <value type="QString" key="CurrentPreferences">QmlJSGlobal</value> + </valuemap> + </valuemap> + <value type="int" key="EditorConfiguration.CodeStyle.Count">2</value> + <value type="QByteArray" key="EditorConfiguration.Codec">System</value> + <value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value> + <value type="int" key="EditorConfiguration.IndentSize">4</value> + <value type="bool" key="EditorConfiguration.MouseNavigation">true</value> + <value type="int" key="EditorConfiguration.PaddingMode">1</value> + <value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value> + <value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value> + <value type="bool" key="EditorConfiguration.SpacesForTabs">true</value> + <value type="int" key="EditorConfiguration.TabKeyBehavior">0</value> + <value type="int" key="EditorConfiguration.TabSize">8</value> + <value type="bool" key="EditorConfiguration.UseGlobal">true</value> + <value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value> + <value type="bool" key="EditorConfiguration.addFinalNewLine">true</value> + <value type="bool" key="EditorConfiguration.cleanIndentation">true</value> + <value type="bool" key="EditorConfiguration.cleanWhitespace">true</value> + <value type="bool" key="EditorConfiguration.inEntireDocument">false</value> </valuemap> </data> <data> - <variable>buildconfiguration-Release-buildstep0</variable> - <valuemap type="QVariantMap"> - <value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString">Release</value> - </valuemap> - </data> - <data> - <variable>buildconfiguration-Release-buildstep1</variable> - <valuemap type="QVariantMap"> - <value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString">Release</value> - </valuemap> + <variable>ProjectExplorer.Project.PluginSettings</variable> + <valuemap type="QVariantMap"/> </data> <data> - <variable>buildconfiguration-Release-cleanstep0</variable> + <variable>ProjectExplorer.Project.Target.0</variable> <valuemap type="QVariantMap"> - <value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString">Release</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName"></value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Target.DesktopTarget</value> + <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value> + <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value> + <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value> + <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0"> + <value type="QString" key="ProjectExplorer.BuildCOnfiguration.ToolChain">ProjectExplorer.ToolChain.Gcc:/usr/bin/g++.x86-linux-generic-elf-32bit./usr/bin/gdb</value> + <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0"> + <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value> + <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value> + <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibraryAuto">false</value> + <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value> + <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value> + </valuemap> + <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1"> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value> + <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value> + <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value> + <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value> + </valuemap> + <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Compiler</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value> + </valuemap> + <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1"> + <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value> + <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value> + <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value> + <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value> + </valuemap> + <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Nettoyer</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value> + </valuemap> + <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value> + <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value> + <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Debug</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value> + <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value> + <value type="QString" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory">/home/onix/qt/GScribo-build-desktop-Debug</value> + <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.QtVersionId">1</value> + <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">false</value> + </valuemap> + <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1"> + <value type="QString" key="ProjectExplorer.BuildCOnfiguration.ToolChain">ProjectExplorer.ToolChain.Gcc:/usr/bin/g++.x86-linux-generic-elf-32bit./usr/bin/gdb</value> + <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0"> + <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value> + <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value> + <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibraryAuto">false</value> + <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value> + <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value> + </valuemap> + <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1"> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value> + <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value> + <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value> + <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value> + </valuemap> + <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Compiler</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value> + </valuemap> + <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1"> + <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value> + <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value> + <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value> + <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value> + </valuemap> + <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Nettoyer</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value> + </valuemap> + <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value> + <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value> + <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Release</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value> + <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value> + <value type="QString" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory">/home/onix/qt/GScribo-build-desktop-Release</value> + <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.QtVersionId">1</value> + <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">false</value> + </valuemap> + <value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">2</value> + <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0"> + <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0"> + <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Déploiement</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Deploy</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value> + </valuemap> + <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Pas de déploiement</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Pas de déploiement</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value> + </valuemap> + <value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value> + <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0"> + <value type="bool" key="Analyzer.Project.UseGlobal">true</value> + <value type="bool" key="Analyzer.Project.UseGlobal">true</value> + <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/> + <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/> + <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value> + <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value> + <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value> + <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value> + <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value> + <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value> + <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value> + <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value> + <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value> + <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value> + <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value> + <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value> + <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value> + <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value> + <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value> + <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value> + <value type="int" key="Analyzer.Valgrind.NumCallers">25</value> + <value type="int" key="Analyzer.Valgrind.NumCallers">25</value> + <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/> + <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/> + <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value> + <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value> + <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value> + <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value> + <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds"> + <value type="int">0</value> + <value type="int">1</value> + <value type="int">2</value> + <value type="int">3</value> + <value type="int">4</value> + <value type="int">5</value> + <value type="int">6</value> + <value type="int">7</value> + <value type="int">8</value> + <value type="int">9</value> + <value type="int">10</value> + <value type="int">11</value> + <value type="int">12</value> + <value type="int">13</value> + <value type="int">14</value> + </valuelist> + <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds"> + <value type="int">0</value> + <value type="int">1</value> + <value type="int">2</value> + <value type="int">3</value> + <value type="int">4</value> + <value type="int">5</value> + <value type="int">6</value> + <value type="int">7</value> + <value type="int">8</value> + <value type="int">9</value> + <value type="int">10</value> + <value type="int">11</value> + <value type="int">12</value> + <value type="int">13</value> + <value type="int">14</value> + </valuelist> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Configuration d'exécution Qt4</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">GScribo</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration</value> + <value type="int" key="Qt4ProjectManager.Qt4RunConfiguration.BaseEnvironmentBase">2</value> + <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.CommandLineArguments"></value> + <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.ProFile">GScribo.pro</value> + <value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseDyldImageSuffix">false</value> + <value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseTerminal">false</value> + <valuelist type="QVariantList" key="Qt4ProjectManager.Qt4RunConfiguration.UserEnvironmentChanges"/> + <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory"></value> + <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value> + <value type="bool" key="RunConfiguration.UseCppDebugger">true</value> + <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value> + <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">false</value> + </valuemap> + <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value> </valuemap> </data> <data> - <variable>buildconfigurations</variable> - <valuelist type="QVariantList"> - <value type="QString">Debug</value> - <value type="QString">Release</value> - </valuelist> - </data> - <data> - <variable>buildstep0</variable> + <variable>ProjectExplorer.Project.Target.1</variable> <valuemap type="QVariantMap"> - <value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString"></value> - <value key="mkspec" type="QString"></value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">2</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Target.S60EmulatorTarget</value> + <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value> + <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value> + <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value> + <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0"> + <value type="QString" key="ProjectExplorer.BuildCOnfiguration.ToolChain">INVALID</value> + <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0"> + <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value> + <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value> + <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibraryAuto">false</value> + <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value> + <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value> + </valuemap> + <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1"> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value> + <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value> + <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value> + <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value> + </valuemap> + <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Compiler</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value> + </valuemap> + <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1"> + <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value> + <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value> + <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value> + <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value> + </valuemap> + <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Nettoyer</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value> + </valuemap> + <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value> + <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value> + <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Debug</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value> + <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value> + <value type="QString" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory">/home/onix/qt/GScribo</value> + <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.QtVersionId">-1</value> + <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">false</value> + </valuemap> + <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1"> + <value type="QString" key="ProjectExplorer.BuildCOnfiguration.ToolChain">INVALID</value> + <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0"> + <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value> + <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value> + <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibraryAuto">false</value> + <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value> + <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value> + </valuemap> + <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1"> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value> + <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value> + <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value> + <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value> + </valuemap> + <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Compiler</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value> + </valuemap> + <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1"> + <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value> + <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value> + <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value> + <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value> + </valuemap> + <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Nettoyer</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value> + </valuemap> + <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value> + <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value> + <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Release</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value> + <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value> + <value type="QString" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory">/home/onix/qt/GScribo</value> + <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.QtVersionId">-1</value> + <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">false</value> + </valuemap> + <value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">2</value> + <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0"> + <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0"> + <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Déploiement</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Deploy</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value> + </valuemap> + <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Pas de déploiement</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Pas de déploiement</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value> + </valuemap> + <value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value> + <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0"> + <value type="bool" key="Analyzer.Project.UseGlobal">true</value> + <value type="bool" key="Analyzer.Project.UseGlobal">true</value> + <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/> + <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/> + <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value> + <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value> + <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value> + <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value> + <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value> + <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value> + <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value> + <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value> + <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value> + <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value> + <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value> + <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value> + <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value> + <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value> + <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value> + <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value> + <value type="int" key="Analyzer.Valgrind.NumCallers">25</value> + <value type="int" key="Analyzer.Valgrind.NumCallers">25</value> + <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/> + <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/> + <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value> + <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value> + <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value> + <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value> + <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds"> + <value type="int">0</value> + <value type="int">1</value> + <value type="int">2</value> + <value type="int">3</value> + <value type="int">4</value> + <value type="int">5</value> + <value type="int">6</value> + <value type="int">7</value> + <value type="int">8</value> + <value type="int">9</value> + <value type="int">10</value> + <value type="int">11</value> + <value type="int">12</value> + <value type="int">13</value> + <value type="int">14</value> + </valuelist> + <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds"> + <value type="int">0</value> + <value type="int">1</value> + <value type="int">2</value> + <value type="int">3</value> + <value type="int">4</value> + <value type="int">5</value> + <value type="int">6</value> + <value type="int">7</value> + <value type="int">8</value> + <value type="int">9</value> + <value type="int">10</value> + <value type="int">11</value> + <value type="int">12</value> + <value type="int">13</value> + <value type="int">14</value> + </valuelist> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">GScribo sur l'émulateur Symbian</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.S60EmulatorRunConfiguration</value> + <value type="QString" key="Qt4ProjectManager.S60EmulatorRunConfiguration.ProFile">GScribo.pro</value> + <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value> + <value type="bool" key="RunConfiguration.UseCppDebugger">true</value> + <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value> + <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value> + </valuemap> + <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value> </valuemap> </data> <data> - <variable>buildstep1</variable> + <variable>ProjectExplorer.Project.Target.2</variable> <valuemap type="QVariantMap"> - <value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString"></value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">3</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Target.S60DeviceTarget</value> + <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value> + <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value> + <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value> + <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0"> + <value type="QString" key="ProjectExplorer.BuildCOnfiguration.ToolChain">INVALID</value> + <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0"> + <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value> + <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value> + <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibraryAuto">false</value> + <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value> + <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value> + </valuemap> + <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1"> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value> + <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value> + <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value> + <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value> + </valuemap> + <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Compiler</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value> + </valuemap> + <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1"> + <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value> + <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value> + <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value> + <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value> + </valuemap> + <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Nettoyer</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value> + </valuemap> + <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value> + <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value> + <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Debug</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value> + <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value> + <value type="QString" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory">/home/onix/qt/GScribo</value> + <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.QtVersionId">-1</value> + <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">false</value> + </valuemap> + <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1"> + <value type="QString" key="ProjectExplorer.BuildCOnfiguration.ToolChain">INVALID</value> + <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0"> + <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value> + <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value> + <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibraryAuto">false</value> + <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value> + <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value> + </valuemap> + <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1"> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value> + <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value> + <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value> + <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value> + </valuemap> + <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Compiler</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value> + </valuemap> + <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1"> + <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value> + <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value> + <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value> + <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value> + </valuemap> + <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Nettoyer</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value> + </valuemap> + <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value> + <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value> + <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Release</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value> + <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value> + <value type="QString" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory">/home/onix/qt/GScribo</value> + <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.QtVersionId">-1</value> + <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">false</value> + </valuemap> + <value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">2</value> + <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0"> + <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0"> + <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Créer le paquet SIS</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Create SIS package</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.S60SignBuildStep</value> + <value type="QString" key="Qt4ProjectManager.S60CreatePackageStep.Certificate"></value> + <value type="QString" key="Qt4ProjectManager.S60CreatePackageStep.Keyfile"></value> + <value type="int" key="Qt4ProjectManager.S60CreatePackageStep.SignMode">0</value> + <value type="bool" key="Qt4ProjectManager.S60CreatorPackageStep.SmartInstaller">false</value> + <value type="bool" key="Qt4ProjectManager.S60CreatorPackageStep.SuppressPatchWarningDialog">false</value> + </valuemap> + <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1"> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Déployer</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.S60DeployStep</value> + </valuemap> + <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Déploiement</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Deploy</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value> + </valuemap> + <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Pas de déploiement</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Déployer sur un périphérique Symbian</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value> + </valuemap> + <value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value> + <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0"> + <value type="bool" key="Analyzer.Project.UseGlobal">true</value> + <value type="bool" key="Analyzer.Project.UseGlobal">true</value> + <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/> + <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/> + <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value> + <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value> + <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value> + <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value> + <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value> + <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value> + <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value> + <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value> + <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value> + <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value> + <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value> + <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value> + <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value> + <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value> + <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value> + <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value> + <value type="int" key="Analyzer.Valgrind.NumCallers">25</value> + <value type="int" key="Analyzer.Valgrind.NumCallers">25</value> + <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/> + <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/> + <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value> + <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value> + <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value> + <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value> + <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds"> + <value type="int">0</value> + <value type="int">1</value> + <value type="int">2</value> + <value type="int">3</value> + <value type="int">4</value> + <value type="int">5</value> + <value type="int">6</value> + <value type="int">7</value> + <value type="int">8</value> + <value type="int">9</value> + <value type="int">10</value> + <value type="int">11</value> + <value type="int">12</value> + <value type="int">13</value> + <value type="int">14</value> + </valuelist> + <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds"> + <value type="int">0</value> + <value type="int">1</value> + <value type="int">2</value> + <value type="int">3</value> + <value type="int">4</value> + <value type="int">5</value> + <value type="int">6</value> + <value type="int">7</value> + <value type="int">8</value> + <value type="int">9</value> + <value type="int">10</value> + <value type="int">11</value> + <value type="int">12</value> + <value type="int">13</value> + <value type="int">14</value> + </valuelist> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">GScribo sur périphérique Symbian</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.S60DeviceRunConfiguration</value> + <value type="QString" key="Qt4ProjectManager.S60DeviceRunConfiguration.CommandLineArguments"></value> + <value type="QString" key="Qt4ProjectManager.S60DeviceRunConfiguration.ProFile">GScribo.pro</value> + <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value> + <value type="bool" key="RunConfiguration.UseCppDebugger">true</value> + <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value> + <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value> + </valuemap> + <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value> </valuemap> </data> <data> - <variable>buildsteps</variable> - <valuelist type="QVariantList"> - <value type="QString">trolltech.qt4projectmanager.qmake</value> - <value type="QString">trolltech.qt4projectmanager.make</value> - </valuelist> - </data> - <data> - <variable>cleanstep0</variable> + <variable>ProjectExplorer.Project.Target.3</variable> <valuemap type="QVariantMap"> - <value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString"></value> - <value key="clean" type="bool">true</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">4</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Target.MaemoDeviceTarget</value> + <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value> + <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value> + <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value> + <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0"> + <value type="QString" key="ProjectExplorer.BuildCOnfiguration.ToolChain">INVALID</value> + <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0"> + <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value> + <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value> + <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibraryAuto">false</value> + <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value> + <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value> + </valuemap> + <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1"> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value> + <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value> + <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value> + <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value> + </valuemap> + <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Compiler</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value> + </valuemap> + <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1"> + <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value> + <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value> + <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value> + <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value> + </valuemap> + <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Nettoyer</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value> + </valuemap> + <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value> + <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value> + <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Debug</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value> + <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value> + <value type="QString" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory">/home/onix/qt/GScribo-build-maemo-Debug</value> + <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.QtVersionId">-1</value> + <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">false</value> + </valuemap> + <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1"> + <value type="QString" key="ProjectExplorer.BuildCOnfiguration.ToolChain">INVALID</value> + <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0"> + <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value> + <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value> + <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibraryAuto">false</value> + <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value> + <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value> + </valuemap> + <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1"> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value> + <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value> + <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value> + <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value> + </valuemap> + <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Compiler</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value> + </valuemap> + <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1"> + <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value> + <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value> + <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value> + <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value> + </valuemap> + <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Nettoyer</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value> + </valuemap> + <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value> + <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value> + <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Release</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value> + <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value> + <value type="QString" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory">/home/onix/qt/GScribo-build-maemo-Release</value> + <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.QtVersionId">-1</value> + <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">false</value> + </valuemap> + <value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">2</value> + <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0"> + <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0"> + <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Déployer le paquet par montage UTFS</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MaemoDeployStep</value> + <valuelist type="QVariantList" key="Qt4ProjectManager.MaemoRunConfiguration.LastDeployedFiles"/> + <valuelist type="QVariantList" key="Qt4ProjectManager.MaemoRunConfiguration.LastDeployedHosts"/> + <valuelist type="QVariantList" key="Qt4ProjectManager.MaemoRunConfiguration.LastDeployedRemotePaths"/> + <valuelist type="QVariantList" key="Qt4ProjectManager.MaemoRunConfiguration.LastDeployedTimes"/> + </valuemap> + <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Déploiement</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Deploy</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value> + </valuemap> + <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Compilation du paquet Debian et installation sur le périphérique Maemo5</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Déployer sur un périphérique Maemo</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">2.2MaemoDeployConfig</value> + <value type="qulonglong" key="Qt4ProjectManager.MaemoRunConfiguration.DeviceId">0</value> + </valuemap> + <value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value> + <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0"> + <value type="bool" key="Analyzer.Project.UseGlobal">true</value> + <value type="bool" key="Analyzer.Project.UseGlobal">true</value> + <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/> + <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/> + <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value> + <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value> + <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value> + <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value> + <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value> + <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value> + <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value> + <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value> + <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value> + <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value> + <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value> + <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value> + <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value> + <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value> + <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value> + <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value> + <value type="int" key="Analyzer.Valgrind.NumCallers">25</value> + <value type="int" key="Analyzer.Valgrind.NumCallers">25</value> + <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/> + <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/> + <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value> + <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value> + <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value> + <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value> + <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds"> + <value type="int">0</value> + <value type="int">1</value> + <value type="int">2</value> + <value type="int">3</value> + <value type="int">4</value> + <value type="int">5</value> + <value type="int">6</value> + <value type="int">7</value> + <value type="int">8</value> + <value type="int">9</value> + <value type="int">10</value> + <value type="int">11</value> + <value type="int">12</value> + <value type="int">13</value> + <value type="int">14</value> + </valuelist> + <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds"> + <value type="int">0</value> + <value type="int">1</value> + <value type="int">2</value> + <value type="int">3</value> + <value type="int">4</value> + <value type="int">5</value> + <value type="int">6</value> + <value type="int">7</value> + <value type="int">8</value> + <value type="int">9</value> + <value type="int">10</value> + <value type="int">11</value> + <value type="int">12</value> + <value type="int">13</value> + <value type="int">14</value> + </valuelist> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">GScribo (sur un périphérique distant)</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MaemoRunConfiguration</value> + <value type="QString" key="Qt4ProjectManager.MaemoRunConfiguration.Arguments"></value> + <value type="int" key="Qt4ProjectManager.MaemoRunConfiguration.BaseEnvironmentBase">1</value> + <valuelist type="QVariantList" key="Qt4ProjectManager.MaemoRunConfiguration.ExportedLocalDirs"/> + <value type="QString" key="Qt4ProjectManager.MaemoRunConfiguration.ProFile">GScribo.pro</value> + <valuelist type="QVariantList" key="Qt4ProjectManager.MaemoRunConfiguration.RemoteMountPoints"/> + <valuelist type="QVariantList" key="Qt4ProjectManager.MaemoRunConfiguration.UserEnvironmentChanges"/> + <value type="QString" key="RemoteLinux.RunConfig.AlternateRemoteExecutable"></value> + <value type="bool" key="RemoteLinux.RunConfig.UseAlternateRemoteExecutable">false</value> + <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value> + <value type="bool" key="RunConfiguration.UseCppDebugger">true</value> + <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value> + <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">false</value> + </valuemap> + <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value> </valuemap> </data> <data> - <variable>cleansteps</variable> - <valuelist type="QVariantList"> - <value type="QString">trolltech.qt4projectmanager.make</value> - </valuelist> + <variable>ProjectExplorer.Project.TargetCount</variable> + <value type="int">4</value> </data> <data> - <variable>defaultFileEncoding</variable> - <value type="QByteArray">System</value> + <variable>ProjectExplorer.Project.Updater.EnvironmentId</variable> + <value type="QString">{5e5821f7-3a40-405f-b196-cbc6284a3a45}</value> </data> <data> - <variable>project</variable> - <valuemap type="QVariantMap"/> + <variable>ProjectExplorer.Project.Updater.FileVersion</variable> + <value type="int">10</value> </data> </qtcreator> diff --git a/GScribo/GScribo.pro.user.1.3 b/GScribo/GScribo.pro.user.1.3 index ab3db9a..4243d4d 100644 --- a/GScribo/GScribo.pro.user.1.3 +++ b/GScribo/GScribo.pro.user.1.3 @@ -76,7 +76,7 @@ <valuemap type="QVariantMap"> <value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString">Debug</value> <valuelist key="abstractProcess.Environment" type="QVariantList"> - <value type="QString">DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-Ym4qd3xwr0,guid=fde40b3a0f4d1c9822b6f826000921d9</value> + <value type="QString">DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-HTSk420eki,guid=679213ffd1e640ac61b4a56900013d29</value> <value type="QString">DESKTOP_SESSION=fluxbox</value> <value type="QString">DISPLAY=:0.0</value> <value type="QString">GDMSESSION=fluxbox</value> @@ -87,22 +87,22 @@ <value type="QString">LANG=fr_FR.UTF-8</value> <value type="QString">LD_LIBRARY_PATH=/usr/lib/qtcreator</value> <value type="QString">LOGNAME=froger_a</value> - <value type="QString">OLDPWD=/lrde/home/stage/froger_a/qt/GScribo/XmlWidget</value> + <value type="QString">OLDPWD=/lrde/home/stage/froger_a/qt</value> <value type="QString">PATH=/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/games</value> <value type="QString">PWD=/lrde/home/stage/froger_a/qt/GScribo</value> <value type="QString">QTDIR=/usr/share/qt4</value> <value type="QString">SHELL=/bin/bash</value> <value type="QString">SHLVL=2</value> - <value type="QString">SSH_AGENT_PID=758</value> - <value type="QString">SSH_AUTH_SOCK=/tmp/ssh-vklgVis705/agent.705</value> + <value type="QString">SSH_AGENT_PID=6726</value> + <value type="QString">SSH_AUTH_SOCK=/tmp/ssh-DIRIVy6673/agent.6673</value> <value type="QString">TERM=xterm</value> <value type="QString">USER=froger_a</value> <value type="QString">USERNAME=froger_a</value> <value type="QString">WINDOWID=10485796</value> - <value type="QString">WINDOWPATH=7:8:8:8:8:8:8</value> - <value type="QString">XAUTHORITY=/tmp/.gdmKSVXRW</value> + <value type="QString">WINDOWPATH=7:8:8</value> + <value type="QString">XAUTHORITY=/tmp/.gdmD2O2RW</value> <value type="QString">XDG_DATA_DIRS=/usr/local/share/:/usr/share/:/usr/share/gdm/</value> - <value type="QString">XDG_SESSION_COOKIE=9a5c41ad78622411b8e25b00459a554f-1359984156.79822-629324293</value> + <value type="QString">XDG_SESSION_COOKIE=9a5c41ad78622411b8e25b00459a554f-1360326402.458705-1535460395</value> <value type="QString">XTERM_LOCALE=fr_FR.UTF-8</value> <value type="QString">XTERM_SHELL=/bin/bash</value> <value type="QString">XTERM_VERSION=XTerm(261)</value> @@ -125,7 +125,7 @@ <valuemap type="QVariantMap"> <value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString">Debug</value> <valuelist key="abstractProcess.Environment" type="QVariantList"> - <value type="QString">DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-Ym4qd3xwr0,guid=fde40b3a0f4d1c9822b6f826000921d9</value> + <value type="QString">DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-HTSk420eki,guid=679213ffd1e640ac61b4a56900013d29</value> <value type="QString">DESKTOP_SESSION=fluxbox</value> <value type="QString">DISPLAY=:0.0</value> <value type="QString">GDMSESSION=fluxbox</value> @@ -136,22 +136,22 @@ <value type="QString">LANG=fr_FR.UTF-8</value> <value type="QString">LD_LIBRARY_PATH=/usr/lib/qtcreator</value> <value type="QString">LOGNAME=froger_a</value> - <value type="QString">OLDPWD=/lrde/home/stage/froger_a/qt/GScribo/XmlWidget</value> + <value type="QString">OLDPWD=/lrde/home/stage/froger_a/qt</value> <value type="QString">PATH=/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/games</value> <value type="QString">PWD=/lrde/home/stage/froger_a/qt/GScribo</value> <value type="QString">QTDIR=/usr/share/qt4</value> <value type="QString">SHELL=/bin/bash</value> <value type="QString">SHLVL=2</value> - <value type="QString">SSH_AGENT_PID=758</value> - <value type="QString">SSH_AUTH_SOCK=/tmp/ssh-vklgVis705/agent.705</value> + <value type="QString">SSH_AGENT_PID=6726</value> + <value type="QString">SSH_AUTH_SOCK=/tmp/ssh-DIRIVy6673/agent.6673</value> <value type="QString">TERM=xterm</value> <value type="QString">USER=froger_a</value> <value type="QString">USERNAME=froger_a</value> <value type="QString">WINDOWID=10485796</value> - <value type="QString">WINDOWPATH=7:8:8:8:8:8:8</value> - <value type="QString">XAUTHORITY=/tmp/.gdmKSVXRW</value> + <value type="QString">WINDOWPATH=7:8:8</value> + <value type="QString">XAUTHORITY=/tmp/.gdmD2O2RW</value> <value type="QString">XDG_DATA_DIRS=/usr/local/share/:/usr/share/:/usr/share/gdm/</value> - <value type="QString">XDG_SESSION_COOKIE=9a5c41ad78622411b8e25b00459a554f-1359984156.79822-629324293</value> + <value type="QString">XDG_SESSION_COOKIE=9a5c41ad78622411b8e25b00459a554f-1360326402.458705-1535460395</value> <value type="QString">XTERM_LOCALE=fr_FR.UTF-8</value> <value type="QString">XTERM_SHELL=/bin/bash</value> <value type="QString">XTERM_VERSION=XTerm(261)</value> @@ -170,6 +170,47 @@ <variable>buildconfiguration-Debug-cleanstep0</variable> <valuemap type="QVariantMap"> <value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString">Debug</value> + <valuelist key="abstractProcess.Environment" type="QVariantList"> + <value type="QString">DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-8HhQV0Db3w,guid=820a1dac27c5f8287b84357100000031</value> + <value type="QString">DESKTOP_SESSION=fluxbox</value> + <value type="QString">DISPLAY=:0.0</value> + <value type="QString">GDMSESSION=fluxbox</value> + <value type="QString">GDM_LANG=fr_FR.UTF-8</value> + <value type="QString">GDM_XSERVER_LOCATION=local</value> + <value type="QString">GTK_MODULES=canberra-gtk-module</value> + <value type="QString">HOME=/lrde/home/stage/froger_a</value> + <value type="QString">LANG=fr_FR.UTF-8</value> + <value type="QString">LD_LIBRARY_PATH=/usr/lib/qtcreator</value> + <value type="QString">LOGNAME=froger_a</value> + <value type="QString">OLDPWD=/lrde/home/stage/froger_a/qt/GScribo/XmlWidget</value> + <value type="QString">PATH=/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/games</value> + <value type="QString">PWD=/lrde/home/stage/froger_a/qt/GScribo</value> + <value type="QString">QTDIR=/usr/share/qt4</value> + <value type="QString">SHELL=/bin/bash</value> + <value type="QString">SHLVL=2</value> + <value type="QString">SSH_AGENT_PID=2149</value> + <value type="QString">SSH_AUTH_SOCK=/tmp/ssh-vKpzBP2096/agent.2096</value> + <value type="QString">TERM=xterm</value> + <value type="QString">USER=froger_a</value> + <value type="QString">USERNAME=froger_a</value> + <value type="QString">WINDOWID=16777252</value> + <value type="QString">WINDOWPATH=7</value> + <value type="QString">XAUTHORITY=/tmp/.gdmYQPASW</value> + <value type="QString">XDG_DATA_DIRS=/usr/local/share/:/usr/share/:/usr/share/gdm/</value> + <value type="QString">XDG_SESSION_COOKIE=9a5c41ad78622411b8e25b00459a554f-1360245257.460868-2058632410</value> + <value type="QString">XTERM_LOCALE=fr_FR.UTF-8</value> + <value type="QString">XTERM_SHELL=/bin/bash</value> + <value type="QString">XTERM_VERSION=XTerm(261)</value> + <value type="QString">_=/usr/bin/qtcreator</value> + </valuelist> + <value key="abstractProcess.IgnoreReturnValue" type="bool">true</value> + <valuelist key="abstractProcess.arguments" type="QVariantList"> + <value type="QString">clean</value> + <value type="QString">-w</value> + </valuelist> + <value key="abstractProcess.command" type="QString">/usr/bin/make</value> + <value key="abstractProcess.enabled" type="bool">true</value> + <value key="abstractProcess.workingDirectory" type="QString">/amd/nfs/volume1/home/stage/froger_a/qt/GScribo</value> <value key="cleanConfig" type="bool">true</value> <valuelist key="makeargs" type="QVariantList"> <value type="QString">clean</value> diff --git a/GScribo/PagesWidget/pageswidget.cpp b/GScribo/PagesWidget/pageswidget.cpp index 9fad1a3..f12c713 100644 --- a/GScribo/PagesWidget/pageswidget.cpp +++ b/GScribo/PagesWidget/pageswidget.cpp @@ -14,27 +14,27 @@ PagesWidget::PagesWidget(QWidget *parent): setModel(&model_); setItemDelegate(new PagesDelegate()); + QShortcut *remove = new QShortcut(Qt::Key_Delete, this); + connect(remove, SIGNAL(activated()), this, SLOT(removeSelection())); connect(this, SIGNAL(doubleClicked(QModelIndex)), this, SLOT(getPicture(QModelIndex))); } void PagesWidget::removeSelection() { - QModelIndexList indexes = selectedIndexes(); - - if(indexes.count() > 0) + if(hasFocus() && selectedIndexes().count() > 0) { - // We have to sort the list because after the first removal, the second row index may not be the good one. - qSort(indexes.begin(), indexes.end()); + // Sort the list because after the first removal, the second row index may not be the good one. + qSort(selectedIndexes().begin(), selectedIndexes().end()); - // From the highest row value to the smallest to be sure to remove the good index. - for(int i = indexes.count()-1; i > -1; i--) - model_.removePixmap(indexes[i]); + // From the highest row to the smallest to be sure to remove the good index. + for(int i = selectedIndexes().count()-1; i > -1; i--) + model_.removePixmap(selectedIndexes()[i]); - // Draw new pixmap on the scene. - getPicture(model_.index(indexes[0].row())); + // Draw new image on the scene. + getPicture(model_.index(selectedIndexes()[0].row())); clearSelection(); - model_.setCurrentRow(indexes[0].row()); + model_.setCurrentRow(selectedIndexes()[0].row()); } } diff --git a/GScribo/Rendering/polygonitem.cpp b/GScribo/Rendering/regionitem.cpp similarity index 77% rename from GScribo/Rendering/polygonitem.cpp rename to GScribo/Rendering/regionitem.cpp index 1a294fc..77cbcb3 100644 --- a/GScribo/Rendering/polygonitem.cpp +++ b/GScribo/Rendering/regionitem.cpp @@ -1,18 +1,18 @@ -#include "polygonitem.h" +#include "regionitem.h" -PolygonItem::PolygonItem(QGraphicsItem *parent, QGraphicsScene *scene) +RegionItem::RegionItem(QGraphicsItem *parent, QGraphicsScene *scene) : QGraphicsPolygonItem(parent, scene) { init(); } -PolygonItem::PolygonItem(const QPolygonF &polygon, QGraphicsItem *parent, QGraphicsScene *scene): +RegionItem::RegionItem(const QPolygonF& polygon, QGraphicsItem *parent, QGraphicsScene *scene): QGraphicsPolygonItem(polygon, parent, scene) { init(); } -void PolygonItem::init() +void RegionItem::init() { xmlItem_ = 0; @@ -29,7 +29,7 @@ void PolygonItem::init() unselectedBrush_.setStyle(Qt::SolidPattern); } -void PolygonItem::setColor(const QColor& color) +void RegionItem::setColor(const QColor& color) { selectedPen_.setColor(QColor::fromRgb(color.red(), color.green(), color.blue(), 255)); unselectedPen_.setColor(color); @@ -41,7 +41,7 @@ void PolygonItem::setColor(const QColor& color) setBrush(unselectedBrush_); } -void PolygonItem::setSelected(bool isSelected) +void RegionItem::setSelected(bool isSelected) { if(isSelected) { diff --git a/GScribo/Rendering/polygonitem.h b/GScribo/Rendering/regionitem.h similarity index 63% rename from GScribo/Rendering/polygonitem.h rename to GScribo/Rendering/regionitem.h index 672ca97..226d7ac 100644 --- a/GScribo/Rendering/polygonitem.h +++ b/GScribo/Rendering/regionitem.h @@ -1,5 +1,5 @@ -#ifndef POLYGONITEM_H -#define POLYGONITEM_H +#ifndef RegionITEM_H +#define RegionITEM_H #include <QGraphicsPolygonItem> #include <QTreeWidgetItem> @@ -10,12 +10,12 @@ class XmlItem; -class PolygonItem : +class RegionItem : public QGraphicsPolygonItem { public: - explicit PolygonItem(QGraphicsItem *parent = 0, QGraphicsScene *scene = 0); - explicit PolygonItem(const QPolygonF& path, QGraphicsItem *parent = 0, QGraphicsScene *scene = 0); + explicit RegionItem(QGraphicsItem *parent = 0, QGraphicsScene *scene = 0); + explicit RegionItem(const QPolygonF& path, QGraphicsItem *parent = 0, QGraphicsScene *scene = 0); void setColor(const QColor& color); inline QColor color() const; @@ -23,7 +23,7 @@ class PolygonItem : inline void setXmlItem(XmlItem *xmlItem); inline XmlItem *xmlItem() const; - inline void loadData(const GraphicRegion::Data& data); + inline void loadData(const GraphicsRegion::Data& data); inline int region() const; inline bool intersects(const QRectF& rect); @@ -47,34 +47,34 @@ class PolygonItem : QBrush unselectedBrush_; }; -inline void PolygonItem::setXmlItem(XmlItem *xmlItem) +inline void RegionItem::setXmlItem(XmlItem *xmlItem) { xmlItem_ = xmlItem; } -inline XmlItem *PolygonItem::xmlItem() const +inline XmlItem *RegionItem::xmlItem() const { return xmlItem_; } -inline QColor PolygonItem::color() const +inline QColor RegionItem::color() const { return selectedBrush_.color(); } -inline int PolygonItem::region() const +inline int RegionItem::region() const { return region_; } -inline bool PolygonItem::isSelected() +inline bool RegionItem::isSelected() { return isSelected_; } -inline void PolygonItem::select() +inline void RegionItem::select() { setSelected(true); } -inline void PolygonItem::unselect() +inline void RegionItem::unselect() { setSelected(false); } -inline void PolygonItem::loadData(const GraphicRegion::Data& data) +inline void RegionItem::loadData(const GraphicsRegion::Data& data) { region_ = data.region; setColor(data.color); setZValue(data.zValue); } -inline bool PolygonItem::contains(const QPointF& point) +inline bool RegionItem::contains(const QPointF& point) { return (boundingRect().width() == 0 || boundingRect().height() == 0 || boundingRect().contains(point)) && shape().contains(point); } -inline bool PolygonItem::intersects(const QRectF& rect) +inline bool RegionItem::intersects(const QRectF& rect) { return (boundingRect().width() == 0 || boundingRect().height() == 0 || boundingRect().intersects(rect)) && shape().intersects(rect); } -#endif // POLYGONITEM_H +#endif // RegionITEM_H diff --git a/GScribo/Rendering/rootgraphicsitem.h b/GScribo/Rendering/rootgraphicsitem.h index 81a2e84..8e87491 100644 --- a/GScribo/Rendering/rootgraphicsitem.h +++ b/GScribo/Rendering/rootgraphicsitem.h @@ -11,17 +11,17 @@ class RootGraphicsItem : public: explicit RootGraphicsItem(int numberRegion) { childsFromRegion_.fill(QList<QGraphicsItem *>(), numberRegion); } - inline QList<QGraphicsItem *> childsFrom(GraphicRegion::Id region) const; - inline void addItemFrom(QGraphicsItem *graphicalItem, GraphicRegion::Id region); + inline QList<QGraphicsItem *> childsFrom(GraphicsRegion::Id region) const; + inline void addItemFrom(QGraphicsItem *graphicalItem, GraphicsRegion::Id region); private: QVector<QList<QGraphicsItem *> > childsFromRegion_; }; -inline QList<QGraphicsItem *> RootGraphicsItem::childsFrom(GraphicRegion::Id region) const +inline QList<QGraphicsItem *> RootGraphicsItem::childsFrom(GraphicsRegion::Id region) const { return childsFromRegion_[region]; } -inline void RootGraphicsItem::addItemFrom(QGraphicsItem *graphicalItem, GraphicRegion::Id region) +inline void RootGraphicsItem::addItemFrom(QGraphicsItem *graphicalItem, GraphicsRegion::Id region) { childsFromRegion_[region] << graphicalItem; } #endif // ROOTGRAPHICSITEM_H diff --git a/GScribo/Rendering/scene.cpp b/GScribo/Rendering/scene.cpp index 26a6b57..07542ec 100644 --- a/GScribo/Rendering/scene.cpp +++ b/GScribo/Rendering/scene.cpp @@ -21,7 +21,7 @@ Scene::Scene(qreal x, qreal y, qreal width, qreal height, QObject *parent): void Scene::init() { isPressing_ = false; - rootItem_ = 0; + root_ = 0; // Disable the scene size adaptation to items rect with a non null rect. setSceneRect(0, 0, 0, 1); @@ -32,26 +32,28 @@ void Scene::init() void Scene::clear() { - if(rootItem_) - delete rootItem_; + if(root_) + delete root_; - selectedItems_.clear(); - rootItem_ = 0; + selectedRegions_.clear(); + root_ = 0; } void Scene::clearSelection() { QGraphicsItem *child; - PolygonItem *polygonItem; + RegionItem *regionItem; // Unselect all items. - foreach(child, selectedItems_) + foreach(child, selectedRegions_) { - polygonItem = static_cast<PolygonItem *>(child); - polygonItem->unselect(); + regionItem = static_cast<RegionItem *>(child); + regionItem->unselect(); } - selectedItems_.clear(); + baseSelection_.clear(); + selectedRegions_.clear(); + emit selectionCleared(); } void Scene::mousePressEvent(QGraphicsSceneMouseEvent *event) @@ -89,57 +91,40 @@ void Scene::mouseReleaseEvent(QGraphicsSceneMouseEvent *event) isPressing_ = false; // Redraw all items in selection. - if(rootItem_) + if(root_) { clearSelection(); - emit beginSelection(); // Check if it is a click. if(selection_.rect().width() * selection_.rect().height() == 0) - selectItems(event->scenePos()); + select(event->scenePos()); else - selectItems(selection_.rect()); + select(selection_.rect()); - emit endSelection(selectedItems_); + emit newSelection(selectedRegions_); } - selection_.setRect(0, 0, 0, 0); + selection_.setRect(0, 0, 0, 1); selection_.hide(); } } -void Scene::selectItems(const QList<PolygonItem *>& selectedItems, bool addToSelection) -{ - if(!addToSelection) - clearSelection(); - - PolygonItem *child; - foreach(child, selectedItems) - { - if(!child->isSelected()) - { - child->select(); - selectedItems_ << child; - } - } -} - -void Scene::selectItems(QGraphicsItem *root, const QPointF& point, const QRectF& rect) +void Scene::select(QGraphicsItem *root, const QPointF& point, const QRectF& rect) { QGraphicsItem *child; - PolygonItem *polygonItem; + RegionItem *regionItem; // Check if it is a click. if(!point.isNull()) { foreach(child, root->childItems()) { - polygonItem = static_cast<PolygonItem *>(child); + regionItem = static_cast<RegionItem *>(child); - if(polygonItem->contains(point)) + if(regionItem->contains(point)) { - polygonItem->select(); - selectedItems_ << polygonItem; + regionItem->select(); + selectedRegions_ << regionItem; } } } @@ -148,27 +133,71 @@ void Scene::selectItems(QGraphicsItem *root, const QPointF& point, const QRectF& { foreach(child, root->childItems()) { - polygonItem = static_cast<PolygonItem *>(child); + regionItem = static_cast<RegionItem *>(child); - if(polygonItem->intersects(rect)) + if(regionItem->intersects(rect)) { - polygonItem->select(); - selectedItems_ << polygonItem; + regionItem->select(); + selectedRegions_ << regionItem; } } } + + emit newSelection(); +} + +void Scene::select(const QList<RegionItem *>& selectedRegions) +{ + RegionItem *child; + foreach(child, selectedRegions) + { + if(!child->isSelected()) + { + child->select(); + selectedRegions_ << child; + } + } + + ensureVisible(selectedRegions_.last()); + emit newSelection(); +} + +void Scene::unselect(const QList<RegionItem *>& unselectedRegions) +{ + RegionItem *child; + foreach(child, unselectedRegions) + { + if(child->isSelected()) + { + child->unselect(); + selectedRegions_.removeOne(child); + } + } + + // Check if after the removal, the selected list isn't empty. + if(!selectedRegions_.isEmpty()) + ensureVisible(selectedRegions_.last()); + emit newSelection(); +} + + +void Scene::ensureVisible(QGraphicsItem *graphicalItem) +{ + QGraphicsView *view; + foreach (view, views()) + view->ensureVisible(graphicalItem); } -void Scene::setRootItem(RootGraphicsItem *rootItem) +void Scene::setRoot(RootGraphicsItem *root) { // Delete all items. clear(); - rootItem_ = rootItem; - addItem(rootItem); + root_ = root; + addItem(root); } -void Scene::changeScene(const QString& filename, RootGraphicsItem *rootItem) +void Scene::changeScene(const QString& filename, RootGraphicsItem *root) { backgroundPath_ = filename; @@ -180,9 +209,9 @@ void Scene::changeScene(const QString& filename, RootGraphicsItem *rootItem) setBackgroundBrush(QBrush(pixmap)); // Add new items. - if(rootItem) + if(root) { - rootItem_ = rootItem; - addItem(rootItem); + root_ = root; + addItem(root); } } diff --git a/GScribo/Rendering/scene.h b/GScribo/Rendering/scene.h index 7409bc5..b3cf1cb 100644 --- a/GScribo/Rendering/scene.h +++ b/GScribo/Rendering/scene.h @@ -7,7 +7,7 @@ #include <QFileDialog> #include "rootgraphicsitem.h" -#include "polygonitem.h" +#include "regionitem.h" #include "selection.h" class Scene : @@ -21,15 +21,15 @@ class Scene : explicit Scene(qreal x, qreal y, qreal width, qreal height, QObject *parent = 0); inline QString backgroundPath() const; + inline QList<RegionItem *> selectedRegions() const; - void setRootItem(RootGraphicsItem *graphicalItem); - inline RootGraphicsItem *rootItem() const; + void setRoot(RootGraphicsItem *rootItem); + inline RootGraphicsItem *root() const; - inline QList<QGraphicsItem *> selectedItems() const; - void selectItems(const QRectF& rect); - void selectItems(const QPointF& point); + void select(const QRectF& rect); + void select(const QPointF& point); - void changeScene(const QString& filename, RootGraphicsItem *rootItem = 0); + void changeScene(const QString& filename, RootGraphicsItem *root = 0); protected: void mousePressEvent(QGraphicsSceneMouseEvent *event); @@ -38,13 +38,16 @@ class Scene : private: void init(); - void selectItems(QGraphicsItem *root, const QPointF& point, const QRectF& rect); + void select(QGraphicsItem *root, const QPointF& point, const QRectF& rect); + + QGraphicsView *mainView_; QString backgroundPath_; - RootGraphicsItem *rootItem_; + RootGraphicsItem *root_; Selection selection_; - QList<QGraphicsItem *> selectedItems_; + QList<RegionItem *> selectedRegions_; + QList<RegionItem *> baseSelection_; QPointF pressPos_; bool isPressing_; @@ -52,26 +55,35 @@ class Scene : public slots: void clear(); void clearSelection(); - void selectItems(const QList<PolygonItem *>& selectedItems, bool addToSelection); + + void select(const QList<RegionItem *>& selectedRegions); + inline void selectBase(); + void unselect(const QList<RegionItem *>& unselectedItems); + + void ensureVisible(QGraphicsItem *graphicsItem); signals: - void beginSelection(); - void endSelection(const QList<QGraphicsItem *>& selectedItems); + void selectionCleared(); + void newSelection(); + void newSelection(const QList<RegionItem *>& selectedRegions); }; inline QString Scene::backgroundPath() const { return backgroundPath_; } -inline RootGraphicsItem *Scene::rootItem() const -{ return rootItem_; } +inline RootGraphicsItem *Scene::root() const +{ return root_; } + +inline QList<RegionItem *> Scene::selectedRegions() const +{ return selectedRegions_; } -inline QList<QGraphicsItem *> Scene::selectedItems() const -{ return selectedItems_; } +inline void Scene::selectBase() +{ select(baseSelection_); } -inline void Scene::selectItems(const QPointF& point) -{ selectItems(rootItem_, point, QRectF()); } +inline void Scene::select(const QPointF& point) +{ select(root_, point, QRectF()); } -inline void Scene::selectItems(const QRectF& rect) -{ selectItems(rootItem_, QPointF(), rect); } +inline void Scene::select(const QRectF& rect) +{ select(root_, QPointF(), rect); } #endif // SCENE_H diff --git a/GScribo/XmlWidget/attributemodel.cpp b/GScribo/XmlWidget/attributesmodel.cpp similarity index 65% rename from GScribo/XmlWidget/attributemodel.cpp rename to GScribo/XmlWidget/attributesmodel.cpp index 6fddf89..783fafb 100644 --- a/GScribo/XmlWidget/attributemodel.cpp +++ b/GScribo/XmlWidget/attributesmodel.cpp @@ -1,18 +1,18 @@ -#include "attributemodel.h" +#include "attributesmodel.h" -AttributeModel::AttributeModel(const XmlAttributes& attributes, QObject *parent) : +AttributesModel::AttributesModel(const XmlAttributes& attributes, QObject *parent) : QAbstractItemModel(parent) { attributes_ = attributes; } -AttributeModel::AttributeModel(const XmlAttributes& attributes, QAbstractItemModelPrivate& dd, QObject *parent) : +AttributesModel::AttributesModel(const XmlAttributes& attributes, QAbstractItemModelPrivate& dd, QObject *parent) : QAbstractItemModel(dd, parent) { attributes_ = attributes; } -QVariant AttributeModel::headerData(int section, Qt::Orientation orientation, int role) const +QVariant AttributesModel::headerData(int section, Qt::Orientation orientation, int role) const { if(orientation == Qt::Horizontal && role == Qt::DisplayRole) { @@ -32,7 +32,7 @@ QVariant AttributeModel::headerData(int section, Qt::Orientation orientation, in return QVariant(); } -QVariant AttributeModel::data(const QModelIndex& index, int role) const +QVariant AttributesModel::data(const QModelIndex& index, int role) const { if(!index.isValid()) return QVariant(); @@ -50,7 +50,7 @@ QVariant AttributeModel::data(const QModelIndex& index, int role) const } } -void AttributeModel::load(const XmlAttributes& attributes) +void AttributesModel::load(const XmlAttributes& attributes) { beginResetModel(); @@ -59,7 +59,7 @@ void AttributeModel::load(const XmlAttributes& attributes) endResetModel(); } -void AttributeModel::reset() +void AttributesModel::reset() { beginResetModel(); diff --git a/GScribo/XmlWidget/attributemodel.h b/GScribo/XmlWidget/attributesmodel.h similarity index 56% rename from GScribo/XmlWidget/attributemodel.h rename to GScribo/XmlWidget/attributesmodel.h index c1a7ff1..0242689 100644 --- a/GScribo/XmlWidget/attributemodel.h +++ b/GScribo/XmlWidget/attributesmodel.h @@ -1,18 +1,18 @@ -#ifndef ATTRIBUTEMODEL_H -#define ATTRIBUTEMODEL_H +#ifndef ATTRIBUTESMODEL_H +#define ATTRIBUTESMODEL_H #include <QAbstractItemModel> #include "xmlattributes.h" -class AttributeModel : +class AttributesModel : public QAbstractItemModel { - public: - explicit AttributeModel(const XmlAttributes& attributes = XmlAttributes(), QObject *parent = 0); - explicit AttributeModel(const XmlAttributes& attributes, QAbstractItemModelPrivate& dd, QObject *parent = 0); + Q_OBJECT - void load(const XmlAttributes& attributes); + public: + explicit AttributesModel(const XmlAttributes& attributes = XmlAttributes(), QObject *parent = 0); + explicit AttributesModel(const XmlAttributes& attributes, QAbstractItemModelPrivate& dd, QObject *parent = 0); inline int rowCount(const QModelIndex& parent) const; inline int columnCount(const QModelIndex& parent) const; @@ -27,18 +27,21 @@ class AttributeModel : private: XmlAttributes attributes_; + + public slots: + void load(const XmlAttributes& attributes); }; -inline int AttributeModel::rowCount(const QModelIndex&) const +inline int AttributesModel::rowCount(const QModelIndex&) const { return attributes_.names().count(); } -inline int AttributeModel::columnCount(const QModelIndex&) const +inline int AttributesModel::columnCount(const QModelIndex&) const { return 2; } -inline QModelIndex AttributeModel::index(int row, int column, const QModelIndex& parent) const +inline QModelIndex AttributesModel::index(int row, int column, const QModelIndex& parent) const { if(!hasIndex(row, column, parent)) return QModelIndex(); return createIndex(row, column, 0); } -inline QModelIndex AttributeModel::parent(const QModelIndex&) const +inline QModelIndex AttributesModel::parent(const QModelIndex&) const { return QModelIndex(); } -#endif // ATTRIBUTEMODEL_H +#endif // ATTRIBUTESMODEL_H diff --git a/GScribo/XmlWidget/selectionproxy.h b/GScribo/XmlWidget/selectionproxy.h index ff55bd4..8ee45f8 100644 --- a/GScribo/XmlWidget/selectionproxy.h +++ b/GScribo/XmlWidget/selectionproxy.h @@ -10,34 +10,34 @@ class SelectionProxy : public QSortFilterProxyModel { public: - explicit SelectionProxy(QObject *parent = 0) : QSortFilterProxyModel(parent) { isAllSelected_ = true; } + explicit SelectionProxy(QObject *parent = 0) : QSortFilterProxyModel(parent) { isAllDisplayed_ = true; } + + inline void displayAll(); + inline bool isAllDisplayed(); inline void beginResetModel(); inline void endResetModel(); - inline void selectAll(); - inline bool isAllSelected(); - protected: inline bool filterAcceptsRow(int sourceRow, const QModelIndex& sourceParent) const; private: - bool isAllSelected_; + bool isAllDisplayed_; }; inline bool SelectionProxy::filterAcceptsRow(int sourceRow, const QModelIndex& sourceParent) const -{ return isAllSelected_ || sourceModel()->index(sourceRow, 0, sourceParent).data(filterRole()).toBool(); } +{ return isAllDisplayed_ || sourceModel()->index(sourceRow, 0, sourceParent).data(filterRole()).value<XmlItem *>()->isVisible(); } inline void SelectionProxy::beginResetModel() -{ isAllSelected_ = false; QSortFilterProxyModel::beginResetModel(); } +{ isAllDisplayed_ = false; QSortFilterProxyModel::beginResetModel(); } inline void SelectionProxy::endResetModel() { QSortFilterProxyModel::endResetModel(); } -inline void SelectionProxy::selectAll() -{ isAllSelected_ = true; } +inline void SelectionProxy::displayAll() +{ isAllDisplayed_ = true; } -inline bool SelectionProxy::isAllSelected() -{ return isAllSelected_; } +inline bool SelectionProxy::isAllDisplayed() +{ return isAllDisplayed_; } #endif // SELECTIONPROXY_H diff --git a/GScribo/XmlWidget/xmldelegate.h b/GScribo/XmlWidget/xmldelegate.h index 0da3ce9..3751a94 100644 --- a/GScribo/XmlWidget/xmldelegate.h +++ b/GScribo/XmlWidget/xmldelegate.h @@ -8,7 +8,7 @@ class XmlDelegate : public QStyledItemDelegate { public: - explicit XmlDelegate(int role = Qt::DisplayRole, QObject *parent = 0) : QStyledItemDelegate(parent) { role_ = role; }; + explicit XmlDelegate(int role = Qt::DisplayRole, QObject *parent = 0) : QStyledItemDelegate(parent) { role_ = role; } inline void paint(QPainter *painter, const QStyleOptionViewItem& option, const QModelIndex& index) const; inline void setRole(int role); diff --git a/GScribo/XmlWidget/xmlitem.cpp b/GScribo/XmlWidget/xmlitem.cpp index f2499cf..53d09aa 100644 --- a/GScribo/XmlWidget/xmlitem.cpp +++ b/GScribo/XmlWidget/xmlitem.cpp @@ -22,7 +22,7 @@ XmlItem::~XmlItem() void XmlItem::init(XmlItem *parent, XmlItem *precItem) { isVisible_ = false; - graphicalItem_ = 0; + regionItem_ = 0; parent_ = parent; if(parent) diff --git a/GScribo/XmlWidget/xmlitem.h b/GScribo/XmlWidget/xmlitem.h index 6e01573..5b14ba7 100644 --- a/GScribo/XmlWidget/xmlitem.h +++ b/GScribo/XmlWidget/xmlitem.h @@ -5,7 +5,7 @@ #include "xmlattributes.h" -class PolygonItem; +class RegionItem; class XmlItem { @@ -21,8 +21,8 @@ class XmlItem inline void addChild(XmlItem *child); inline XmlItem *parent() const; - inline PolygonItem *graphicalItem(); - inline void setGraphicalItem(PolygonItem *graphicalItem); + inline RegionItem *regionItem(); + inline void setRegionItem(RegionItem *regionItem); inline bool isVisible() const; inline void setVisible(bool visible); @@ -40,7 +40,7 @@ class XmlItem bool isVisible_; QList<XmlItem *> childs_; XmlItem *parent_; - PolygonItem *graphicalItem_; + RegionItem *regionItem_; QString text_; XmlAttributes attributes_; }; @@ -57,11 +57,11 @@ inline void XmlItem::addChild(XmlItem *child) inline XmlItem *XmlItem::parent() const { return parent_; } -inline PolygonItem *XmlItem::graphicalItem() -{ return graphicalItem_; } +inline RegionItem *XmlItem::regionItem() +{ return regionItem_; } -inline void XmlItem::setGraphicalItem(PolygonItem *graphicalItem) -{ graphicalItem_ = graphicalItem; } +inline void XmlItem::setRegionItem(RegionItem *regionItem) +{ regionItem_ = regionItem; } inline bool XmlItem::isVisible() const { return isVisible_; } @@ -84,4 +84,7 @@ inline int XmlItem::row() const inline XmlAttributes XmlItem::attributes() const { return attributes_; } +Q_DECLARE_METATYPE(XmlItem) +Q_DECLARE_METATYPE(XmlItem *) + #endif // XMLITEM_H diff --git a/GScribo/XmlWidget/xmlmodel.cpp b/GScribo/XmlWidget/xmlmodel.cpp index ccc9443..0f58075 100644 --- a/GScribo/XmlWidget/xmlmodel.cpp +++ b/GScribo/XmlWidget/xmlmodel.cpp @@ -37,13 +37,10 @@ QVariant XmlModel::data(const QModelIndex& index, int role) const return static_cast<XmlItem *>(index.internalPointer())->text(); case Qt::UserRole+1: - return static_cast<XmlItem *>(index.internalPointer())->isVisible(); - - case Qt::UserRole+2: return QVariant::fromValue(static_cast<XmlItem *>(index.internalPointer())->attributes()); - case Qt::UserRole+3: - return VariantPointer<PolygonItem>::toQVariant(static_cast<XmlItem *>(index.internalPointer())->graphicalItem()); + case Qt::UserRole+2: + return QVariant::fromValue(static_cast<XmlItem *>(index.internalPointer())); default: return QVariant(); diff --git a/GScribo/XmlWidget/xmlview.cpp b/GScribo/XmlWidget/xmlview.cpp index e7488e0..e92c877 100644 --- a/GScribo/XmlWidget/xmlview.cpp +++ b/GScribo/XmlWidget/xmlview.cpp @@ -3,75 +3,82 @@ XmlView::XmlView(QWidget *parent) : QTreeView(parent) { - proxy_.setFilterRole(Qt::UserRole+1); - proxy_.setDynamicSortFilter(true); + proxy_.setFilterRole(Qt::UserRole+2); setUniformRowHeights(true); setItemDelegate(new XmlDelegate(Qt::UserRole)); setSelectionMode(QAbstractItemView::ExtendedSelection); } -void XmlView::hideVisibles() +void XmlView::hideAll() { + proxy_.beginResetModel(); + XmlItem *child; - foreach(child, visibleItems_) + foreach(child, displayedItems_) child->hide(); - visibleItems_.clear(); + displayedItems_.clear(); + emit resetProperty(); + + proxy_.endResetModel(); } -void XmlView::onEndGraphicalSelection(const QList<QGraphicsItem *>& selectedItems) +void XmlView::display(QList<XmlItem *> displayedItems, bool addToDisplayedList) { - hideVisibles(); + proxy_.beginResetModel(); - if(selectedItems.isEmpty()) - proxy_.selectAll(); - else + if(!addToDisplayedList) + hideAll(); + + XmlItem *child; + foreach(child, displayedItems) { - QGraphicsItem *child; - XmlItem *xmlItem; - foreach(child, selectedItems) - { - xmlItem = static_cast<PolygonItem *>(child)->xmlItem(); - xmlItem->show(); - visibleItems_ << xmlItem; - } + child->show(); + displayedItems_ << child; } proxy_.endResetModel(); - emit resetAttributes(); expandAll(); } +QList<XmlItem *> XmlView::transform(const QModelIndexList& modelIndexList) const +{ + QList<XmlItem *> selectedItems; + QModelIndex index; + + foreach(index, modelIndexList) + selectedItems << index.data(Qt::UserRole+2).value<XmlItem *>(); + + return selectedItems; +} + void XmlView::selectionChanged(const QItemSelection& selected, const QItemSelection& deselected) { QTreeView::selectionChanged(selected, deselected); - if(!proxy_.isAllSelected()) - { - //if(emptySelection_) - //emit resetGraphicalSelection(); + if(selected.indexes() == selectedIndexes()) + emit resetSelection(); + if(!selectedIndexes().isEmpty()) + { + QList<XmlItem *> xmlItems; if(!selected.isEmpty()) { - QList<PolygonItem *> sel; - QModelIndex index; - - foreach(index, selected.indexes()) - { - PolygonItem *graphicalItem = VariantPointer<PolygonItem>::fromQVariant(index.data(Qt::UserRole+3)); - - if(graphicalItem) - sel << graphicalItem; - } - - //emptySelection_ = false; - emit selection(sel, true); + xmlItems = transform(selected.indexes()); + emit select(xmlItems); } - //else - //emit resetGraphicalSelection(); + else + { + xmlItems = transform(deselected.indexes()); + emit unselect(xmlItems); + } + + emit loadAttributes(xmlItems.last()->attributes()); } - //else - //emptySelection_ = true; + else + emit emptySelection(); + + emit newSelection(); } diff --git a/GScribo/XmlWidget/xmlview.h b/GScribo/XmlWidget/xmlview.h index ce2b745..a26593e 100644 --- a/GScribo/XmlWidget/xmlview.h +++ b/GScribo/XmlWidget/xmlview.h @@ -4,7 +4,7 @@ #include <QGraphicsItem> #include <QTreeView> -#include "Rendering/polygonitem.h" +#include "Rendering/regionitem.h" #include "selectionproxy.h" #include "xmldelegate.h" #include "xmlitem.h" @@ -17,8 +17,10 @@ class XmlView : public: explicit XmlView(QWidget *parent = 0); - inline QList<XmlItem *> visibleItems() const; - void hideVisibles(); + inline QList<XmlItem *> displayedItems() const; + void hideAll(); + + inline QList<XmlItem *> selectedItems() const; inline void setModel(QAbstractItemModel *model); @@ -26,24 +28,44 @@ class XmlView : void selectionChanged(const QItemSelection& selected, const QItemSelection& deselected); private: - QList<XmlItem *> visibleItems_; + QList<XmlItem *> transform(const QModelIndexList& modelIndexList) const; + void display(QList<XmlItem *> displayedItems, bool addToDisplayedList); + SelectionProxy proxy_; + QList<XmlItem *> displayedItems_; public slots: - inline void onBeginGraphicalSelection(); - void onEndGraphicalSelection(const QList<QGraphicsItem *>& selectedItems); + inline void display(QList<XmlItem *> displayedItems); + inline void displayOnly(QList<XmlItem *> displayedItems); + inline void displayAll(); signals: - void selection(const QList<PolygonItem *>& selectedItems, bool addToSelection); - void resetGraphicalSelection(); - void resetAttributes(); + void loadAttributes(const XmlAttributes& xmlAttributes); + + void select(const QList<XmlItem *>& selectedItems); + void unselect(const QList<XmlItem *>& unselectedItems); + + void newSelection(); + void emptySelection(); + + void resetSelection(); + void resetProperty(); }; -inline QList<XmlItem *> XmlView::visibleItems() const -{ return visibleItems_; } +inline QList<XmlItem *> XmlView::displayedItems() const +{ return displayedItems_; } + +inline void XmlView::display(QList<XmlItem *> displayedItems) +{ display(displayedItems, true); } + +inline void XmlView::displayOnly(QList<XmlItem *> displayedItems) +{ display(displayedItems, false); } + +inline void XmlView::displayAll() +{ displayedItems_.clear(); proxy_.displayAll(); } -inline void XmlView::onBeginGraphicalSelection() -{ proxy_.beginResetModel(); } +inline QList<XmlItem *> XmlView::selectedItems() const +{ return transform(selectedIndexes()); } inline void XmlView::setModel(QAbstractItemModel *model) { proxy_.setSourceModel(model); QTreeView::setModel(&proxy_); } diff --git a/GScribo/XmlWidget/xmlwidget.cpp b/GScribo/XmlWidget/xmlwidget.cpp index b01aab3..66a3470 100644 --- a/GScribo/XmlWidget/xmlwidget.cpp +++ b/GScribo/XmlWidget/xmlwidget.cpp @@ -1,36 +1,35 @@ #include "xmlwidget.h" XmlWidget::XmlWidget(QWidget *parent) : - QWidget(parent) + QSplitter(Qt::Horizontal, parent) { - QHBoxLayout *hLayout = new QHBoxLayout; - proxy_.setFilterRegExp(QRegExp("Page|.Region|Line", Qt::CaseInsensitive)); proxy_.setFilterRole(Qt::UserRole); proxy_.setSourceModel(&model_); proxy_.setDynamicSortFilter(true); view_.setModel(&proxy_); - view_.setItemDelegate(new XmlDelegate(Qt::UserRole)); property_.setModel(&attributesModel_); property_.setUniformRowHeights(true); - property_.setColumnWidth(0, property_.width() / 2.5); property_.setSelectionMode(QAbstractItemView::NoSelection); property_.setItemDelegateForColumn(0, new XmlDelegate(Qt::UserRole)); property_.setItemDelegateForColumn(1, new XmlDelegate(Qt::UserRole+1)); - hLayout->addWidget(&view_); - hLayout->addWidget(&property_); - - setLayout(hLayout); + addWidget(&view_); + addWidget(&property_); - connect(&view_, SIGNAL(resetAttributes()), &property_, SLOT(reset())); + connect(&view_, SIGNAL(resetProperty()), &property_, SLOT(reset())); + connect(&view_, SIGNAL(clicked(QModelIndex)), this, SLOT(loadAttributes(QModelIndex))); + connect(&view_, SIGNAL(loadAttributes(XmlAttributes)), &attributesModel_, SLOT(load(XmlAttributes))); } void XmlWidget::changeView(XmlItem *rootItem) { attributesModel_.reset(); + model_.load(rootItem); + + view_.displayAll(); view_.expandAll(); } diff --git a/GScribo/XmlWidget/xmlwidget.h b/GScribo/XmlWidget/xmlwidget.h index 9681f27..4582f0e 100644 --- a/GScribo/XmlWidget/xmlwidget.h +++ b/GScribo/XmlWidget/xmlwidget.h @@ -2,24 +2,21 @@ #define XMLWIDGET_H #include <QSortFilterProxyModel> -#include <QGraphicsView> #include <QTreeWidget> -#include <QVBoxLayout> +#include <QSplitter> #include <QDomElement> -#include <QHeaderView> #include <QWidget> -#include <QLabel> #include "Rendering/scene.h" #include "selectionproxy.h" -#include "attributemodel.h" +#include "attributesmodel.h" #include "variantpointer.h" #include "xmldelegate.h" #include "xmlmodel.h" #include "xmlview.h" class XmlWidget : - public QWidget + public QSplitter { Q_OBJECT @@ -36,10 +33,13 @@ class XmlWidget : SelectionProxy proxy2_; XmlModel model_; - AttributeModel attributesModel_; + AttributesModel attributesModel_; XmlView view_; QTreeView property_; + + private slots: + inline void loadAttributes(const QModelIndex& index); }; inline XmlView *XmlWidget::view() @@ -48,4 +48,7 @@ inline XmlView *XmlWidget::view() inline QTreeView *XmlWidget::property() { return &property_; } +inline void XmlWidget::loadAttributes(const QModelIndex &index) +{ attributesModel_.load(index.data(Qt::UserRole+2).value<XmlItem *>()->attributes()); } + #endif // XMLWIDGET_H diff --git a/GScribo/dir.h b/GScribo/dir.h index a6c036b..3de42da 100644 --- a/GScribo/dir.h +++ b/GScribo/dir.h @@ -1,7 +1,7 @@ #ifndef DIR_H #define DIR_H -#define SCRIBO_LOCAL_DEMODIR "/lrde/home/stage/froger_a/olena/_build/scribo/demo" +#define SCRIBO_LOCAL_DEMODIR "/home/onix/olena/_build/scribo/demo" #define SCRIBO_PREFIX_BINDIR "/usr/local/bin" #endif // DIR_H diff --git a/GScribo/listmodel.o b/GScribo/listmodel.o deleted file mode 100644 index e1dcd0f..0000000 Binary files a/GScribo/listmodel.o and /dev/null differ diff --git a/GScribo/mainwindow.cpp b/GScribo/mainwindow.cpp index 25c25d3..622bc72 100644 --- a/GScribo/mainwindow.cpp +++ b/GScribo/mainwindow.cpp @@ -13,11 +13,16 @@ MainWindow::MainWindow(QWidget *parent) : initTextRegion(); initXmlWidget(); initPageWidget(); + initRegionWidget(); initToolBar(); initMenuBar(); + // Told the left dock widget (here the pages widget and the region widget) to fill the bottom left corner. + setCorner(Qt::BottomLeftCorner, Qt::LeftDockWidgetArea); + // Merge the region and pages widget in one tab (pages widget over the region widget). + tabifyDockWidget(&dockRegion_, &dockPages_); + connectWidgets(); - connectShortcuts(); } MainWindow::~MainWindow() @@ -25,43 +30,62 @@ MainWindow::~MainWindow() delete ui; } +void MainWindow::changeEvent(QEvent *e) +{ + QMainWindow::changeEvent(e); + switch (e->type()) + { + case QEvent::LanguageChange: + ui->retranslateUi(this); + break; + default: + break; + } +} + void MainWindow::initGraphicsRegion() { - // Cache backgroud to speed up its repaint. - graphicsView.setCacheMode(QGraphicsView::CacheBackground); - graphicsView.setViewportUpdateMode(QGraphicsView::SmartViewportUpdate); - graphicsView.setScene(&scene); + graphicsView_.setViewportUpdateMode(QGraphicsView::SmartViewportUpdate); + graphicsView_.setScene(&scene_); - setCentralWidget(&graphicsView); + setCentralWidget(&graphicsView_); } void MainWindow::initPageWidget() { - dockPages.setWindowTitle(tr("Pages")); - dockPages.setFeatures(QDockWidget::DockWidgetClosable | QDockWidget::DockWidgetMovable); - dockPages.setWidget(&pagesWidget); + dockPages_.setWindowTitle("Pages"); + dockPages_.setFeatures(QDockWidget::DockWidgetClosable | QDockWidget::DockWidgetMovable); + dockPages_.setWidget(&pagesWidget_); - addDockWidget(Qt::LeftDockWidgetArea, &dockPages); + addDockWidget(Qt::LeftDockWidgetArea, &dockPages_); +} + +void MainWindow::initRegionWidget() +{ + dockRegion_.setWindowTitle("Regions"); + dockRegion_.setFeatures(QDockWidget::DockWidgetClosable | QDockWidget::DockWidgetMovable); + dockRegion_.setWidget(®ionWidget_); + + addDockWidget(Qt::LeftDockWidgetArea, &dockRegion_); } void MainWindow::initXmlWidget() { - dockXml.setWindowTitle(tr("Xml")); - dockXml.setFeatures(QDockWidget::DockWidgetClosable | QDockWidget::DockWidgetMovable); - dockXml.setWidget(&xmlWidget); + dockXml_.setWindowTitle("Xml"); + dockXml_.setFeatures(QDockWidget::DockWidgetClosable | QDockWidget::DockWidgetMovable); + dockXml_.setWidget(&xmlWidget_); - addDockWidget(Qt::BottomDockWidgetArea, &dockXml); + addDockWidget(Qt::BottomDockWidgetArea, &dockXml_); } void MainWindow::initTextRegion() { - dockText.setWindowTitle(tr("Text")); - dockText.setAllowedAreas(Qt::AllDockWidgetAreas); - dockText.setFeatures(QDockWidget::DockWidgetFloatable | QDockWidget::DockWidgetMovable); - dockText.setWidget(&textEdit); + dockText_.setWindowTitle("Text"); + dockText_.setFeatures(QDockWidget::DockWidgetFloatable | QDockWidget::DockWidgetMovable); + dockText_.setWidget(&textEdit_); - addDockWidget(Qt::RightDockWidgetArea, &dockText); - dockText.hide(); + addDockWidget(Qt::RightDockWidgetArea, &dockText_); + dockText_.hide(); } void MainWindow::initToolBar() @@ -79,20 +103,23 @@ void MainWindow::initMenuBar() connect(preferences, SIGNAL(triggered()), SLOT(onPreferences())); } -void MainWindow::onFileChanged(const QString& filename) +void MainWindow::connectWidgets() { - // If it's not the current scene. - if(scene.backgroundPath() != filename) - { - QString xmlPath = Xml::getPath(filename); - // Check if the xml file already exists. - if(!QFile(xmlPath).exists()) - xmlPath = QString(); + // If double click on a picture of the page widget -> draw it on background scene. + connect(&pagesWidget_, SIGNAL(imageSelectionned(QString)), this, SLOT(onFileChanged(QString))); - xml.load(xmlPath); - scene.changeScene(filename, xml.graphicItem()); - xmlWidget.changeView(xml.xmlItem()); - } + // Connect the scene to the xml widget and vice versa. + connect(&scene_, SIGNAL(newSelection(QList<RegionItem*>)), this, SLOT(onRegionSelection(QList<RegionItem*>))); + connect(xmlWidget_.view(), SIGNAL(select(QList<XmlItem*>)), this, SLOT(onXmlSelect(QList<XmlItem*>))); + connect(xmlWidget_.view(), SIGNAL(unselect(QList<XmlItem*>)), this, SLOT(onXmlUnselect(QList<XmlItem*>))); + connect(xmlWidget_.view(), SIGNAL(emptySelection()), &scene_, SLOT(selectBase())); + connect(xmlWidget_.view(), SIGNAL(resetSelection()), &scene_, SLOT(clearSelection())); + + /*connect(&runner, SIGNAL(progress()), &progressDialog, SLOT(run())); + connect(&runner, SIGNAL(new_progress_max_value(int)), &progressDialog, SLOT(setMaximum(int))); + connect(&runner, SIGNAL(new_progress_label(QString)), &progressDialog, SLOT(setLabelText(QString))); + connect(&runner, SIGNAL(finished()), &progressDialog, SLOT(close())); + connect(&runner, SIGNAL(xml_saved(QString)), this, SLOT(onXmlSaved(QString)));*/ } void MainWindow::onOpen() @@ -101,7 +128,7 @@ void MainWindow::onOpen() if(paths.count() > 0) { - QStringList filenames = pagesWidget.filenames(); + QStringList filenames = pagesWidget_.filenames(); QString path; int counter = 0; @@ -116,7 +143,7 @@ void MainWindow::onOpen() if(!isContained) { - pagesWidget.addPicture(path, QPixmap(path)); + pagesWidget_.addPicture(path, QPixmap(path)); // If more than one file, we store it in the page widget. for(int i = counter; i < paths.count(); i++) @@ -125,12 +152,12 @@ void MainWindow::onOpen() if(!filenames.contains(paths[i])) { path = paths[i]; - pagesWidget.addPicture(path, QPixmap(path)); + pagesWidget_.addPicture(path, QPixmap(path)); } } - pagesWidget.setCurrentRow(0); - pagesWidget.scrollToTop(); + pagesWidget_.setCurrentRow(0); + pagesWidget_.scrollToTop(); } // Change current scene. @@ -140,14 +167,14 @@ void MainWindow::onOpen() void MainWindow::onSegment() { - if(scene.backgroundPath() != "") + if(scene_.backgroundPath() != "") { QStringList filenames; - if(!pagesWidget.isVisible()) - filenames << scene.backgroundPath(); + if(!pagesWidget_.isVisible()) + filenames << scene_.backgroundPath(); else - filenames = pagesWidget.filenames(); + filenames = pagesWidget_.filenames(); // Run segmentation of page(s). //progressDialog.reset(); @@ -155,58 +182,75 @@ void MainWindow::onSegment() } } -void MainWindow::onXmlSaved(const QString& filename) -{ - xml.load(filename); - xmlWidget.changeView(xml.xmlItem()); - scene.setRootItem(xml.graphicItem()); -} - void MainWindow::onPreferences() { //PreferencesDialog *preferenceDialog = new PreferencesDialog(this); //preferenceDialog->show(); } -void MainWindow::onDelete() +void MainWindow::onXmlSaved(const QString& filename) { - if(pagesWidget.hasFocus()) - pagesWidget.removeSelection(); + xml_.load(filename); + xmlWidget_.changeView(xml_.xmlItem()); + scene_.setRoot(xml_.graphicsItem()); } -void MainWindow::connectWidgets() +void MainWindow::onFileChanged(const QString& filename) { - // If double click on a picture of the page widget -> draw it on background scene. - connect(&pagesWidget, SIGNAL(imageSelectionned(QString)), this, SLOT(onFileChanged(QString))); + // If it's not the current scene. + if(scene_.backgroundPath() != filename) + { + QString xmlPath = Xml::getPath(filename); + // Check if the xml file already exists. + if(!QFile(xmlPath).exists()) + xmlPath = QString(); - // Connect the scene to the xml widget and vice versa. - connect(&scene, SIGNAL(beginSelection()), xmlWidget.view(), SLOT(onBeginGraphicalSelection())); - connect(&scene, SIGNAL(endSelection(QList<QGraphicsItem*>)), xmlWidget.view(), SLOT(onEndGraphicalSelection(QList<QGraphicsItem*>))); - connect(xmlWidget.view(), SIGNAL(selection(QList<PolygonItem*>,bool)), &scene, SLOT(selectItems(QList<PolygonItem*>, bool))); - connect(xmlWidget.view(), SIGNAL(resetGraphicalSelection()), &scene, SLOT(clearSelection())); + xml_.load(xmlPath); + scene_.changeScene(filename, xml_.graphicsItem()); + xmlWidget_.changeView(xml_.xmlItem()); + } +} - /*connect(&runner, SIGNAL(progress()), &progressDialog, SLOT(run())); - connect(&runner, SIGNAL(new_progress_max_value(int)), &progressDialog, SLOT(setMaximum(int))); - connect(&runner, SIGNAL(new_progress_label(QString)), &progressDialog, SLOT(setLabelText(QString))); - connect(&runner, SIGNAL(finished()), &progressDialog, SLOT(close())); - connect(&runner, SIGNAL(xml_saved(QString)), this, SLOT(onXmlSaved(QString)));*/ +QList<RegionItem *> MainWindow::toRegionItems(QList<XmlItem *> xmlItems) const +{ + QList<RegionItem *> regionItems; + XmlItem *child; + foreach(child, xmlItems) + { + if(child->regionItem()) + regionItems << child->regionItem(); + } + + return regionItems; } -void MainWindow::connectShortcuts() +QList<XmlItem *> MainWindow::toXmlItems(QList<RegionItem *> regionItems) const { - QShortcut *del = new QShortcut(Qt::Key_Delete, &pagesWidget); - connect(del, SIGNAL(activated()), this, SLOT(onDelete())); + QList<XmlItem *> xmlItems; + RegionItem *child; + foreach(child, regionItems) + xmlItems << child->xmlItem(); + + return xmlItems; } -void MainWindow::changeEvent(QEvent *e) +void MainWindow::onRegionSelection(QList<RegionItem *> regionItems) { - QMainWindow::changeEvent(e); - switch (e->type()) + if(!regionItems.isEmpty()) + xmlWidget_.view()->displayOnly(toXmlItems(regionItems)); + else + xmlWidget_.view()->displayAll(); +} + +void MainWindow::onXmlChangeSelection(QList<XmlItem *> xmlItems, bool select) +{ + QList<RegionItem *> regionItems = toRegionItems(xmlItems); + + if(!regionItems.isEmpty()) { - case QEvent::LanguageChange: - ui->retranslateUi(this); - break; - default: - break; + if(select) + scene_.select(regionItems); + else + scene_.unselect(regionItems); } } diff --git a/GScribo/mainwindow.h b/GScribo/mainwindow.h index ca79802..7e84fc3 100644 --- a/GScribo/mainwindow.h +++ b/GScribo/mainwindow.h @@ -15,6 +15,7 @@ #include "XmlWidget/xmlwidget.h" //#include "Processing/runner.h" #include "Rendering/scene.h" +#include "regionwidget.h" #include "xml.h" namespace Ui @@ -39,33 +40,55 @@ class MainWindow: void initTextRegion(); void initToolBar(); void initPageWidget(); + void initRegionWidget(); void initXmlWidget(); void initMenuBar(); void connectWidgets(); - void connectShortcuts(); Xml processTmpXml(const QString& filename) const; + QList<RegionItem *> toRegionItems(QList<XmlItem *> regionItems) const; + QList<XmlItem *> toXmlItems(QList<RegionItem *> xmlItems) const; Ui::MainWindow *ui; - QDockWidget dockText; - QDockWidget dockPages; - QDockWidget dockXml; - QGraphicsView graphicsView; - Scene scene; - QPlainTextEdit textEdit; - PagesWidget pagesWidget; - //Runner runner; - //ProgressDialog progressDialog; - Xml xml; - XmlWidget xmlWidget; + + QDockWidget dockRegion_; + QDockWidget dockPages_; + QDockWidget dockText_; + QDockWidget dockXml_; + + QGraphicsView graphicsView_; + Scene scene_; + + PagesWidget pagesWidget_; + RegionWidget regionWidget_; + + QPlainTextEdit textEdit_; + + //ProgressDialog progressDialog_; + //Runner runner_; + + XmlWidget xmlWidget_; + Xml xml_; private slots: void onOpen(); void onSegment(); - void onXmlSaved(const QString& filename); void onPreferences(); + + void onXmlSaved(const QString& filename); void onFileChanged(const QString& filename); - void onDelete(); + + void onRegionSelection(QList<RegionItem *> regionItems); + void onXmlChangeSelection(QList<XmlItem *> xmlItems, bool select); + inline void onXmlSelect(QList<XmlItem *> xmlItems); + inline void onXmlUnselect(QList<XmlItem *> xmlItems); }; + +inline void MainWindow::onXmlSelect(QList<XmlItem *> xmlItems) +{ onXmlChangeSelection(xmlItems, true); } + +inline void MainWindow::onXmlUnselect(QList<XmlItem *> xmlItems) +{ onXmlChangeSelection(xmlItems, false); } + #endif // MAINWINDOW_H diff --git a/GScribo/moc_listmodel.cpp b/GScribo/moc_listmodel.cpp deleted file mode 100644 index c1d5bdc..0000000 --- a/GScribo/moc_listmodel.cpp +++ /dev/null @@ -1,79 +0,0 @@ -/**************************************************************************** -** Meta object code from reading C++ file 'listmodel.h' -** -** Created: Fri Feb 8 10:30:41 2013 -** by: The Qt Meta Object Compiler version 62 (Qt 4.6.3) -** -** WARNING! All changes made in this file will be lost! -*****************************************************************************/ - -#include "PagesWidget/listmodel.h" -#if !defined(Q_MOC_OUTPUT_REVISION) -#error "The header file 'listmodel.h' doesn't include <QObject>." -#elif Q_MOC_OUTPUT_REVISION != 62 -#error "This file was generated using the moc from 4.6.3. It" -#error "cannot be used with the include files from this version of Qt." -#error "(The moc has changed too much.)" -#endif - -QT_BEGIN_MOC_NAMESPACE -static const uint qt_meta_data_ListModel[] = { - - // content: - 4, // revision - 0, // classname - 0, 0, // classinfo - 1, 14, // methods - 0, 0, // properties - 0, 0, // enums/sets - 0, 0, // constructors - 0, // flags - 0, // signalCount - - // slots: signature, parameters, type, tag, flags - 18, 11, 10, 10, 0x0a, - - 0 // eod -}; - -static const char qt_meta_stringdata_ListModel[] = { - "ListModel\0\0parent\0removePixmap(QModelIndex)\0" -}; - -const QMetaObject ListModel::staticMetaObject = { - { &QAbstractListModel::staticMetaObject, qt_meta_stringdata_ListModel, - qt_meta_data_ListModel, 0 } -}; - -#ifdef Q_NO_DATA_RELOCATION -const QMetaObject &ListModel::getStaticMetaObject() { return staticMetaObject; } -#endif //Q_NO_DATA_RELOCATION - -const QMetaObject *ListModel::metaObject() const -{ - return QObject::d_ptr->metaObject ? QObject::d_ptr->metaObject : &staticMetaObject; -} - -void *ListModel::qt_metacast(const char *_clname) -{ - if (!_clname) return 0; - if (!strcmp(_clname, qt_meta_stringdata_ListModel)) - return static_cast<void*>(const_cast< ListModel*>(this)); - return QAbstractListModel::qt_metacast(_clname); -} - -int ListModel::qt_metacall(QMetaObject::Call _c, int _id, void **_a) -{ - _id = QAbstractListModel::qt_metacall(_c, _id, _a); - if (_id < 0) - return _id; - if (_c == QMetaObject::InvokeMetaMethod) { - switch (_id) { - case 0: removePixmap((*reinterpret_cast< const QModelIndex(*)>(_a[1]))); break; - default: ; - } - _id -= 1; - } - return _id; -} -QT_END_MOC_NAMESPACE diff --git a/GScribo/moc_listmodel.o b/GScribo/moc_listmodel.o deleted file mode 100644 index 53d3716..0000000 Binary files a/GScribo/moc_listmodel.o and /dev/null differ diff --git a/GScribo/region.h b/GScribo/region.h index 1343ea6..b3d7d2a 100644 --- a/GScribo/region.h +++ b/GScribo/region.h @@ -3,31 +3,40 @@ #include <QColor> -namespace GraphicRegion +namespace GraphicsRegion { enum Id { Text = 0, Line, - Baseline, - Meanline, - HorizontalSeparator, + VerticalSeparator, + HorizontalSeparator, WhiteSpaceSeparator, + Image, Noise, Table, - LineDrawing, + Maths, Graphic, Chart, - Maths + + Baseline, + Meanline, + + TextRegion, + SeparatorRegion, + MiscRegion, + TypoRegion, + + None }; struct Data { QColor color; QString name; - GraphicRegion::Id region; + GraphicsRegion::Id region; int zValue; }; } diff --git a/GScribo/regionwidget.cpp b/GScribo/regionwidget.cpp new file mode 100644 index 0000000..bfa1e9d --- /dev/null +++ b/GScribo/regionwidget.cpp @@ -0,0 +1,45 @@ +#include "regionwidget.h" + +RegionWidget::RegionWidget(QWidget *parent) : + QTreeWidget(parent) +{ + setHeaderHidden(true); + + addTopLevelItem(createRoot("Text", GraphicsRegion::TextRegion, GraphicsRegion::Text, GraphicsRegion::Line)); + addTopLevelItem(createRoot("Typological Lines", GraphicsRegion::TypoRegion, GraphicsRegion::Baseline, GraphicsRegion::Meanline)); + addTopLevelItem(createRoot("Separators", GraphicsRegion::SeparatorRegion, GraphicsRegion::VerticalSeparator, GraphicsRegion::WhiteSpaceSeparator)); + addTopLevelItem(createRoot("Miscellaneous", GraphicsRegion::MiscRegion, GraphicsRegion::Image, GraphicsRegion::Chart)); + + expandAll(); + + connect(this, SIGNAL(itemChanged(QTreeWidgetItem*,int)), this, SLOT(onItemChanged(QTreeWidgetItem*))); +} + +RegionWidgetItem *RegionWidget::createRoot(const QString& text, const GraphicsRegion::Id& region, const GraphicsRegion::Id& begin, const GraphicsRegion::Id& end) +{ + // Create root. + RegionWidgetItem *rootItem = createItem(text, region); + + // Fill root with corresponding childs. + for(int region_ = begin; region_ <= end; region_++) + fillRoot(rootItem, static_cast<GraphicsRegion::Id>(region_)); + + return rootItem; +} + +RegionWidgetItem *RegionWidget::createItem(const QString& text, const GraphicsRegion::Id& region, const QColor& color) +{ + RegionWidgetItem *item = new RegionWidgetItem(region); + item->setText(0, text); + item->setBackgroundColor(0, color); + + return item; +} + +void RegionWidget::onItemChanged(QTreeWidgetItem *item) +{ + RegionWidgetItem *regionWidgetItem = static_cast<RegionWidgetItem *>(item); + + if(regionWidgetItem->isCheckStateChanged()) + emit checkStateChanged(regionWidgetItem->region()); +} diff --git a/GScribo/regionwidget.h b/GScribo/regionwidget.h new file mode 100644 index 0000000..6b2655f --- /dev/null +++ b/GScribo/regionwidget.h @@ -0,0 +1,33 @@ +#ifndef REGIONWIDGET_H +#define REGIONWIDGET_H + +#include <QTreeWidget> +#include <QLabel> + +#include "regionwidgetitem.h" +#include "xml.h" + +class RegionWidget : + public QTreeWidget +{ + Q_OBJECT + + public: + explicit RegionWidget(QWidget *parent = 0); + + private: + RegionWidgetItem *createRoot(const QString& text, const GraphicsRegion::Id& region, const GraphicsRegion::Id& begin, const GraphicsRegion::Id& end); + RegionWidgetItem *createItem(const QString& text, const GraphicsRegion::Id& region, const QColor& color = QColor::fromRgb(255, 255, 255)); + inline void fillRoot(RegionWidgetItem *rootItem, const GraphicsRegion::Id& region); + + private slots: + void onItemChanged(QTreeWidgetItem *item); + + signals: + void checkStateChanged(GraphicsRegion::Id region); +}; + +inline void RegionWidget::fillRoot(RegionWidgetItem *rootItem, const GraphicsRegion::Id& region) +{ GraphicsRegion::Data data = Xml::dataFromRegion(region); rootItem->addChild(createItem(data.name, region, data.color)); } + +#endif // REGIONWIDGET_H diff --git a/GScribo/regionwidgetitem.cpp b/GScribo/regionwidgetitem.cpp new file mode 100644 index 0000000..8cb2809 --- /dev/null +++ b/GScribo/regionwidgetitem.cpp @@ -0,0 +1,19 @@ +#include "regionwidgetitem.h" + +RegionWidgetItem::RegionWidgetItem(const GraphicsRegion::Id& region) +{ + region_ = region; + isCheckStateChanged_ = false; + QTreeWidgetItem::setCheckState(0, Qt::Checked); +} + +void RegionWidgetItem::setCheckState(int column, Qt::CheckState state) +{ + // Look if the check state has changed or not. + if(checkState(column) != state) + isCheckStateChanged_ = true; + else + isCheckStateChanged_ = false; + + QTreeWidgetItem::setCheckState(column, state); +} diff --git a/GScribo/regionwidgetitem.h b/GScribo/regionwidgetitem.h new file mode 100644 index 0000000..484f7cc --- /dev/null +++ b/GScribo/regionwidgetitem.h @@ -0,0 +1,43 @@ +#ifndef REGIONWIDGETITEM_H +#define REGIONWIDGETITEM_H + +#include <QTreeWidgetItem> + +#include "region.h" + +class RegionWidgetItem : + public QTreeWidgetItem +{ + public: + explicit RegionWidgetItem(const GraphicsRegion::Id& region = GraphicsRegion::None); + + inline bool isCheckStateChanged() const; + void setCheckState(int column, Qt::CheckState state); + + inline GraphicsRegion::Id region() const; + inline void setRegion(GraphicsRegion::Id region); + + protected: + inline void emitDataChanged(); + + private: + GraphicsRegion::Id region_; + bool isCheckStateChanged_; +}; + +inline bool RegionWidgetItem::isCheckStateChanged() const +{ return isCheckStateChanged_; } + +inline void RegionWidgetItem::emitDataChanged() +{ + QTreeWidgetItem::emitDataChanged(); + isCheckStateChanged_ = false; +} + +inline GraphicsRegion::Id RegionWidgetItem::region() const +{ return region_; } + +inline void RegionWidgetItem::setRegion(GraphicsRegion::Id region) +{ region_ = region; } + +#endif // REGIONWIDGETITEM_H diff --git a/GScribo/xml.cpp b/GScribo/xml.cpp index 36ad7e6..f55dda4 100644 --- a/GScribo/xml.cpp +++ b/GScribo/xml.cpp @@ -1,21 +1,5 @@ #include "xml.h" -static const GraphicRegion::Data itemsData[] = -{ - /* COLOR | NAME | REGION | ZVALUE */ - { QColor::fromRgb(255, 0, 0, 90), "Line", GraphicRegion::Line, 2 }, - { QColor::fromRgb(0, 100, 0, 90), "TextRegion", GraphicRegion::Text, 1 }, - { QColor::fromRgb(0, 0, 255, 90), "VerticalSeparatorRegion", GraphicRegion::VerticalSeparator, 2 }, - { QColor::fromRgb(0, 0, 255, 90), "HorizontalSeparatorRegion", GraphicRegion::HorizontalSeparator, 2 }, - { QColor::fromRgb(0, 0, 128, 90), "WhitespaceSeparatorRegion", GraphicRegion::WhiteSpaceSeparator, 2 }, - { QColor::fromRgb(255, 120, 0, 90), "ImageRegion", GraphicRegion::Image, 1 }, - { QColor::fromRgb(43, 39, 128, 90), "NoiseRegion", GraphicRegion::Noise, 2 }, - { QColor::fromRgb(220, 246, 0, 90), "TableRegion", GraphicRegion::Table, 2 }, - { QColor::fromRgb(170, 0, 255, 90), "MathsRegion", GraphicRegion::Maths, 2 }, - { QColor::fromRgb(255, 0, 144, 90), "GraphicRegion", GraphicRegion::Graphic, 2 }, - { QColor::fromRgb(0, 204, 255, 90), "ChartRegion", GraphicRegion::Chart, 2 } -}; - Xml::Xml(const QString& filename) { filename_ = filename; @@ -43,13 +27,13 @@ void Xml::load(const QString& filename) if(filename.isEmpty()) { xmlItem_ = 0; - graphicalItem_ = 0; + graphicsItem_ = 0; return; } // Reset graphic and tree items; xmlItem_ = new XmlItem; - graphicalItem_ = new RootGraphicsItem(11); + graphicsItem_ = new RootGraphicsItem(13); QFile xmlFile(filename); xmlFile.open(QIODevice::ReadOnly); @@ -69,9 +53,9 @@ void Xml::load(const QString& filename) // Run through the xml file structure by structure. root = root.nextSibling().firstChild().toElement(); - processNode(root, itemsData[1], parentTreeItem); - for(int i = 2; i < 10; i++) - processNode(root.nextSiblingElement(itemsData[i].name), itemsData[i], parentTreeItem); + processNode(root, datas_[0], parentTreeItem); + for(int i = 2; i < 11; i++) + processNode(root.nextSiblingElement(datas_[i].name), datas_[i], parentTreeItem); } XmlItem *Xml::init(const QDomElement& root, XmlItem *rootTreeItem) @@ -95,7 +79,7 @@ XmlItem *Xml::init(const QDomElement& root, XmlItem *rootTreeItem) return metadataItem; } -void Xml::processNode(const QDomElement& root, const GraphicRegion::Data& data, XmlItem *pageItem) +void Xml::processNode(const QDomElement& root, const GraphicsRegion::Data& data, XmlItem *pageItem) { if(!root.isNull()) { @@ -122,16 +106,16 @@ void Xml::processNode(const QDomElement& root, const GraphicRegion::Data& data, node = node.nextSibling().toElement(); } - // Create the graphical item from data structure. - PolygonItem *polygonItem = new PolygonItem(polygon, graphicalItem_); - polygonItem->loadData(data); - graphicalItem_->addItemFrom(polygonItem, data.region); + // Create the graphics item from data structure. + RegionItem *graphicsItem = new RegionItem(polygon, graphicsItem_); + graphicsItem->loadData(data); + graphicsItem_->addItemFrom(graphicsItem, data.region); - // Store xml item and graphical item in each object for selection. - regionItem->setGraphicalItem(polygonItem); - polygonItem->setXmlItem(regionItem); + // Store xml item and graphics item in each object for selection. + regionItem->setRegionItem(graphicsItem); + graphicsItem->setXmlItem(regionItem); - if(data.region == GraphicRegion::Text) + if(data.region == GraphicsRegion::Text) processLineNode(root.firstChild().nextSiblingElement("Line"), coordsItem); // Run through all nodes from the same data structure recursively. @@ -180,31 +164,31 @@ void Xml::processLineNode(const QDomElement& root, XmlItem *precItem) node = node.nextSibling().toElement(); } - // Create the graphical item from data structure. - PolygonItem *polygonItem = new PolygonItem(polygon, graphicalItem_); - polygonItem->loadData(itemsData[0]); - graphicalItem_->addItemFrom(polygonItem, GraphicRegion::Line); + // Create the graphics item from data structure. + RegionItem *graphicsItem = new RegionItem(polygon, graphicsItem_); + graphicsItem->loadData(datas_[1]); + graphicsItem_->addItemFrom(graphicsItem, datas_[1].region); - // Store xml item and graphical item in each object for selection. - lineItem->setGraphicalItem(polygonItem); - polygonItem->setXmlItem(lineItem); + // Store xml item and graphics item in each object for selection. + lineItem->setRegionItem(graphicsItem); + graphicsItem->setXmlItem(lineItem); // Get meanline and baseline. - processTypoNode(root, QPoint(xMin, xMax), polygonItem); + processTypoNode(root, QPoint(xMin, xMax), graphicsItem); // Run through all line nodes recursively. - processLineNode(root.nextSiblingElement("Line"), lineItem); + processLineNode(root.nextSiblingElement(datas_[1].name), lineItem); } } -void Xml::processTypoNode(const QDomElement& root, const QPoint& xPoint, PolygonItem *parentPolygonItem) +void Xml::processTypoNode(const QDomElement& root, const QPoint& xPoint, RegionItem *parentgraphicsItem) { int yPos = root.attribute("baseline", "null").toInt(); - QGraphicsLineItem *baselineItem = new QGraphicsLineItem(QLine(QPoint(xPoint.x(), yPos), QPoint(xPoint.y(), yPos)), parentPolygonItem); - baselineItem->setZValue(3); - graphicalItem_->addItemFrom(baselineItem, GraphicRegion::Baseline); + QGraphicsLineItem *baselineItem = new QGraphicsLineItem(QLine(QPoint(xPoint.x(), yPos), QPoint(xPoint.y(), yPos)), parentgraphicsItem); + baselineItem->setZValue(datas_[11].zValue); + graphicsItem_->addItemFrom(baselineItem, datas_[11].region); yPos = root.attribute("meanline", "null").toInt(); - QGraphicsLineItem *meanlineItem = new QGraphicsLineItem(QLine(QPoint(xPoint.x(), yPos), QPoint(xPoint.y(), yPos)), parentPolygonItem); - meanlineItem->setZValue(3); - graphicalItem_->addItemFrom(baselineItem, GraphicRegion::Meanline); + QGraphicsLineItem *meanlineItem = new QGraphicsLineItem(QLine(QPoint(xPoint.x(), yPos), QPoint(xPoint.y(), yPos)), parentgraphicsItem); + meanlineItem->setZValue(datas_[12].zValue); + graphicsItem_->addItemFrom(baselineItem, datas_[12].region); } diff --git a/GScribo/xml.h b/GScribo/xml.h index fb8d9b7..ec5e911 100644 --- a/GScribo/xml.h +++ b/GScribo/xml.h @@ -9,33 +9,55 @@ #include <QFile> #include "Rendering/rootgraphicsitem.h" -#include "Rendering/polygonitem.h" +#include "Rendering/regionitem.h" #include "XmlWidget/xmlitem.h" #include "variantpointer.h" #include "configs.h" #include "region.h" +static const GraphicsRegion::Data datas_[] = +{ + /* COLOR | NAME | REGION | ZVALUE */ + { QColor::fromRgb(0, 100, 0, 90), "TextRegion", GraphicsRegion::Text, 1 }, + { QColor::fromRgb(255, 0, 0, 90), "Line", GraphicsRegion::Line, 2 }, + { QColor::fromRgb(0, 0, 255, 90), "VerticalSeparatorRegion", GraphicsRegion::VerticalSeparator, 2 }, + { QColor::fromRgb(0, 0, 255, 90), "HorizontalSeparatorRegion", GraphicsRegion::HorizontalSeparator, 2 }, + { QColor::fromRgb(0, 0, 128, 90), "WhitespaceSeparatorRegion", GraphicsRegion::WhiteSpaceSeparator, 2 }, + { QColor::fromRgb(255, 120, 0, 90), "ImageRegion", GraphicsRegion::Image, 1 }, + { QColor::fromRgb(43, 39, 128, 90), "NoiseRegion", GraphicsRegion::Noise, 2 }, + { QColor::fromRgb(220, 246, 0, 90), "TableRegion", GraphicsRegion::Table, 2 }, + { QColor::fromRgb(170, 0, 255, 90), "MathsRegion", GraphicsRegion::Maths, 2 }, + { QColor::fromRgb(255, 0, 144, 90), "GraphicsRegion", GraphicsRegion::Graphic, 2 }, + { QColor::fromRgb(0, 204, 255, 90), "ChartRegion", GraphicsRegion::Chart, 2 }, + { QColor::fromRgb(128, 0, 255), "Baseline", GraphicsRegion::Baseline, 3 }, + { QColor::fromRgb(128, 0, 255), "Meanline", GraphicsRegion::Meanline, 3 } +}; + class Xml { public: explicit Xml(const QString& filename = QString()); inline XmlItem *xmlItem(); - inline RootGraphicsItem *graphicItem(); + inline RootGraphicsItem *graphicsItem(); + inline QDomDocument document() const; inline QString filename() const; static QString getPath(const QString& filename); + inline static GraphicsRegion::Data dataFromRegion(GraphicsRegion::Id region); + void load(const QString& filename); private: XmlItem *init(const QDomElement& root, XmlItem *rootTreeItem); - void processNode(const QDomElement& root, const GraphicRegion::Data& data, XmlItem *rootTreeItem); + void processNode(const QDomElement& root, const GraphicsRegion::Data& data, XmlItem *rootTreeItem); void processLineNode(const QDomElement& root, XmlItem *rootTreeItem); - void processTypoNode(const QDomElement& root, const QPoint& xPoint, PolygonItem *rootPolygonItem); + void processTypoNode(const QDomElement& root, const QPoint& xPoint, RegionItem *rootGraphicsItem); - RootGraphicsItem *graphicalItem_; + RootGraphicsItem *graphicsItem_; XmlItem *xmlItem_; + QDomDocument xml_; QString filename_; }; @@ -43,8 +65,8 @@ class Xml inline XmlItem *Xml::xmlItem() { return xmlItem_; } -inline RootGraphicsItem *Xml::graphicItem() -{ return graphicalItem_; } +inline RootGraphicsItem *Xml::graphicsItem() +{ return graphicsItem_; } inline QDomDocument Xml::document() const { return xml_; } @@ -52,4 +74,7 @@ inline QDomDocument Xml::document() const inline QString Xml::filename() const { return filename_; } +inline GraphicsRegion::Data Xml::dataFromRegion(GraphicsRegion::Id region) +{ return datas_[region]; } + #endif // XML_H -- 1.7.2.5