removesome bugs in ADeditor and add interactive

This commit is contained in:
2010-08-26 11:49:39 +04:00
parent 71a6a951e0
commit 47cf1e38ea
8 changed files with 529 additions and 153 deletions

Binary file not shown.

View File

@@ -1,111 +1,254 @@
<!DOCTYPE QtCreatorProject> <!DOCTYPE QtCreatorProject>
<qtcreator> <qtcreator>
<data> <data>
<variable>ProjectExplorer.Project.ActiveTarget</variable> <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">ADeditor.pro</value>
</data>
<data>
<variable>RunConfiguration0-RunConfiguration.name</variable>
<value type="QString">ADeditor</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>
<value type="int">0</value> <value type="int">0</value>
</data> </data>
<data> <data>
<variable>ProjectExplorer.Project.EditorSettings</variable> <variable>activebuildconfiguration</variable>
<value type="QString">Debug</value>
</data>
<data>
<variable>buildConfiguration-Debug</variable>
<valuemap type="QVariantMap"> <valuemap type="QVariantMap">
<value key="EditorConfiguration.Codec" type="QByteArray">UTF-8</value> <value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString">Debug</value>
<value key="QtVersionId" type="int">2</value>
<value key="ToolChain" type="int">0</value>
<value key="buildConfiguration" type="int">2</value>
</valuemap> </valuemap>
</data> </data>
<data> <data>
<variable>ProjectExplorer.Project.Target.0</variable> <variable>buildconfiguration-Debug-buildstep0</variable>
<valuemap type="QVariantMap"> <valuemap type="QVariantMap">
<value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Настольный компьютер</value> <value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString">Debug</value>
<value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.Target.DesktopTarget</value> <valuelist key="abstractProcess.Environment" type="QVariantList">
<value key="ProjectExplorer.Target.ActiveBuildConfiguration" type="int">0</value> <value type="QString">DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-5VyjD99lFj,guid=cf0067cbadce72e8c9c0f05e4c74f11a</value>
<value key="ProjectExplorer.Target.ActiveRunConfiguration" type="int">0</value> <value type="QString">DEFAULTS_PATH=/usr/share/gconf/gnome.default.path</value>
<valuemap key="ProjectExplorer.Target.BuildConfiguration.0" type="QVariantMap"> <value type="QString">DESKTOP_SESSION=gnome</value>
<valuemap key="ProjectExplorer.BuildConfiguration.BuildStep.0" type="QVariantMap"> <value type="QString">DISPLAY=:0.0</value>
<value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value> <value type="QString">GDMSESSION=gnome</value>
<value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">QtProjectManager.QMakeBuildStep</value> <value type="QString">GDM_KEYBOARD_LAYOUT=us</value>
<valuelist key="QtProjectManager.QMakeBuildStep.QMakeArguments" type="QVariantList"/> <value type="QString">GDM_LANG=ru_RU.UTF-8</value>
</valuemap> <value type="QString">GNOME_DESKTOP_SESSION_ID=this-is-deprecated</value>
<valuemap key="ProjectExplorer.BuildConfiguration.BuildStep.1" type="QVariantMap"> <value type="QString">GNOME_KEYRING_CONTROL=/tmp/keyring-sQCAQN</value>
<value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value> <value type="QString">GTK_MODULES=canberra-gtk-module</value>
<value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.MakeStep</value> <value type="QString">HOME=/home/andrey</value>
<value key="Qt4ProjectManager.MakeStep.Clean" type="bool">false</value> <value type="QString">LANG=ru_RU.UTF-8</value>
<valuelist key="Qt4ProjectManager.MakeStep.MakeArguments" type="QVariantList"/> <value type="QString">LD_LIBRARY_PATH=/usr/lib/qtcreator:</value>
<value key="Qt4ProjectManager.MakeStep.MakeCommand" type="QString"></value> <value type="QString">LOGNAME=andrey</value>
</valuemap> <value type="QString">MANDATORY_PATH=/usr/share/gconf/gnome.mandatory.path</value>
<value key="ProjectExplorer.BuildConfiguration.BuildStepsCount" type="int">2</value> <value type="QString">ORBIT_SOCKETDIR=/tmp/orbit-andrey</value>
<valuemap key="ProjectExplorer.BuildConfiguration.CleanStep.0" type="QVariantMap"> <value type="QString">PATH=/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games</value>
<value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value> <value type="QString">PWD=/home/andrey</value>
<value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.MakeStep</value> <value type="QString">QTDIR=/usr/share/qt4</value>
<value key="Qt4ProjectManager.MakeStep.Clean" type="bool">true</value> <value type="QString">SESSION_MANAGER=local/buull-eeePC:@/tmp/.ICE-unix/1112,unix/buull-eeePC:/tmp/.ICE-unix/1112</value>
<valuelist key="Qt4ProjectManager.MakeStep.MakeArguments" type="QVariantList"> <value type="QString">SHELL=/bin/bash</value>
<value type="QString">clean</value> <value type="QString">SPEECHD_PORT=6561</value>
</valuelist> <value type="QString">SSH_AGENT_PID=1146</value>
<value key="Qt4ProjectManager.MakeStep.MakeCommand" type="QString"></value> <value type="QString">SSH_AUTH_SOCK=/tmp/keyring-sQCAQN/ssh</value>
</valuemap> <value type="QString">USER=andrey</value>
<value key="ProjectExplorer.BuildConfiguration.CleanStepsCount" type="int">1</value> <value type="QString">USERNAME=andrey</value>
<value key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment" type="bool">false</value> <value type="QString">XAUTHORITY=/var/run/gdm/auth-for-andrey-QG4tiG/database</value>
<valuelist key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges" type="QVariantList"/> <value type="QString">XDG_CONFIG_DIRS=/etc/xdg/xdg-gnome:/etc/xdg</value>
<value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Debug</value> <value type="QString">XDG_DATA_DIRS=/usr/share/gnome:/usr/local/share/:/usr/share/</value>
<value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.Qt4BuildConfiguration</value> <value type="QString">XDG_SESSION_COOKIE=f0649decca52f2beb55c9ea74ad1d028-1282732313.174012-433654821</value>
<value key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration" type="int">2</value> </valuelist>
<value key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory" type="QString">C:/Users/Andrey/Desktop/ADeditor-build</value> <valuelist key="abstractProcess.arguments" type="QVariantList">
<value key="Qt4ProjectManager.Qt4BuildConfiguration.QtVersionId" type="int">5</value> <value type="QString">/home/andrey/AD/aliendefender/ADeditor/ADeditor.pro</value>
<value key="Qt4ProjectManager.Qt4BuildConfiguration.ToolChain" type="int">2</value> <value type="QString">-spec</value>
<value key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild" type="bool">true</value> <value type="QString">linux-g++</value>
</valuemap> <value type="QString">-r</value>
<valuemap key="ProjectExplorer.Target.BuildConfiguration.1" type="QVariantMap"> <value type="QString">CONFIG+=debug</value>
<valuemap key="ProjectExplorer.BuildConfiguration.BuildStep.0" type="QVariantMap"> </valuelist>
<value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value> <value key="abstractProcess.command" type="QString">/usr/bin/qmake-qt4</value>
<value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">QtProjectManager.QMakeBuildStep</value> <value key="abstractProcess.enabled" type="bool">false</value>
<valuelist key="QtProjectManager.QMakeBuildStep.QMakeArguments" type="QVariantList"/> <value key="abstractProcess.workingDirectory" type="QString">/home/andrey/AD/aliendefender/ADeditor</value>
</valuemap>
<valuemap key="ProjectExplorer.BuildConfiguration.BuildStep.1" type="QVariantMap">
<value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value>
<value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.MakeStep</value>
<value key="Qt4ProjectManager.MakeStep.Clean" type="bool">false</value>
<valuelist key="Qt4ProjectManager.MakeStep.MakeArguments" type="QVariantList"/>
<value key="Qt4ProjectManager.MakeStep.MakeCommand" type="QString"></value>
</valuemap>
<value key="ProjectExplorer.BuildConfiguration.BuildStepsCount" type="int">2</value>
<valuemap key="ProjectExplorer.BuildConfiguration.CleanStep.0" type="QVariantMap">
<value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value>
<value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.MakeStep</value>
<value key="Qt4ProjectManager.MakeStep.Clean" type="bool">true</value>
<valuelist key="Qt4ProjectManager.MakeStep.MakeArguments" type="QVariantList"/>
<value key="Qt4ProjectManager.MakeStep.MakeCommand" type="QString"></value>
</valuemap>
<value key="ProjectExplorer.BuildConfiguration.CleanStepsCount" type="int">1</value>
<value key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment" type="bool">false</value>
<valuelist key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges" type="QVariantList"/>
<value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Release</value>
<value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration" type="int">0</value>
<value key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory" type="QString">C:/Users/Andrey/Desktop/aliendefender/ADeditor-build-desktop</value>
<value key="Qt4ProjectManager.Qt4BuildConfiguration.QtVersionId" type="int">5</value>
<value key="Qt4ProjectManager.Qt4BuildConfiguration.ToolChain" type="int">2</value>
<value key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild" type="bool">true</value>
</valuemap>
<value key="ProjectExplorer.Target.BuildConfigurationCount" type="int">2</value>
<valuemap key="ProjectExplorer.Target.RunConfiguration.0" type="QVariantMap">
<value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">ADeditor</value>
<value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.Qt4RunConfiguration</value>
<value key="Qt4ProjectManager.Qt4RunConfiguration.BaseEnvironmentBase" type="int">2</value>
<valuelist key="Qt4ProjectManager.Qt4RunConfiguration.CommandLineArguments" type="QVariantList"/>
<value key="Qt4ProjectManager.Qt4RunConfiguration.ProFile" type="QString">ADeditor.pro</value>
<value key="Qt4ProjectManager.Qt4RunConfiguration.UseDyldImageSuffix" type="bool">false</value>
<value key="Qt4ProjectManager.Qt4RunConfiguration.UseTerminal" type="bool">false</value>
<valuelist key="Qt4ProjectManager.Qt4RunConfiguration.UserEnvironmentChanges" type="QVariantList"/>
<value key="Qt4ProjectManager.Qt4RunConfiguration.UserSetName" type="bool">false</value>
<value key="Qt4ProjectManager.Qt4RunConfiguration.UserSetWorkingDirectory" type="bool">true</value>
<value key="Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory" type="QString">C:\Users\Andrey\Desktop\ADeditor-build</value>
</valuemap>
<value key="ProjectExplorer.Target.RunConfigurationCount" type="int">1</value>
</valuemap> </valuemap>
</data> </data>
<data> <data>
<variable>ProjectExplorer.Project.TargetCount</variable> <variable>buildconfiguration-Debug-buildstep1</variable>
<value type="int">1</value> <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-5VyjD99lFj,guid=cf0067cbadce72e8c9c0f05e4c74f11a</value>
<value type="QString">DEFAULTS_PATH=/usr/share/gconf/gnome.default.path</value>
<value type="QString">DESKTOP_SESSION=gnome</value>
<value type="QString">DISPLAY=:0.0</value>
<value type="QString">GDMSESSION=gnome</value>
<value type="QString">GDM_KEYBOARD_LAYOUT=us</value>
<value type="QString">GDM_LANG=ru_RU.UTF-8</value>
<value type="QString">GNOME_DESKTOP_SESSION_ID=this-is-deprecated</value>
<value type="QString">GNOME_KEYRING_CONTROL=/tmp/keyring-sQCAQN</value>
<value type="QString">GTK_MODULES=canberra-gtk-module</value>
<value type="QString">HOME=/home/andrey</value>
<value type="QString">LANG=ru_RU.UTF-8</value>
<value type="QString">LD_LIBRARY_PATH=/usr/lib/qtcreator:</value>
<value type="QString">LOGNAME=andrey</value>
<value type="QString">MANDATORY_PATH=/usr/share/gconf/gnome.mandatory.path</value>
<value type="QString">ORBIT_SOCKETDIR=/tmp/orbit-andrey</value>
<value type="QString">PATH=/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games</value>
<value type="QString">PWD=/home/andrey</value>
<value type="QString">QTDIR=/usr/share/qt4</value>
<value type="QString">SESSION_MANAGER=local/buull-eeePC:@/tmp/.ICE-unix/1112,unix/buull-eeePC:/tmp/.ICE-unix/1112</value>
<value type="QString">SHELL=/bin/bash</value>
<value type="QString">SPEECHD_PORT=6561</value>
<value type="QString">SSH_AGENT_PID=1146</value>
<value type="QString">SSH_AUTH_SOCK=/tmp/keyring-sQCAQN/ssh</value>
<value type="QString">USER=andrey</value>
<value type="QString">USERNAME=andrey</value>
<value type="QString">XAUTHORITY=/var/run/gdm/auth-for-andrey-QG4tiG/database</value>
<value type="QString">XDG_CONFIG_DIRS=/etc/xdg/xdg-gnome:/etc/xdg</value>
<value type="QString">XDG_DATA_DIRS=/usr/share/gnome:/usr/local/share/:/usr/share/</value>
<value type="QString">XDG_SESSION_COOKIE=f0649decca52f2beb55c9ea74ad1d028-1282732313.174012-433654821</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">/home/andrey/AD/aliendefender/ADeditor</value>
</valuemap>
</data> </data>
<data> <data>
<variable>ProjectExplorer.Project.Updater.FileVersion</variable> <variable>buildconfiguration-Debug-cleanstep0</variable>
<value type="int">4</value> <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-5VyjD99lFj,guid=cf0067cbadce72e8c9c0f05e4c74f11a</value>
<value type="QString">DEFAULTS_PATH=/usr/share/gconf/gnome.default.path</value>
<value type="QString">DESKTOP_SESSION=gnome</value>
<value type="QString">DISPLAY=:0.0</value>
<value type="QString">GDMSESSION=gnome</value>
<value type="QString">GDM_KEYBOARD_LAYOUT=us</value>
<value type="QString">GDM_LANG=ru_RU.UTF-8</value>
<value type="QString">GNOME_DESKTOP_SESSION_ID=this-is-deprecated</value>
<value type="QString">GNOME_KEYRING_CONTROL=/tmp/keyring-sQCAQN</value>
<value type="QString">GTK_MODULES=canberra-gtk-module</value>
<value type="QString">HOME=/home/andrey</value>
<value type="QString">LANG=ru_RU.UTF-8</value>
<value type="QString">LD_LIBRARY_PATH=/usr/lib/qtcreator:</value>
<value type="QString">LOGNAME=andrey</value>
<value type="QString">MANDATORY_PATH=/usr/share/gconf/gnome.mandatory.path</value>
<value type="QString">ORBIT_SOCKETDIR=/tmp/orbit-andrey</value>
<value type="QString">PATH=/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games</value>
<value type="QString">PWD=/home/andrey</value>
<value type="QString">QTDIR=/usr/share/qt4</value>
<value type="QString">SESSION_MANAGER=local/buull-eeePC:@/tmp/.ICE-unix/1112,unix/buull-eeePC:/tmp/.ICE-unix/1112</value>
<value type="QString">SHELL=/bin/bash</value>
<value type="QString">SPEECHD_PORT=6561</value>
<value type="QString">SSH_AGENT_PID=1146</value>
<value type="QString">SSH_AUTH_SOCK=/tmp/keyring-sQCAQN/ssh</value>
<value type="QString">USER=andrey</value>
<value type="QString">USERNAME=andrey</value>
<value type="QString">XAUTHORITY=/var/run/gdm/auth-for-andrey-QG4tiG/database</value>
<value type="QString">XDG_CONFIG_DIRS=/etc/xdg/xdg-gnome:/etc/xdg</value>
<value type="QString">XDG_DATA_DIRS=/usr/share/gnome:/usr/local/share/:/usr/share/</value>
<value type="QString">XDG_SESSION_COOKIE=f0649decca52f2beb55c9ea74ad1d028-1282732313.174012-433654821</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">/home/andrey/AD/aliendefender/ADeditor</value>
<value key="cleanConfig" type="bool">true</value>
<valuelist key="makeargs" type="QVariantList">
<value type="QString">clean</value>
</valuelist>
</valuemap>
</data>
<data>
<variable>buildconfigurations</variable>
<valuelist type="QVariantList">
<value type="QString">Debug</value>
</valuelist>
</data>
<data>
<variable>buildstep0</variable>
<valuemap type="QVariantMap">
<value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString"></value>
<value key="mkspec" type="QString"></value>
</valuemap>
</data>
<data>
<variable>buildstep1</variable>
<valuemap type="QVariantMap">
<value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString"></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>
<valuemap type="QVariantMap">
<value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString"></value>
<value key="clean" type="bool">true</value>
</valuemap>
</data>
<data>
<variable>cleansteps</variable>
<valuelist type="QVariantList">
<value type="QString">trolltech.qt4projectmanager.make</value>
</valuelist>
</data>
<data>
<variable>defaultFileEncoding</variable>
<value type="QByteArray">System</value>
</data>
<data>
<variable>project</variable>
<valuemap type="QVariantMap"/>
</data> </data>
</qtcreator> </qtcreator>

