From: Shamus Hammons Date: Thu, 29 Aug 2013 17:24:37 +0000 (-0500) Subject: Added layer attribute to load/save code. X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?p=architektonas;a=commitdiff_plain;h=11cff81f10ccca1b31288fce04d696e715b922b0 Added layer attribute to load/save code. --- diff --git a/Makefile b/Makefile index cee9a70..a4967bb 100644 --- a/Makefile +++ b/Makefile @@ -1,57 +1,605 @@ -# Makefile for Architektonas -# -# by James Hammons -# (C) 2011 Underground Software - -# users home dir: -#INSTALLDIR = $(HOME)/local - -FIND = find - -all: prepare architektonas - @echo -e "\033[01;33m***\033[00;32m Success!\033[00m" - -prepare: - @echo -e "\033[01;33m***\033[00;32m Preparing to compile Architektonas...\033[00m" - -architektonas: sources libs makefile-qt - @echo -e "\033[01;33m***\033[00;32m Making Architektonas...\033[00m" - $(MAKE) -f makefile-qt - -makefile-qt: architektonas.pro - @echo -e "\033[01;33m***\033[00;32m Creating Qt makefile...\033[00m" - qmake architektonas.pro -o makefile-qt - -libs: - @echo -e "\033[01;33m***\033[00;32m Make libs here (if any)...\033[00m" -#libs: dxflib/lib/libdxf.a - -#dxflib/lib/libdxf.a: -# @echo -e "\033[01;33m***\033[00;32m Making dxflib...\033[00m" -# $(MAKE) -C dxflib - -sources: src/*.h src/*.cpp - -clean: - @echo -ne "\033[01;33m***\033[00;32m Cleaning out the garbage...\033[00m" -# $(MAKE) -C dxflib clean - -$(MAKE) -f makefile-qt clean - -rm -rf ./obj - -rm makefile-qt - -rm architektonas - -$(FIND) . -name "*~" -exec rm -f {} \; - @echo "done!" - -#docu: -# -(doxygen ./doxygen.cfg) - -# ANSI colors: -# (00) 31 = dark red, 32 = dark green, 33 = brown, 34 = dark blue, 35 = dark purple, 36 = dark cyan, 37 = grey -# (01) 31 = red, 32 = green, 33 = yellow, 34 = blue, 35 = purple, 36 = cyan, 37 = white -statistics: - @echo -ne "\033[01;35mLines in source files:\033[00m " - @-$(FIND) ./src -name "*.cpp" | xargs cat | wc -l - @echo -ne "\033[01;35mLines in header files:\033[00m " - @-$(FIND) ./src -name "*.h" | xargs cat | wc -l - -dist: clean +############################################################################# +# Makefile for building: architektonas +# Generated by qmake (2.01a) (Qt 4.8.5) on: Thu Aug 29 11:22:55 2013 +# Project: architektonas.pro +# Template: app +# Command: /usr/bin/qmake -o Makefile architektonas.pro +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +DEFINES = -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED +CFLAGS = -pipe -O2 -Wall -W -D_REENTRANT $(DEFINES) +CXXFLAGS = -pipe -O2 -Wall -W -D_REENTRANT $(DEFINES) +INCPATH = -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -Isrc -Iobj +LINK = g++ +LFLAGS = -Wl,-O1 +LIBS = $(SUBLIBS) -L/usr/lib64/qt4 -lQtGui -L/usr/lib64 -L/usr/lib64/qt4 -L/usr/X11R6/lib -lQtCore -lgthread-2.0 -lrt -lglib-2.0 -lpthread +AR = ar cqs +RANLIB = +QMAKE = /usr/bin/qmake +TAR = tar -cf +COMPRESS = gzip -9f +COPY = cp -f +SED = sed +COPY_FILE = $(COPY) +COPY_DIR = $(COPY) -r +STRIP = strip +INSTALL_FILE = install -m 644 -p +INSTALL_DIR = $(COPY_DIR) +INSTALL_PROGRAM = install -m 755 -p +DEL_FILE = rm -f +SYMLINK = ln -f -s +DEL_DIR = rmdir +MOVE = mv -f +CHK_DIR_EXISTS= test -d +MKDIR = mkdir -p + +####### Output directory + +OBJECTS_DIR = obj/ + +####### Files + +SOURCES = src/about.cpp \ + src/action.cpp \ + src/applicationwindow.cpp \ + src/arc.cpp \ + src/baseunittab.cpp \ + src/blockitemwidget.cpp \ + src/blockwidget.cpp \ + src/circle.cpp \ + src/connection.cpp \ + src/container.cpp \ + src/dimension.cpp \ + src/drawingview.cpp \ + src/drawarcaction.cpp \ + src/drawcircleaction.cpp \ + src/drawdimensionaction.cpp \ + src/drawlineaction.cpp \ + src/drawtextaction.cpp \ + src/ellipse.cpp \ + src/fileio.cpp \ + src/generaltab.cpp \ + src/layerwidget.cpp \ + src/layeritemwidget.cpp \ + src/line.cpp \ + src/main.cpp \ + src/mirroraction.cpp \ + src/object.cpp \ + src/painter.cpp \ + src/settingsdialog.cpp \ + src/text.cpp \ + src/vector.cpp obj/moc_action.cpp \ + obj/moc_applicationwindow.cpp \ + obj/moc_baseunittab.cpp \ + obj/moc_blockitemwidget.cpp \ + obj/moc_blockwidget.cpp \ + obj/moc_drawingview.cpp \ + obj/moc_generaltab.cpp \ + obj/moc_layerwidget.cpp \ + obj/moc_layeritemwidget.cpp \ + obj/moc_settingsdialog.cpp \ + obj/qrc_architektonas.cpp +OBJECTS = obj/about.o \ + obj/action.o \ + obj/applicationwindow.o \ + obj/arc.o \ + obj/baseunittab.o \ + obj/blockitemwidget.o \ + obj/blockwidget.o \ + obj/circle.o \ + obj/connection.o \ + obj/container.o \ + obj/dimension.o \ + obj/drawingview.o \ + obj/drawarcaction.o \ + obj/drawcircleaction.o \ + obj/drawdimensionaction.o \ + obj/drawlineaction.o \ + obj/drawtextaction.o \ + obj/ellipse.o \ + obj/fileio.o \ + obj/generaltab.o \ + obj/layerwidget.o \ + obj/layeritemwidget.o \ + obj/line.o \ + obj/main.o \ + obj/mirroraction.o \ + obj/object.o \ + obj/painter.o \ + obj/settingsdialog.o \ + obj/text.o \ + obj/vector.o \ + obj/moc_action.o \ + obj/moc_applicationwindow.o \ + obj/moc_baseunittab.o \ + obj/moc_blockitemwidget.o \ + obj/moc_blockwidget.o \ + obj/moc_drawingview.o \ + obj/moc_generaltab.o \ + obj/moc_layerwidget.o \ + obj/moc_layeritemwidget.o \ + obj/moc_settingsdialog.o \ + obj/qrc_architektonas.o +DIST = /usr/share/qt4/mkspecs/common/unix.conf \ + /usr/share/qt4/mkspecs/common/linux.conf \ + /usr/share/qt4/mkspecs/common/gcc-base.conf \ + /usr/share/qt4/mkspecs/common/gcc-base-unix.conf \ + /usr/share/qt4/mkspecs/common/g++-base.conf \ + /usr/share/qt4/mkspecs/common/g++-unix.conf \ + /usr/share/qt4/mkspecs/qconfig.pri \ + /usr/share/qt4/mkspecs/modules/qt_phonon.pri \ + /usr/share/qt4/mkspecs/modules/qt_webkit_version.pri \ + /usr/share/qt4/mkspecs/features/qt_functions.prf \ + /usr/share/qt4/mkspecs/features/qt_config.prf \ + /usr/share/qt4/mkspecs/features/exclusive_builds.prf \ + /usr/share/qt4/mkspecs/features/default_pre.prf \ + /usr/share/qt4/mkspecs/features/release.prf \ + /usr/share/qt4/mkspecs/features/default_post.prf \ + /usr/share/qt4/mkspecs/features/warn_on.prf \ + /usr/share/qt4/mkspecs/features/qt.prf \ + /usr/share/qt4/mkspecs/features/unix/thread.prf \ + /usr/share/qt4/mkspecs/features/moc.prf \ + /usr/share/qt4/mkspecs/features/shared.prf \ + /usr/share/qt4/mkspecs/features/unix/gdb_dwarf_index.prf \ + /usr/share/qt4/mkspecs/features/resources.prf \ + /usr/share/qt4/mkspecs/features/uic.prf \ + /usr/share/qt4/mkspecs/features/yacc.prf \ + /usr/share/qt4/mkspecs/features/lex.prf \ + architektonas.pro +QMAKE_TARGET = architektonas +DESTDIR = +TARGET = architektonas + +first: all +####### Implicit rules + +.SUFFIXES: .o .c .cpp .cc .cxx .C + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o "$@" "$<" + +####### Build rules + +all: Makefile $(TARGET) + +$(TARGET): $(OBJECTS) + $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS) + +Makefile: architektonas.pro /usr/share/qt4/mkspecs/linux-g++/qmake.conf /usr/share/qt4/mkspecs/common/unix.conf \ + /usr/share/qt4/mkspecs/common/linux.conf \ + /usr/share/qt4/mkspecs/common/gcc-base.conf \ + /usr/share/qt4/mkspecs/common/gcc-base-unix.conf \ + /usr/share/qt4/mkspecs/common/g++-base.conf \ + /usr/share/qt4/mkspecs/common/g++-unix.conf \ + /usr/share/qt4/mkspecs/qconfig.pri \ + /usr/share/qt4/mkspecs/modules/qt_phonon.pri \ + /usr/share/qt4/mkspecs/modules/qt_webkit_version.pri \ + /usr/share/qt4/mkspecs/features/qt_functions.prf \ + /usr/share/qt4/mkspecs/features/qt_config.prf \ + /usr/share/qt4/mkspecs/features/exclusive_builds.prf \ + /usr/share/qt4/mkspecs/features/default_pre.prf \ + /usr/share/qt4/mkspecs/features/release.prf \ + /usr/share/qt4/mkspecs/features/default_post.prf \ + /usr/share/qt4/mkspecs/features/warn_on.prf \ + /usr/share/qt4/mkspecs/features/qt.prf \ + /usr/share/qt4/mkspecs/features/unix/thread.prf \ + /usr/share/qt4/mkspecs/features/moc.prf \ + /usr/share/qt4/mkspecs/features/shared.prf \ + /usr/share/qt4/mkspecs/features/unix/gdb_dwarf_index.prf \ + /usr/share/qt4/mkspecs/features/resources.prf \ + /usr/share/qt4/mkspecs/features/uic.prf \ + /usr/share/qt4/mkspecs/features/yacc.prf \ + /usr/share/qt4/mkspecs/features/lex.prf \ + /usr/lib64/qt4/libQtGui.prl \ + /usr/lib64/qt4/libQtCore.prl + $(QMAKE) -o Makefile architektonas.pro +/usr/share/qt4/mkspecs/common/unix.conf: +/usr/share/qt4/mkspecs/common/linux.conf: +/usr/share/qt4/mkspecs/common/gcc-base.conf: +/usr/share/qt4/mkspecs/common/gcc-base-unix.conf: +/usr/share/qt4/mkspecs/common/g++-base.conf: +/usr/share/qt4/mkspecs/common/g++-unix.conf: +/usr/share/qt4/mkspecs/qconfig.pri: +/usr/share/qt4/mkspecs/modules/qt_phonon.pri: +/usr/share/qt4/mkspecs/modules/qt_webkit_version.pri: +/usr/share/qt4/mkspecs/features/qt_functions.prf: +/usr/share/qt4/mkspecs/features/qt_config.prf: +/usr/share/qt4/mkspecs/features/exclusive_builds.prf: +/usr/share/qt4/mkspecs/features/default_pre.prf: +/usr/share/qt4/mkspecs/features/release.prf: +/usr/share/qt4/mkspecs/features/default_post.prf: +/usr/share/qt4/mkspecs/features/warn_on.prf: +/usr/share/qt4/mkspecs/features/qt.prf: +/usr/share/qt4/mkspecs/features/unix/thread.prf: +/usr/share/qt4/mkspecs/features/moc.prf: +/usr/share/qt4/mkspecs/features/shared.prf: +/usr/share/qt4/mkspecs/features/unix/gdb_dwarf_index.prf: +/usr/share/qt4/mkspecs/features/resources.prf: +/usr/share/qt4/mkspecs/features/uic.prf: +/usr/share/qt4/mkspecs/features/yacc.prf: +/usr/share/qt4/mkspecs/features/lex.prf: +/usr/lib64/qt4/libQtGui.prl: +/usr/lib64/qt4/libQtCore.prl: +qmake: FORCE + @$(QMAKE) -o Makefile architektonas.pro + +dist: + @$(CHK_DIR_EXISTS) obj/architektonas1.0.0 || $(MKDIR) obj/architektonas1.0.0 + $(COPY_FILE) --parents $(SOURCES) $(DIST) obj/architektonas1.0.0/ && $(COPY_FILE) --parents src/about.h src/action.h src/applicationwindow.h src/arc.h src/baseunittab.h src/blockitemwidget.h src/blockwidget.h src/circle.h src/connection.h src/container.h src/dimension.h src/drawingview.h src/drawarcaction.h src/drawcircleaction.h src/drawdimensionaction.h src/drawlineaction.h src/drawtextaction.h src/ellipse.h src/fileio.h src/generaltab.h src/layerwidget.h src/layeritemwidget.h src/line.h src/main.h src/mirroraction.h src/mathconstants.h src/object.h src/painter.h src/settingsdialog.h src/text.h src/vector.h obj/architektonas1.0.0/ && $(COPY_FILE) --parents res/architektonas.qrc obj/architektonas1.0.0/ && $(COPY_FILE) --parents src/about.cpp src/action.cpp src/applicationwindow.cpp src/arc.cpp src/baseunittab.cpp src/blockitemwidget.cpp src/blockwidget.cpp src/circle.cpp src/connection.cpp src/container.cpp src/dimension.cpp src/drawingview.cpp src/drawarcaction.cpp src/drawcircleaction.cpp src/drawdimensionaction.cpp src/drawlineaction.cpp src/drawtextaction.cpp src/ellipse.cpp src/fileio.cpp src/generaltab.cpp src/layerwidget.cpp src/layeritemwidget.cpp src/line.cpp src/main.cpp src/mirroraction.cpp src/object.cpp src/painter.cpp src/settingsdialog.cpp src/text.cpp src/vector.cpp obj/architektonas1.0.0/ && (cd `dirname obj/architektonas1.0.0` && $(TAR) architektonas1.0.0.tar architektonas1.0.0 && $(COMPRESS) architektonas1.0.0.tar) && $(MOVE) `dirname obj/architektonas1.0.0`/architektonas1.0.0.tar.gz . && $(DEL_FILE) -r obj/architektonas1.0.0 + + +clean:compiler_clean + -$(DEL_FILE) $(OBJECTS) + -$(DEL_FILE) *~ core *.core + + +####### Sub-libraries + +distclean: clean + -$(DEL_FILE) $(TARGET) + -$(DEL_FILE) Makefile + + +check: first + +mocclean: compiler_moc_header_clean compiler_moc_source_clean + +mocables: compiler_moc_header_make_all compiler_moc_source_make_all + +compiler_moc_header_make_all: obj/moc_action.cpp obj/moc_applicationwindow.cpp obj/moc_baseunittab.cpp obj/moc_blockitemwidget.cpp obj/moc_blockwidget.cpp obj/moc_drawingview.cpp obj/moc_generaltab.cpp obj/moc_layerwidget.cpp obj/moc_layeritemwidget.cpp obj/moc_settingsdialog.cpp +compiler_moc_header_clean: + -$(DEL_FILE) obj/moc_action.cpp obj/moc_applicationwindow.cpp obj/moc_baseunittab.cpp obj/moc_blockitemwidget.cpp obj/moc_blockwidget.cpp obj/moc_drawingview.cpp obj/moc_generaltab.cpp obj/moc_layerwidget.cpp obj/moc_layeritemwidget.cpp obj/moc_settingsdialog.cpp +obj/moc_action.cpp: src/vector.h \ + src/action.h + /usr/bin/moc $(DEFINES) $(INCPATH) src/action.h -o obj/moc_action.cpp + +obj/moc_applicationwindow.cpp: src/applicationwindow.h + /usr/bin/moc $(DEFINES) $(INCPATH) src/applicationwindow.h -o obj/moc_applicationwindow.cpp + +obj/moc_baseunittab.cpp: src/baseunittab.h + /usr/bin/moc $(DEFINES) $(INCPATH) src/baseunittab.h -o obj/moc_baseunittab.cpp + +obj/moc_blockitemwidget.cpp: src/blockitemwidget.h + /usr/bin/moc $(DEFINES) $(INCPATH) src/blockitemwidget.h -o obj/moc_blockitemwidget.cpp + +obj/moc_blockwidget.cpp: src/blockwidget.h + /usr/bin/moc $(DEFINES) $(INCPATH) src/blockwidget.h -o obj/moc_blockwidget.cpp + +obj/moc_drawingview.cpp: src/action.h \ + src/vector.h \ + src/container.h \ + src/object.h \ + src/connection.h \ + src/drawingview.h + /usr/bin/moc $(DEFINES) $(INCPATH) src/drawingview.h -o obj/moc_drawingview.cpp + +obj/moc_generaltab.cpp: src/generaltab.h + /usr/bin/moc $(DEFINES) $(INCPATH) src/generaltab.h -o obj/moc_generaltab.cpp + +obj/moc_layerwidget.cpp: src/layerwidget.h + /usr/bin/moc $(DEFINES) $(INCPATH) src/layerwidget.h -o obj/moc_layerwidget.cpp + +obj/moc_layeritemwidget.cpp: src/layeritemwidget.h + /usr/bin/moc $(DEFINES) $(INCPATH) src/layeritemwidget.h -o obj/moc_layeritemwidget.cpp + +obj/moc_settingsdialog.cpp: src/settingsdialog.h + /usr/bin/moc $(DEFINES) $(INCPATH) src/settingsdialog.h -o obj/moc_settingsdialog.cpp + +compiler_rcc_make_all: obj/qrc_architektonas.cpp +compiler_rcc_clean: + -$(DEL_FILE) obj/qrc_architektonas.cpp +obj/qrc_architektonas.cpp: res/architektonas.qrc \ + res/fix-angle.png \ + res/file-new.png \ + res/add-circle-tool.png \ + res/disconnect-tool.png \ + res/delete-tool.png \ + res/eye-closed.png \ + res/file-save.png \ + res/file-save-as.png \ + res/lock-open.png \ + res/splash.png \ + res/snap-to-grid-tool.png \ + res/file-open.png \ + res/add-polygon-tool.png \ + res/settings.png \ + res/add-arc-tool.png \ + res/file-close.png \ + res/connect-tool.png \ + res/mirror-tool.png \ + res/atns-icon.png \ + res/group-tool.png \ + res/about-logo.png \ + res/add-line-tool.png \ + res/rotate-tool.png \ + res/quit.png \ + res/lock-closed.png \ + res/zoom-out.png \ + res/eye-open.png \ + res/fix-length.png \ + res/dimension-tool.png \ + res/generic-tool.png \ + res/zoom-in.png + /usr/bin/rcc -name architektonas res/architektonas.qrc -o obj/qrc_architektonas.cpp + +compiler_image_collection_make_all: obj/qmake_image_collection.cpp +compiler_image_collection_clean: + -$(DEL_FILE) obj/qmake_image_collection.cpp +compiler_moc_source_make_all: +compiler_moc_source_clean: +compiler_uic_make_all: +compiler_uic_clean: +compiler_yacc_decl_make_all: +compiler_yacc_decl_clean: +compiler_yacc_impl_make_all: +compiler_yacc_impl_clean: +compiler_lex_make_all: +compiler_lex_clean: +compiler_clean: compiler_moc_header_clean compiler_rcc_clean + +####### Compile + +obj/about.o: src/about.cpp src/about.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/about.o src/about.cpp + +obj/action.o: src/action.cpp src/action.h \ + src/vector.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/action.o src/action.cpp + +obj/applicationwindow.o: src/applicationwindow.cpp src/applicationwindow.h \ + src/about.h \ + src/blockwidget.h \ + src/drawingview.h \ + src/action.h \ + src/vector.h \ + src/container.h \ + src/object.h \ + src/connection.h \ + src/drawarcaction.h \ + src/drawcircleaction.h \ + src/drawdimensionaction.h \ + src/drawlineaction.h \ + src/fileio.h \ + src/generaltab.h \ + src/layerwidget.h \ + src/mirroraction.h \ + src/painter.h \ + src/settingsdialog.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/applicationwindow.o src/applicationwindow.cpp + +obj/arc.o: src/arc.cpp src/arc.h \ + src/object.h \ + src/vector.h \ + src/connection.h \ + src/mathconstants.h \ + src/painter.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/arc.o src/arc.cpp + +obj/baseunittab.o: src/baseunittab.cpp src/baseunittab.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/baseunittab.o src/baseunittab.cpp + +obj/blockitemwidget.o: src/blockitemwidget.cpp src/blockitemwidget.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/blockitemwidget.o src/blockitemwidget.cpp + +obj/blockwidget.o: src/blockwidget.cpp src/blockwidget.h \ + src/blockitemwidget.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/blockwidget.o src/blockwidget.cpp + +obj/circle.o: src/circle.cpp src/circle.h \ + src/object.h \ + src/vector.h \ + src/connection.h \ + src/painter.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/circle.o src/circle.cpp + +obj/connection.o: src/connection.cpp src/connection.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/connection.o src/connection.cpp + +obj/container.o: src/container.cpp src/container.h \ + src/object.h \ + src/vector.h \ + src/connection.h \ + src/dimension.h \ + src/painter.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/container.o src/container.cpp + +obj/dimension.o: src/dimension.cpp src/dimension.h \ + src/connection.h \ + src/object.h \ + src/vector.h \ + src/mathconstants.h \ + src/painter.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/dimension.o src/dimension.cpp + +obj/drawingview.o: src/drawingview.cpp src/drawingview.h \ + src/action.h \ + src/vector.h \ + src/container.h \ + src/object.h \ + src/connection.h \ + src/mathconstants.h \ + src/arc.h \ + src/circle.h \ + src/dimension.h \ + src/line.h \ + src/painter.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/drawingview.o src/drawingview.cpp + +obj/drawarcaction.o: src/drawarcaction.cpp src/drawarcaction.h \ + src/action.h \ + src/vector.h \ + src/arc.h \ + src/object.h \ + src/connection.h \ + src/mathconstants.h \ + src/painter.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/drawarcaction.o src/drawarcaction.cpp + +obj/drawcircleaction.o: src/drawcircleaction.cpp src/drawcircleaction.h \ + src/action.h \ + src/vector.h \ + src/circle.h \ + src/object.h \ + src/connection.h \ + src/painter.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/drawcircleaction.o src/drawcircleaction.cpp + +obj/drawdimensionaction.o: src/drawdimensionaction.cpp src/drawdimensionaction.h \ + src/action.h \ + src/vector.h \ + src/dimension.h \ + src/connection.h \ + src/object.h \ + src/painter.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/drawdimensionaction.o src/drawdimensionaction.cpp + +obj/drawlineaction.o: src/drawlineaction.cpp src/drawlineaction.h \ + src/action.h \ + src/vector.h \ + src/line.h \ + src/object.h \ + src/connection.h \ + src/painter.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/drawlineaction.o src/drawlineaction.cpp + +obj/drawtextaction.o: src/drawtextaction.cpp src/drawtextaction.h \ + src/action.h \ + src/vector.h \ + src/painter.h \ + src/text.h \ + src/object.h \ + src/connection.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/drawtextaction.o src/drawtextaction.cpp + +obj/ellipse.o: src/ellipse.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/ellipse.o src/ellipse.cpp + +obj/fileio.o: src/fileio.cpp src/fileio.h \ + src/arc.h \ + src/object.h \ + src/vector.h \ + src/connection.h \ + src/circle.h \ + src/container.h \ + src/dimension.h \ + src/line.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/fileio.o src/fileio.cpp + +obj/generaltab.o: src/generaltab.cpp src/generaltab.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/generaltab.o src/generaltab.cpp + +obj/layerwidget.o: src/layerwidget.cpp src/layerwidget.h \ + src/layeritemwidget.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/layerwidget.o src/layerwidget.cpp + +obj/layeritemwidget.o: src/layeritemwidget.cpp src/layeritemwidget.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/layeritemwidget.o src/layeritemwidget.cpp + +obj/line.o: src/line.cpp src/line.h \ + src/object.h \ + src/vector.h \ + src/connection.h \ + src/container.h \ + src/dimension.h \ + src/mathconstants.h \ + src/painter.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/line.o src/line.cpp + +obj/main.o: src/main.cpp src/main.h \ + src/applicationwindow.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/main.o src/main.cpp + +obj/mirroraction.o: src/mirroraction.cpp src/mirroraction.h \ + src/action.h \ + src/vector.h \ + src/line.h \ + src/object.h \ + src/connection.h \ + src/mathconstants.h \ + src/painter.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/mirroraction.o src/mirroraction.cpp + +obj/object.o: src/object.cpp src/object.h \ + src/vector.h \ + src/connection.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/object.o src/object.cpp + +obj/painter.o: src/painter.cpp src/painter.h \ + src/vector.h \ + src/mathconstants.h \ + src/object.h \ + src/connection.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/painter.o src/painter.cpp + +obj/settingsdialog.o: src/settingsdialog.cpp src/settingsdialog.h \ + src/baseunittab.h \ + src/generaltab.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/settingsdialog.o src/settingsdialog.cpp + +obj/text.o: src/text.cpp src/text.h \ + src/object.h \ + src/vector.h \ + src/connection.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/text.o src/text.cpp + +obj/vector.o: src/vector.cpp src/vector.h \ + src/mathconstants.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/vector.o src/vector.cpp + +obj/moc_action.o: obj/moc_action.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_action.o obj/moc_action.cpp + +obj/moc_applicationwindow.o: obj/moc_applicationwindow.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_applicationwindow.o obj/moc_applicationwindow.cpp + +obj/moc_baseunittab.o: obj/moc_baseunittab.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_baseunittab.o obj/moc_baseunittab.cpp + +obj/moc_blockitemwidget.o: obj/moc_blockitemwidget.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_blockitemwidget.o obj/moc_blockitemwidget.cpp + +obj/moc_blockwidget.o: obj/moc_blockwidget.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_blockwidget.o obj/moc_blockwidget.cpp + +obj/moc_drawingview.o: obj/moc_drawingview.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_drawingview.o obj/moc_drawingview.cpp + +obj/moc_generaltab.o: obj/moc_generaltab.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_generaltab.o obj/moc_generaltab.cpp + +obj/moc_layerwidget.o: obj/moc_layerwidget.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_layerwidget.o obj/moc_layerwidget.cpp + +obj/moc_layeritemwidget.o: obj/moc_layeritemwidget.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_layeritemwidget.o obj/moc_layeritemwidget.cpp + +obj/moc_settingsdialog.o: obj/moc_settingsdialog.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_settingsdialog.o obj/moc_settingsdialog.cpp + +obj/qrc_architektonas.o: obj/qrc_architektonas.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/qrc_architektonas.o obj/qrc_architektonas.cpp + +####### Install + +install: FORCE + +uninstall: FORCE + +FORCE: + diff --git a/architektonas.pro b/architektonas.pro index a2b2d49..e809911 100644 --- a/architektonas.pro +++ b/architektonas.pro @@ -7,7 +7,8 @@ # See the README and GPLv3 files for licensing and warranty information # -CONFIG += qt warn_on release debug +#CONFIG += qt warn_on release debug +CONFIG += qt warn_on release RESOURCES += res/architektonas.qrc #LIBS += -Ldxflib/lib -ldxf diff --git a/src/arc.cpp b/src/arc.cpp index 9848d38..b0e3b72 100644 --- a/src/arc.cpp +++ b/src/arc.cpp @@ -431,7 +431,7 @@ bool Arc::HitStateChanged(void) /*virtual*/ void Arc::Enumerate(FILE * file) { - fprintf(file, "ARC (%lf,%lf) %lf, %lf, %lf\n", position.x, position.y, radius, startAngle, angleSpan); + fprintf(file, "ARC %i (%lf,%lf) %lf, %lf, %lf\n", layer, position.x, position.y, radius, startAngle, angleSpan); } diff --git a/src/circle.cpp b/src/circle.cpp index 75e9d93..e73bcdc 100644 --- a/src/circle.cpp +++ b/src/circle.cpp @@ -218,7 +218,7 @@ bool Circle::HitStateChanged(void) /*virtual*/ void Circle::Enumerate(FILE * file) { - fprintf(file, "CIRCLE (%lf,%lf) %lf\n", position.x, position.y, radius); + fprintf(file, "CIRCLE %i (%lf,%lf) %lf\n", layer, position.x, position.y, radius); } diff --git a/src/container.cpp b/src/container.cpp index cd50d58..77d1771 100644 --- a/src/container.cpp +++ b/src/container.cpp @@ -492,7 +492,7 @@ void Container::ResizeAllDimensions(double newSize) // Only put "CONTAINER" markers if *not* the top level container // if (parent != NULL) if (!isTopLevelContainer) - fprintf(file, "CONTAINER\n"); + fprintf(file, "CONTAINER %i\n", layer); for(uint i=0; iEnumerate(file); diff --git a/src/dimension.cpp b/src/dimension.cpp index 2dc7fce..83e657a 100644 --- a/src/dimension.cpp +++ b/src/dimension.cpp @@ -341,7 +341,7 @@ about keeping track of old states... /*virtual*/ void Dimension::Enumerate(FILE * file) { - fprintf(file, "DIMENSION (%lf,%lf) (%lf,%lf) %i\n", position.x, position.y, endpoint.x, endpoint.y, type); + fprintf(file, "DIMENSION %i (%lf,%lf) (%lf,%lf) %i\n", layer, position.x, position.y, endpoint.x, endpoint.y, type); } diff --git a/src/fileio.cpp b/src/fileio.cpp index b64e5bd..931c513 100644 --- a/src/fileio.cpp +++ b/src/fileio.cpp @@ -15,6 +15,7 @@ #include "fileio.h" //#include +#include #include #include #include @@ -101,6 +102,14 @@ perpendicular, or an arbitrary angle. How to encode that information? It's not intrinsic to either the Line or the Circle, but is a function of the relationship between them by virtue of their connection. + +OTHER CONSIDERATIONS: +--------------------- + + - Need to figure out how to store the Layer list (should layer list be optional?) + - Need to figure out how to store the Block list and blocks + + */ enum ObjectTypeFile { OTFContainer, OTFContainerEnd, OTFLine, OTFCircle, OTFArc, OTFDimension, @@ -159,7 +168,7 @@ enum ObjectTypeFile { OTFContainer, OTFContainerEnd, OTFLine, OTFCircle, OTFArc, if (objectType == OTFEndOfFile) { -printf("Load: container size = %li\n", drawing->objects.size()); +//printf("Load: container size = %li\n", drawing->objects.size()); return true; } else if (objectType == OTFContainer) @@ -177,7 +186,7 @@ printf("Load: container size = %li\n", drawing->objects.size()); else { currentTopContainer->Add(object); -printf("Load: Adding object. Container size = %li (%li)\n", drawing->objects.size(), currentTopContainer->objects.size()); +//printf("Load: Adding object. Container size = %li (%li)\n", drawing->objects.size(), currentTopContainer->objects.size()); } } @@ -191,9 +200,38 @@ printf("Load: Adding object. Container size = %li (%li)\n", drawing->objects.siz /*static*/ bool FileIO::GetObjectFromFile(FILE * file, Object * parent, Object ** object, int * objectType) { char buffer[256]; - fscanf(file, "%s ", buffer); + int foundLayer = 0; + int num = fscanf(file, "%s", buffer); bool recognized = false; -//printf("Load: buffer = \"%s\"\n", buffer); + *object = NULL; +//printf("FileIO: fscanf returned %i, buffer = \"%s\"\n", num, buffer); + +// The following fugliness is for troubleshooting. Can remove later. + if ((strcmp(buffer, "END") != 0) && (strcmp(buffer, "ENDCONTAINER") != 0)) +{ +errno = 0; + num = fscanf(file, " %i ", &foundLayer); +//printf("FileIO: fscanf returned %i, foundLayer = %i\n", num, foundLayer); +if (errno) +{ + if (errno == EAGAIN) + printf("EAGAIN\n"); + else if (errno == EBADF) + printf("EBADF\n"); + else if (errno == EILSEQ) + printf("EILSEQ\n"); + else if (errno == EINTR) + printf("EINTR\n"); + else if (errno == EINVAL) + printf("EINVAL\n"); + else if (errno == ENOMEM) + printf("ENOMEM\n"); + else if (errno == ERANGE) + printf("ERANGE\n"); + else + printf("errno = %i\n", errno); +} +} if (strcmp(buffer, "LINE") == 0) { @@ -248,6 +286,9 @@ printf("Load: Adding object. Container size = %li (%li)\n", drawing->objects.siz *objectType = OTFEndOfFile; } + if (*object) + (*object)->layer = foundLayer; + return recognized; } diff --git a/src/layerwidget.cpp b/src/layerwidget.cpp index adc717e..286518b 100644 --- a/src/layerwidget.cpp +++ b/src/layerwidget.cpp @@ -18,23 +18,9 @@ LayerWidget::LayerWidget(void): QWidget(), list(new QListWidget) { - LayerItemWidget * liw1 = new LayerItemWidget("Guidelines"); - LayerItemWidget * liw2 = new LayerItemWidget("Floor #1"); - LayerItemWidget * liw3 = new LayerItemWidget("Mechanical"); - LayerItemWidget * liw4 = new LayerItemWidget("List Widget"); - LayerItemWidget * liw5 = new LayerItemWidget("Background"); - -// QListWidget * qlw = new QListWidget; - QListWidgetItem * qli1 = new QListWidgetItem(list); - QListWidgetItem * qli2 = new QListWidgetItem(list); - QListWidgetItem * qli3 = new QListWidgetItem(list); - QListWidgetItem * qli4 = new QListWidgetItem(list); - QListWidgetItem * qli5 = new QListWidgetItem(list); - list->setItemWidget(qli1, liw1); - list->setItemWidget(qli2, liw2); - list->setItemWidget(qli3, liw3); - list->setItemWidget(qli4, liw4); - list->setItemWidget(qli5, liw5); + LayerItemWidget * liw = new LayerItemWidget("Background"); + QListWidgetItem * qlwi = new QListWidgetItem(list); + list->setItemWidget(qlwi, liw); #if 0 QPushButton * pb1 = new QPushButton("+"); diff --git a/src/line.cpp b/src/line.cpp index 74c40b5..7085308 100644 --- a/src/line.cpp +++ b/src/line.cpp @@ -509,7 +509,7 @@ the horizontal line or vertical line that intersects from the current mouse posi /*virtual*/ void Line::Enumerate(FILE * file) { - fprintf(file, "LINE (%lf,%lf) (%lf,%lf)\n", position.x, position.y, endpoint.x, endpoint.y); + fprintf(file, "LINE %i (%lf,%lf) (%lf,%lf)\n", layer, position.x, position.y, endpoint.x, endpoint.y); }