View File

@@ -1,6 +1,6 @@
############################################################################# #############################################################################
# Makefile for building: ADeditor # Makefile for building: ADeditor
# Generated by qmake (2.01a) (Qt 4.6.2) on: ?? ???. 24 15:25:17 2010 # Generated by qmake (2.01a) (Qt 4.6.2) on: ?? ???. 25 23:57:34 2010
# Project: ADeditor.pro # Project: ADeditor.pro
# Template: app # Template: app
# Command: /usr/bin/qmake-qt4 -spec /usr/share/qt4/mkspecs/linux-g++ -unix CONFIG+=debug -o Makefile ADeditor.pro # Command: /usr/bin/qmake-qt4 -spec /usr/share/qt4/mkspecs/linux-g++ -unix CONFIG+=debug -o Makefile ADeditor.pro
@@ -46,16 +46,24 @@ OBJECTS_DIR = ./
SOURCES = main.cpp \ SOURCES = main.cpp \
mainwindow.cpp \ mainwindow.cpp \
../loader.cpp \ ../loader.cpp \
alienmodel.cpp moc_mainwindow.cpp \ alienmodel.cpp \
towermodel.cpp \
splashmodel.cpp moc_mainwindow.cpp \
moc_loader.cpp \ moc_loader.cpp \
moc_alienmodel.cpp moc_alienmodel.cpp \
moc_towermodel.cpp \
moc_splashmodel.cpp
OBJECTS = main.o \ OBJECTS = main.o \
mainwindow.o \ mainwindow.o \
loader.o \ loader.o \
alienmodel.o \ alienmodel.o \
towermodel.o \
splashmodel.o \
moc_mainwindow.o \ moc_mainwindow.o \
moc_loader.o \ moc_loader.o \
moc_alienmodel.o moc_alienmodel.o \
moc_towermodel.o \
moc_splashmodel.o
DIST = /usr/share/qt4/mkspecs/common/g++.conf \ DIST = /usr/share/qt4/mkspecs/common/g++.conf \
/usr/share/qt4/mkspecs/common/unix.conf \ /usr/share/qt4/mkspecs/common/unix.conf \
/usr/share/qt4/mkspecs/common/linux.conf \ /usr/share/qt4/mkspecs/common/linux.conf \
@@ -159,7 +167,7 @@ qmake: FORCE
dist: dist:
@$(CHK_DIR_EXISTS) .tmp/ADeditor1.0.0 || $(MKDIR) .tmp/ADeditor1.0.0 @$(CHK_DIR_EXISTS) .tmp/ADeditor1.0.0 || $(MKDIR) .tmp/ADeditor1.0.0
$(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/ADeditor1.0.0/ && $(COPY_FILE) --parents mainwindow.h ../loader.h alienmodel.h .tmp/ADeditor1.0.0/ && $(COPY_FILE) --parents main.cpp mainwindow.cpp ../loader.cpp alienmodel.cpp .tmp/ADeditor1.0.0/ && $(COPY_FILE) --parents mainwindow.ui .tmp/ADeditor1.0.0/ && (cd `dirname .tmp/ADeditor1.0.0` && $(TAR) ADeditor1.0.0.tar ADeditor1.0.0 && $(COMPRESS) ADeditor1.0.0.tar) && $(MOVE) `dirname .tmp/ADeditor1.0.0`/ADeditor1.0.0.tar.gz . && $(DEL_FILE) -r .tmp/ADeditor1.0.0 $(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/ADeditor1.0.0/ && $(COPY_FILE) --parents mainwindow.h ../loader.h alienmodel.h towermodel.h splashmodel.h .tmp/ADeditor1.0.0/ && $(COPY_FILE) --parents main.cpp mainwindow.cpp ../loader.cpp alienmodel.cpp towermodel.cpp splashmodel.cpp .tmp/ADeditor1.0.0/ && $(COPY_FILE) --parents mainwindow.ui .tmp/ADeditor1.0.0/ && (cd `dirname .tmp/ADeditor1.0.0` && $(TAR) ADeditor1.0.0.tar ADeditor1.0.0 && $(COMPRESS) ADeditor1.0.0.tar) && $(MOVE) `dirname .tmp/ADeditor1.0.0`/ADeditor1.0.0.tar.gz . && $(DEL_FILE) -r .tmp/ADeditor1.0.0
clean:compiler_clean clean:compiler_clean
@@ -178,14 +186,17 @@ mocclean: compiler_moc_header_clean compiler_moc_source_clean
mocables: compiler_moc_header_make_all compiler_moc_source_make_all mocables: compiler_moc_header_make_all compiler_moc_source_make_all
compiler_moc_header_make_all: moc_mainwindow.cpp moc_loader.cpp moc_alienmodel.cpp compiler_moc_header_make_all: moc_mainwindow.cpp moc_loader.cpp moc_alienmodel.cpp moc_towermodel.cpp moc_splashmodel.cpp
compiler_moc_header_clean: compiler_moc_header_clean:
-$(DEL_FILE) moc_mainwindow.cpp moc_loader.cpp moc_alienmodel.cpp -$(DEL_FILE) moc_mainwindow.cpp moc_loader.cpp moc_alienmodel.cpp moc_towermodel.cpp moc_splashmodel.cpp
moc_mainwindow.cpp: ../loader.h \ moc_mainwindow.cpp: alienmodel.h \
../loader.h \
../game_data.h \ ../game_data.h \
../player.h \ ../player.h \
../base_types.h \ ../base_types.h \
../map.h \ ../map.h \
towermodel.h \
splashmodel.h \
mainwindow.h mainwindow.h
/usr/bin/moc-qt4 $(DEFINES) $(INCPATH) mainwindow.h -o moc_mainwindow.cpp /usr/bin/moc-qt4 $(DEFINES) $(INCPATH) mainwindow.h -o moc_mainwindow.cpp
@@ -204,6 +215,22 @@ moc_alienmodel.cpp: ../loader.h \
alienmodel.h alienmodel.h
/usr/bin/moc-qt4 $(DEFINES) $(INCPATH) alienmodel.h -o moc_alienmodel.cpp /usr/bin/moc-qt4 $(DEFINES) $(INCPATH) alienmodel.h -o moc_alienmodel.cpp
moc_towermodel.cpp: ../loader.h \
../game_data.h \
../player.h \
../base_types.h \
../map.h \
towermodel.h
/usr/bin/moc-qt4 $(DEFINES) $(INCPATH) towermodel.h -o moc_towermodel.cpp
moc_splashmodel.cpp: ../loader.h \
../game_data.h \
../player.h \
../base_types.h \
../map.h \
splashmodel.h
/usr/bin/moc-qt4 $(DEFINES) $(INCPATH) splashmodel.h -o moc_splashmodel.cpp
compiler_rcc_make_all: compiler_rcc_make_all:
compiler_rcc_clean: compiler_rcc_clean:
compiler_image_collection_make_all: qmake_image_collection.cpp compiler_image_collection_make_all: qmake_image_collection.cpp
@@ -228,21 +255,26 @@ compiler_clean: compiler_moc_header_clean compiler_uic_clean
####### Compile ####### Compile
main.o: main.cpp mainwindow.h \ main.o: main.cpp mainwindow.h \
../loader.h \ alienmodel.h \
../game_data.h \
../player.h \
../base_types.h \
../map.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o main.o main.cpp
mainwindow.o: mainwindow.cpp mainwindow.h \
../loader.h \ ../loader.h \
../game_data.h \ ../game_data.h \
../player.h \ ../player.h \
../base_types.h \ ../base_types.h \
../map.h \ ../map.h \
ui_mainwindow.h \ towermodel.h \
alienmodel.h splashmodel.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o main.o main.cpp
mainwindow.o: mainwindow.cpp mainwindow.h \
alienmodel.h \
../loader.h \
../game_data.h \
../player.h \
../base_types.h \
../map.h \
towermodel.h \
splashmodel.h \
ui_mainwindow.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o mainwindow.o mainwindow.cpp $(CXX) -c $(CXXFLAGS) $(INCPATH) -o mainwindow.o mainwindow.cpp
loader.o: ../loader.cpp ../loader.h \ loader.o: ../loader.cpp ../loader.h \
@@ -260,6 +292,22 @@ alienmodel.o: alienmodel.cpp alienmodel.h \
../map.h ../map.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o alienmodel.o alienmodel.cpp $(CXX) -c $(CXXFLAGS) $(INCPATH) -o alienmodel.o alienmodel.cpp
towermodel.o: towermodel.cpp towermodel.h \
../loader.h \
../game_data.h \
../player.h \
../base_types.h \
../map.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o towermodel.o towermodel.cpp
splashmodel.o: splashmodel.cpp splashmodel.h \
../loader.h \
../game_data.h \
../player.h \
../base_types.h \
../map.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o splashmodel.o splashmodel.cpp
moc_mainwindow.o: moc_mainwindow.cpp moc_mainwindow.o: moc_mainwindow.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_mainwindow.o moc_mainwindow.cpp $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_mainwindow.o moc_mainwindow.cpp
@@ -269,6 +317,12 @@ moc_loader.o: moc_loader.cpp
moc_alienmodel.o: moc_alienmodel.cpp moc_alienmodel.o: moc_alienmodel.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_alienmodel.o moc_alienmodel.cpp $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_alienmodel.o moc_alienmodel.cpp
moc_towermodel.o: moc_towermodel.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_towermodel.o moc_towermodel.cpp
moc_splashmodel.o: moc_splashmodel.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_splashmodel.o moc_splashmodel.cpp
####### Install ####### Install
install: FORCE install: FORCE

View File

@@ -15,22 +15,22 @@
<wave prise="220" timeout="20000" id="3"/> <wave prise="220" timeout="20000" id="3"/>
</waves> </waves>
<levels> <levels>
<level map="1" id="1" score="152921560" name="First Level"/> <level map="1" id="1" score="138978384" name="First Level"/>
</levels> </levels>
<waveParts> <waveParts>
<wavePart alien="10" count="4" wave="1"/>
<wavePart alien="12" count="5" wave="1"/>
<wavePart alien="10" count="10" wave="1"/> <wavePart alien="10" count="10" wave="1"/>
<wavePart alien="12" count="5" wave="1"/>
<wavePart alien="10" count="4" wave="1"/>
<wavePart alien="10" count="9" wave="2"/> <wavePart alien="10" count="9" wave="2"/>
<wavePart alien="10" count="1" wave="3"/>
<wavePart alien="10" count="2" wave="3"/>
<wavePart alien="12" count="3" wave="3"/>
<wavePart alien="12" count="4" wave="3"/> <wavePart alien="12" count="4" wave="3"/>
<wavePart alien="12" count="3" wave="3"/>
<wavePart alien="10" count="2" wave="3"/>
<wavePart alien="10" count="1" wave="3"/>
</waveParts> </waveParts>
<wavesOnLevels> <wavesOnLevels>
<waveOnLevel wave="1" level="1"/>
<waveOnLevel wave="2" level="1"/>
<waveOnLevel wave="3" level="1"/> <waveOnLevel wave="3" level="1"/>
<waveOnLevel wave="2" level="1"/>
<waveOnLevel wave="1" level="1"/>
</wavesOnLevels> </wavesOnLevels>
<splashes> <splashes>
<splash speed="0.2" imageType="1" lifetime="9999" id="1" name="rocket"/> <splash speed="0.2" imageType="1" lifetime="9999" id="1" name="rocket"/>
@@ -42,7 +42,7 @@
<towers> <towers>
<tower imageType="1" radius="3" expByKill="0.1" expByShot="0.15" buildTime="50" splash="1" reload="20" id="1" name="rocket launcher" cost="30" expByDamage="0.04"/> <tower imageType="1" radius="3" expByKill="0.1" expByShot="0.15" buildTime="50" splash="1" reload="20" id="1" name="rocket launcher" cost="30" expByDamage="0.04"/>
<tower imageType="2" radius="1.5" expByKill="0.2" expByShot="0.1" buildTime="25" splash="3" reload="5" id="2" name="gun" cost="10" expByDamage="0.1"/> <tower imageType="2" radius="1.5" expByKill="0.2" expByShot="0.1" buildTime="25" splash="3" reload="5" id="2" name="gun" cost="10" expByDamage="0.1"/>
<tower imageType="1" radius="3" expByKill="0.1" expByShot="0.15" buildTime="50" splash="1" reload="20" id="3" name="rocket launcher 2" cost="30" expByDamage="0.04"/> <tower imageType="1" radius="3" expByKill="0.1" expByShot="0.15" buildTime="50" splash="2" reload="20" id="3" name="rocket launcher 2" cost="30" expByDamage="0.04"/>
</towers> </towers>
<triggers> <triggers>
<trigger damage="5" childAim="noAim" delParent="true" type="onDestination" id="2" name="shot"/> <trigger damage="5" childAim="noAim" delParent="true" type="onDestination" id="2" name="shot"/>
@@ -50,15 +50,15 @@
<trigger childAim="noAim" count="1" type="onTimer" id="4" name="smoke"/> <trigger childAim="noAim" count="1" type="onTimer" id="4" name="smoke"/>
</triggers> </triggers>
<chains> <chains>
<chain tower="1" trigger="3" child="4" parent="1"/>
<chain tower="1" trigger="4" child="5" parent="1"/> <chain tower="1" trigger="4" child="5" parent="1"/>
<chain tower="1" trigger="3" child="4" parent="1"/>
<chain tower="2" trigger="2" parent="3"/> <chain tower="2" trigger="2" parent="3"/>
<chain tower="3" trigger="3" child="4" parent="2"/>
<chain tower="3" trigger="4" child="5" parent="2"/> <chain tower="3" trigger="4" child="5" parent="2"/>
<chain tower="3" trigger="3" child="4" parent="2"/>
</chains> </chains>
<towersOnLevels> <towersOnLevels>
<towerOnLevel tower="1" level="1"/>
<towerOnLevel tower="2" level="1"/>
<towerOnLevel tower="3" level="1"/> <towerOnLevel tower="3" level="1"/>
<towerOnLevel tower="2" level="1"/>
<towerOnLevel tower="1" level="1"/>
</towersOnLevels> </towersOnLevels>
</ADdata> </ADdata>

View File

@@ -15,17 +15,17 @@ MainWindow::MainWindow(QWidget *parent) :
alModel = new AlienModel(adloader->aliens.values()); alModel = new AlienModel(adloader->aliens.values());
ui->lvAliens->setModel((QAbstractItemModel * )alModel); ui->lvAliens->setModel((QAbstractItemModel * )alModel);
connect(ui->lvAliens->selectionModel(),SIGNAL(currentChanged(QModelIndex, QModelIndex)),this,SLOT(lvAliens_select(QModelIndex, QModelIndex))); connect(ui->lvAliens->selectionModel(),SIGNAL(currentChanged(QModelIndex, QModelIndex)),this,SLOT(lvAliens_select(QModelIndex, QModelIndex)));
ui->lvAliens->selectionModel()->setCurrentIndex(ui->lvAliens->model()->index(0,0),QItemSelectionModel::Select); ui->lvAliens->selectionModel()->setCurrentIndex(ui->lvAliens->model()->index(0,0),QItemSelectionModel::ClearAndSelect);
splModel = new SplashModel(adloader->splashes.values()); splModel = new SplashModel(adloader->splashes.values());
ui->lvSplashes->setModel((QAbstractItemModel * )splModel); ui->lvSplashes->setModel((QAbstractItemModel * )splModel);
connect(ui->lvSplashes->selectionModel(),SIGNAL(currentChanged(QModelIndex, QModelIndex)),this,SLOT(lvSplashes_select(QModelIndex, QModelIndex))); connect(ui->lvSplashes->selectionModel(),SIGNAL(currentChanged(QModelIndex, QModelIndex)),this,SLOT(lvSplashes_select(QModelIndex, QModelIndex)));
ui->lvSplashes->selectionModel()->setCurrentIndex(ui->lvSplashes->model()->index(0,0),QItemSelectionModel::Select); ui->lvSplashes->selectionModel()->setCurrentIndex(ui->lvSplashes->model()->index(0,0),QItemSelectionModel::ClearAndSelect);
twModel = new TowerModel(adloader->towers.values()); twModel = new TowerModel(adloader->towers.values());
ui->lvTowers->setModel((QAbstractItemModel * )twModel); ui->lvTowers->setModel((QAbstractItemModel * )twModel);
connect(ui->lvTowers->selectionModel(),SIGNAL(currentChanged(QModelIndex, QModelIndex)),this,SLOT(lvTowers_select(QModelIndex, QModelIndex))); connect(ui->lvTowers->selectionModel(),SIGNAL(currentChanged(QModelIndex, QModelIndex)),this,SLOT(lvTowers_select(QModelIndex, QModelIndex)));
ui->lvTowers->selectionModel()->setCurrentIndex(ui->lvTowers->model()->index(0,0),QItemSelectionModel::Select); ui->lvTowers->selectionModel()->setCurrentIndex(ui->lvTowers->model()->index(0,0),QItemSelectionModel::ClearAndSelect);
ui->cbTwSplash->setModel((QAbstractItemModel * )splModel); ui->cbTwSplash->setModel((QAbstractItemModel * )splModel);
} }
@@ -111,11 +111,54 @@ void MainWindow::lvSplashes_select(QModelIndex index, QModelIndex)
} }
void MainWindow::closeEvent(QCloseEvent *event)
{
QMessageBox msgBox;
msgBox.setText(tr("Save changes?"));
msgBox.setStandardButtons(QMessageBox::Save | QMessageBox::Discard | QMessageBox::Cancel);
msgBox.setDefaultButton(QMessageBox::Save);
int ret = msgBox.exec();
switch (ret)
{
case QMessageBox::Save :
adloader->save("data2.xml");
event->accept();
break;
case QMessageBox::Cancel :
event->ignore();
break;
default:
event->accept();
}
}
void MainWindow::on_pbSave_clicked() void MainWindow::on_pbSave_clicked()
{ {
adloader->save("data2.xml"); adloader->save("data2.xml");
adloader->load("data2.xml"); }
alModel->refresh(adloader->aliens.values());
void MainWindow::on_pbReload_clicked()
{
QMessageBox msgBox;
msgBox.setText(tr("All unsaved changes will be lost"));
msgBox.setInformativeText(tr("Are you sure?"));
msgBox.setStandardButtons(QMessageBox::Ok | QMessageBox::Cancel);
msgBox.setDefaultButton(QMessageBox::Ok);
int ret = msgBox.exec();
if (ret == QMessageBox::Ok)
{
adloader->load("data2.xml");
alModel->refresh(adloader->aliens.values());
twModel->refresh(adloader->towers.values());
splModel->refresh(adloader->splashes.values());
ui->lvAliens->reset();
ui->lvAliens->selectionModel()->setCurrentIndex(ui->lvAliens->model()->index(0,0),QItemSelectionModel::ClearAndSelect);
ui->lvTowers->reset();
ui->lvTowers->selectionModel()->setCurrentIndex(ui->lvTowers->model()->index(0,0),QItemSelectionModel::ClearAndSelect);
ui->lvSplashes->reset();
ui->lvSplashes->selectionModel()->setCurrentIndex(ui->lvSplashes->model()->index(0,0),QItemSelectionModel::ClearAndSelect);
}
} }
@@ -174,6 +217,7 @@ void MainWindow::on_leAlName_editingFinished()
adloader->aliens[id].name = ui->leAlName->text(); adloader->aliens[id].name = ui->leAlName->text();
alModel->refresh(adloader->aliens.values()); alModel->refresh(adloader->aliens.values());
ui->lvAliens->setModel((QAbstractItemModel * )alModel); ui->lvAliens->setModel((QAbstractItemModel * )alModel);
ui->lvAliens->repaint();
} }
@@ -184,17 +228,22 @@ void MainWindow::on_pbAlAdd_clicked()
tbAlien al; tbAlien al;
al.id = i; al.id = i;
al.name = tr("Alien"); al.name = tr("Alien");
al.health = 1;
al.prise = 0;
al.score = 1;
al.speed = 1;
adloader->aliens.insert(al.id,al); adloader->aliens.insert(al.id,al);
int index = adloader->aliens.keys().indexOf(i); int index = adloader->aliens.keys().indexOf(i);
alModel->refresh(adloader->aliens.values()); alModel->refresh(adloader->aliens.values());
ui->lvAliens->setModel((QAbstractItemModel * )alModel); ui->lvAliens->setModel((QAbstractItemModel * )alModel);
ui->lvAliens->reset(); ui->lvAliens->reset();
ui->lvAliens->selectionModel()->setCurrentIndex(ui->lvAliens->model()->index(index,0),QItemSelectionModel::Select); ui->lvAliens->selectionModel()->setCurrentIndex(ui->lvAliens->model()->index(index,0),QItemSelectionModel::ClearAndSelect);
} }
void MainWindow::on_pbAlDel_clicked() void MainWindow::on_pbAlDel_clicked()
{ {
if (adloader->aliens.size() < 2) return;
QMessageBox msgBox; QMessageBox msgBox;
int id = adloader->aliens.keys().at(ui->lvAliens->currentIndex().row()); int id = adloader->aliens.keys().at(ui->lvAliens->currentIndex().row());
msgBox.setText(tr("Delete alien %1 id=%2").arg(adloader->aliens.value(id).name).arg(id)); msgBox.setText(tr("Delete alien %1 id=%2").arg(adloader->aliens.value(id).name).arg(id));
@@ -208,7 +257,7 @@ void MainWindow::on_pbAlDel_clicked()
alModel->refresh(adloader->aliens.values()); alModel->refresh(adloader->aliens.values());
ui->lvAliens->setModel((QAbstractItemModel * )alModel); ui->lvAliens->setModel((QAbstractItemModel * )alModel);
ui->lvAliens->reset(); ui->lvAliens->reset();
ui->lvAliens->selectionModel()->setCurrentIndex(ui->lvAliens->model()->index(0,0),QItemSelectionModel::Select); ui->lvAliens->selectionModel()->setCurrentIndex(ui->lvAliens->model()->index(0,0),QItemSelectionModel::ClearAndSelect);
} }
} }
@@ -284,18 +333,24 @@ void MainWindow::on_pbTwAdd_clicked()
tbTower tw; tbTower tw;
tw.id = i; tw.id = i;
tw.name = tr("Tower"); tw.name = tr("Tower");
tw.splashId = adloader->splashes.keys().at(0);
tw.buildTime = 1;
tw.cost = 1;
tw.radius = 1;
tw.reload = 1;
adloader->towers.insert(tw.id,tw); adloader->towers.insert(tw.id,tw);
int index = adloader->towers.keys().indexOf(i); int index = adloader->towers.keys().indexOf(i);
twModel->refresh(adloader->towers.values()); twModel->refresh(adloader->towers.values());
ui->lvTowers->setModel((QAbstractItemModel * )twModel); ui->lvTowers->setModel((QAbstractItemModel * )twModel);
ui->lvTowers->reset(); ui->lvTowers->reset();
ui->lvTowers->selectionModel()->setCurrentIndex(ui->lvTowers->model()->index(index,0),QItemSelectionModel::Select); ui->lvTowers->selectionModel()->setCurrentIndex(ui->lvTowers->model()->index(index,0),QItemSelectionModel::ClearAndSelect);
} }
void MainWindow::on_pbTwDel_clicked() void MainWindow::on_pbTwDel_clicked()
{ {
QMessageBox msgBox; if (adloader->towers.size() < 2) return;
QMessageBox msgBox;
int id = adloader->towers.keys().at(ui->lvTowers->currentIndex().row()); int id = adloader->towers.keys().at(ui->lvTowers->currentIndex().row());
msgBox.setText(tr("Delete tower %1 id=%2").arg(adloader->towers.value(id).name).arg(id)); msgBox.setText(tr("Delete tower %1 id=%2").arg(adloader->towers.value(id).name).arg(id));
msgBox.setInformativeText(tr("Are you sure?")); msgBox.setInformativeText(tr("Are you sure?"));
@@ -308,7 +363,7 @@ void MainWindow::on_pbTwDel_clicked()
twModel->refresh(adloader->towers.values()); twModel->refresh(adloader->towers.values());
ui->lvTowers->setModel((QAbstractItemModel * )twModel); ui->lvTowers->setModel((QAbstractItemModel * )twModel);
ui->lvTowers->reset(); ui->lvTowers->reset();
ui->lvTowers->selectionModel()->setCurrentIndex(ui->lvTowers->model()->index(0,0),QItemSelectionModel::Select); ui->lvTowers->selectionModel()->setCurrentIndex(ui->lvTowers->model()->index(0,0),QItemSelectionModel::ClearAndSelect);
} }
} }
@@ -350,20 +405,34 @@ void MainWindow::on_pbSplAdd_clicked()
tbSplash spl; tbSplash spl;
spl.id = i; spl.id = i;
spl.name = tr("Splash"); spl.name = tr("Splash");
spl.lifetime = 1;
spl.speed = 1;
adloader->splashes.insert(spl.id,spl); adloader->splashes.insert(spl.id,spl);
int index = adloader->splashes.keys().indexOf(i); int index = adloader->splashes.keys().indexOf(i);
splModel->refresh(adloader->splashes.values()); splModel->refresh(adloader->splashes.values());
ui->lvSplashes->setModel((QAbstractItemModel * )splModel); ui->lvSplashes->setModel((QAbstractItemModel * )splModel);
ui->lvSplashes->reset(); ui->lvSplashes->reset();
ui->lvSplashes->selectionModel()->setCurrentIndex(ui->lvSplashes->model()->index(index,0),QItemSelectionModel::Select); ui->lvSplashes->selectionModel()->setCurrentIndex(ui->lvSplashes->model()->index(index,0),QItemSelectionModel::ClearAndSelect);
ui->cbTwSplash->setModel((QAbstractItemModel * )splModel); ui->cbTwSplash->setModel((QAbstractItemModel * )splModel);
} }
void MainWindow::on_pbSlpDel_clicked() void MainWindow::on_pbSlpDel_clicked()
{ {
if (adloader->splashes.size() < 2) return;
QMessageBox msgBox; QMessageBox msgBox;
int id = adloader->splashes.keys().at(ui->lvSplashes->currentIndex().row()); int id = adloader->splashes.keys().at(ui->lvSplashes->currentIndex().row());
for (int i=0; i<adloader->towers.size(); i++)
{
if (adloader->towers.values().at(i).splashId == id)
{
msgBox.setText(tr("You can not delete splash %1 id=%2").arg(adloader->splashes.value(id).name).arg(id));
msgBox.setInformativeText(tr("It used by tower %1").arg(adloader->towers.values().at(i).name));
msgBox.setStandardButtons(QMessageBox::Ok);
msgBox.exec();
return;
}
}
msgBox.setText(tr("Delete splash %1 id=%2").arg(adloader->splashes.value(id).name).arg(id)); msgBox.setText(tr("Delete splash %1 id=%2").arg(adloader->splashes.value(id).name).arg(id));
msgBox.setInformativeText(tr("Are you sure?")); msgBox.setInformativeText(tr("Are you sure?"));
msgBox.setStandardButtons(QMessageBox::Ok | QMessageBox::Cancel); msgBox.setStandardButtons(QMessageBox::Ok | QMessageBox::Cancel);
@@ -375,7 +444,15 @@ void MainWindow::on_pbSlpDel_clicked()
splModel->refresh(adloader->splashes.values()); splModel->refresh(adloader->splashes.values());
ui->lvSplashes->setModel((QAbstractItemModel * )splModel); ui->lvSplashes->setModel((QAbstractItemModel * )splModel);
ui->lvSplashes->reset(); ui->lvSplashes->reset();
ui->lvSplashes->selectionModel()->setCurrentIndex(ui->lvSplashes->model()->index(0,0),QItemSelectionModel::Select); ui->lvSplashes->selectionModel()->setCurrentIndex(ui->lvSplashes->model()->index(0,0),QItemSelectionModel::ClearAndSelect);
ui->cbTwSplash->setModel((QAbstractItemModel * )splModel); ui->cbTwSplash->setModel((QAbstractItemModel * )splModel);
} }
} }
void MainWindow::on_pushButton_clicked()
{
int splIndex = adloader->splashes.keys().indexOf(adloader->towers.values().at(ui->lvTowers->currentIndex().row()).splashId);
ui->lvSplashes->selectionModel()->setCurrentIndex(ui->lvSplashes->model()->index(splIndex,0),QItemSelectionModel::ClearAndSelect);
ui->tabWidget->setCurrentWidget(ui->tabSplashes);
}

View File

@@ -4,6 +4,7 @@
#include <QMainWindow> #include <QMainWindow>
#include <QDebug> #include <QDebug>
#include <QListWidgetItem> #include <QListWidgetItem>
#include <QCloseEvent>
#include "alienmodel.h" #include "alienmodel.h"
#include "towermodel.h" #include "towermodel.h"
@@ -29,8 +30,11 @@ private:
TowerModel * twModel; TowerModel * twModel;
SplashModel * splModel; SplashModel * splModel;
void closeEvent(QCloseEvent *);
private slots: private slots:
void on_pbSlpDel_clicked(); void on_pbReload_clicked();
void on_pushButton_clicked();
void on_pbSlpDel_clicked();
void on_pbSplAdd_clicked(); void on_pbSplAdd_clicked();
void on_sbSplLifeTime_valueChanged(int ); void on_sbSplLifeTime_valueChanged(int );
void on_cbSplAutoControl_toggled(bool checked); void on_cbSplAutoControl_toggled(bool checked);

View File

@@ -24,7 +24,7 @@
<item row="3" column="0"> <item row="3" column="0">
<widget class="QTabWidget" name="tabWidget"> <widget class="QTabWidget" name="tabWidget">
<property name="currentIndex"> <property name="currentIndex">
<number>2</number> <number>0</number>
</property> </property>
<widget class="QWidget" name="tabAliens"> <widget class="QWidget" name="tabAliens">
<attribute name="title"> <attribute name="title">
@@ -93,6 +93,9 @@
<property name="decimals"> <property name="decimals">
<number>1</number> <number>1</number>
</property> </property>
<property name="minimum">
<double>0.000000000000000</double>
</property>
<property name="maximum"> <property name="maximum">
<double>999999999.000000000000000</double> <double>999999999.000000000000000</double>
</property> </property>
@@ -192,6 +195,9 @@
<property name="decimals"> <property name="decimals">
<number>5</number> <number>5</number>
</property> </property>
<property name="minimum">
<double>0.000010000000000</double>
</property>
<property name="maximum"> <property name="maximum">
<double>99.000000000000000</double> <double>99.000000000000000</double>
</property> </property>
@@ -225,6 +231,9 @@
</item> </item>
<item> <item>
<widget class="QSpinBox" name="sbAlPrise"> <widget class="QSpinBox" name="sbAlPrise">
<property name="minimum">
<number>0</number>
</property>
<property name="maximum"> <property name="maximum">
<number>999999999</number> <number>999999999</number>
</property> </property>
@@ -252,6 +261,9 @@
</item> </item>
<item> <item>
<widget class="QSpinBox" name="sbAlScore"> <widget class="QSpinBox" name="sbAlScore">
<property name="minimum">
<number>1</number>
</property>
<property name="maximum"> <property name="maximum">
<number>999999999</number> <number>999999999</number>
</property> </property>
@@ -466,7 +478,20 @@
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QSpinBox" name="sbTwBuildTime"/> <widget class="QSpinBox" name="sbTwBuildTime">
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>999999999</number>
</property>
<property name="singleStep">
<number>50</number>
</property>
<property name="value">
<number>50</number>
</property>
</widget>
</item> </item>
</layout> </layout>
</item> </item>
@@ -489,7 +514,14 @@
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QSpinBox" name="sbTwCost"/> <widget class="QSpinBox" name="sbTwCost">
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>999999999</number>
</property>
</widget>
</item> </item>
</layout> </layout>
</item> </item>
@@ -513,14 +545,24 @@
</item> </item>
<item> <item>
<widget class="QComboBox" name="cbTwSplash"> <widget class="QComboBox" name="cbTwSplash">
<property name="maxVisibleItems">
<number>10</number>
</property>
<property name="duplicatesEnabled"> <property name="duplicatesEnabled">
<bool>true</bool> <bool>true</bool>
</property> </property>
</widget> </widget>
</item> </item>
<item>
<widget class="QPushButton" name="pushButton">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Edit</string>
</property>
</widget>
</item>
</layout> </layout>
</item> </item>
<item> <item>
@@ -542,7 +584,14 @@
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QSpinBox" name="sbTwReload"/> <widget class="QSpinBox" name="sbTwReload">
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>999999999</number>
</property>
</widget>
</item> </item>
</layout> </layout>
</item> </item>
@@ -565,7 +614,17 @@
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QDoubleSpinBox" name="sbTwRadius"/> <widget class="QDoubleSpinBox" name="sbTwRadius">
<property name="decimals">
<number>3</number>
</property>
<property name="minimum">
<double>1.000000000000000</double>
</property>
<property name="singleStep">
<double>0.100000000000000</double>
</property>
</widget>
</item> </item>
</layout> </layout>
</item> </item>
@@ -588,7 +647,14 @@
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QDoubleSpinBox" name="sbTwExpByShot"/> <widget class="QDoubleSpinBox" name="sbTwExpByShot">
<property name="decimals">
<number>3</number>
</property>
<property name="maximum">
<double>999999999.000000000000000</double>
</property>
</widget>
</item> </item>
</layout> </layout>
</item> </item>
@@ -611,7 +677,14 @@
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QDoubleSpinBox" name="sbTwExpByDam"/> <widget class="QDoubleSpinBox" name="sbTwExpByDam">
<property name="decimals">
<number>3</number>
</property>
<property name="maximum">
<double>999999999.000000000000000</double>
</property>
</widget>
</item> </item>
</layout> </layout>
</item> </item>
@@ -634,7 +707,14 @@
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QDoubleSpinBox" name="sbTwExpByKill"/> <widget class="QDoubleSpinBox" name="sbTwExpByKill">
<property name="decimals">
<number>3</number>
</property>
<property name="maximum">
<double>999999999.000000000000000</double>
</property>
</widget>
</item> </item>
</layout> </layout>
</item> </item>
@@ -851,10 +931,10 @@
<number>5</number> <number>5</number>
</property> </property>
<property name="maximum"> <property name="maximum">
<double>99.000000000000000</double> <double>9999.000000000000000</double>
</property> </property>
<property name="singleStep"> <property name="singleStep">
<double>0.010000000000000</double> <double>0.001000000000000</double>
</property> </property>
<property name="value"> <property name="value">
<double>0.010000000000000</double> <double>0.010000000000000</double>
@@ -882,7 +962,17 @@
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QSpinBox" name="sbSplLifeTime"/> <widget class="QSpinBox" name="sbSplLifeTime">
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>999999999</number>
</property>
<property name="singleStep">
<number>1</number>
</property>
</widget>
</item> </item>
</layout> </layout>
</item> </item>
@@ -1047,7 +1137,7 @@
</widget> </widget>
</widget> </widget>
</item> </item>
<item row="4" column="0"> <item row="5" column="0">
<widget class="QPushButton" name="pbSave"> <widget class="QPushButton" name="pbSave">
<property name="cursor"> <property name="cursor">
<cursorShape>PointingHandCursor</cursorShape> <cursorShape>PointingHandCursor</cursorShape>
@@ -1057,6 +1147,13 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="4" column="0">
<widget class="QPushButton" name="pbReload">
<property name="text">
<string>Reload</string>
</property>
</widget>
</item>
</layout> </layout>
</widget> </widget>
</widget> </widget>

View File

@@ -112,12 +112,13 @@
<xsd:attribute name="id" type="xsd:positiveInteger" use="required"/> <xsd:attribute name="id" type="xsd:positiveInteger" use="required"/>
<xsd:attribute name="count" type="xsd:positiveInteger" use="optional"/> <xsd:attribute name="count" type="xsd:positiveInteger" use="optional"/>
<xsd:attribute name="timer" type="xsd:positiveInteger" use="optional"/> <xsd:attribute name="timer" type="xsd:positiveInteger" use="optional"/>
<xsd:attribute name="chance" use="optional"/> <xsd:attribute name="chance" use="optional">
<xsd:simpleType> <xsd:simpleType>
<xsd:restriction base="xsd:positiveInteger"> <xsd:restriction base="xsd:positiveInteger">
<xsd:maxInclusive value="100"/> <xsd:maxInclusive value="100"/>
</xsd:restriction> </xsd:restriction>
</xsd:simpleType> </xsd:simpleType>
</xsd:attribute>
<xsd:attribute name="randomPosRadius" type="xsd:float" use="optional"/> <xsd:attribute name="randomPosRadius" type="xsd:float" use="optional"/>
<xsd:attribute name="damage" type="xsd:float" use="optional"/> <xsd:attribute name="damage" type="xsd:float" use="optional"/>
<xsd:attribute name="radius" type="xsd:float" use="optional"/> <xsd:attribute name="radius" type="xsd:float" use="optional"/>