diff --git a/docs/Charts/Work Pies/Code.svg b/docs/Charts/Work Pies/Code.svg new file mode 100644 index 0000000..6b1ef44 --- /dev/null +++ b/docs/Charts/Work Pies/Code.svg @@ -0,0 +1,110 @@ + + + + + + image/svg+xml + + + + + + + Created with Raphaël 2.3.0 + + + + + + + + + + + + diff --git a/docs/Charts/Work Pies/Dokumentation.svg b/docs/Charts/Work Pies/Dokumentation.svg new file mode 100644 index 0000000..b868cd5 --- /dev/null +++ b/docs/Charts/Work Pies/Dokumentation.svg @@ -0,0 +1,117 @@ + + + + + + image/svg+xml + + + + + + + Created with Raphaël 2.3.0 + + + + + + + + + + + + + + diff --git a/docs/Charts/Work Pies/Kundenkommunikation.svg b/docs/Charts/Work Pies/Kundenkommunikation.svg new file mode 100644 index 0000000..da56e51 --- /dev/null +++ b/docs/Charts/Work Pies/Kundenkommunikation.svg @@ -0,0 +1,97 @@ + + + + + + image/svg+xml + + + + + + + Created with Raphaël 2.3.0 + + + + + + + + + + diff --git a/docs/Charts/Work Pies/Legende.svg b/docs/Charts/Work Pies/Legende.svg new file mode 100644 index 0000000..99d4f39 --- /dev/null +++ b/docs/Charts/Work Pies/Legende.svg @@ -0,0 +1,163 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + Mucke + + + + Basti + + + + Jan + + + + Seb + + + + Conrad + + + + Paul + + + diff --git a/docs/Charts/Work Pies/Teammanagment.svg b/docs/Charts/Work Pies/Teammanagment.svg new file mode 100644 index 0000000..48fdb92 --- /dev/null +++ b/docs/Charts/Work Pies/Teammanagment.svg @@ -0,0 +1,87 @@ + + + + + + image/svg+xml + + + + + + + Created with Raphaël 2.3.0 + + + + + + + + diff --git a/docs/Charts/Work Pies/UI Design.svg b/docs/Charts/Work Pies/UI Design.svg new file mode 100644 index 0000000..7fd411f --- /dev/null +++ b/docs/Charts/Work Pies/UI Design.svg @@ -0,0 +1,97 @@ + + + + + + image/svg+xml + + + + + + + Created with Raphaël 2.3.0 + + + + + + + + + + diff --git a/docs/Charts/Work Pies/aufteilungen.txt b/docs/Charts/Work Pies/aufteilungen.txt new file mode 100644 index 0000000..f254a3c --- /dev/null +++ b/docs/Charts/Work Pies/aufteilungen.txt @@ -0,0 +1,30 @@ +# UI-Design +Paul 30 +Mucke 15 +Jan 15 +Basti 40 + +# Code +Mucke 35 +Basti 25 +Jan 20 +Conrad 10 +Seb 10 + +# Dokumentation +Paul 40 +Mucke 10 +Conrad 10 +Basti 10 +Seb 15 +Jan 15 + +# Teammanagement +Mucke 30 +Conrad 50 +Jan 20 + +# Kundenkommunikation +Jan 50 +Conrad 25 +Mucke 25 diff --git a/docs/Charts/Workload_per_Week.svg b/docs/Charts/Workload_per_Week.svg new file mode 100644 index 0000000..cca70f2 --- /dev/null +++ b/docs/Charts/Workload_per_Week.svg @@ -0,0 +1,512 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + 43 + 21.10. - 27.10. + + + + + + + 44 + 28.10. - 3.11. + + + + + 45 + 4.11. - 10.11. + + + 46 + 11.11. - 17.11. + + + 47 + 18.11. - 24.11. + + + 48 + 25.11. - 1.12. + + + 49 + 2.12. - 8.12. + + + 50 + 9.12. - 15.12. + + + VFZ + 16.12. - 12.01 + + + 3 + 13.1. - 19.1 + + + + 4 + + 20.1. - 26.1 + + + + Code + Dokumentation + UI-Design + Kundenkommunikation + Teammanagement + + + + + + + + + + + + + diff --git a/docs/Sequenzdiagramme/Sequenzdiagram-PenTool.uxf b/docs/Sequenzdiagramme/Sequenzdiagram-PenTool.uxf index 020ddd8..f4c8db6 100644 --- a/docs/Sequenzdiagramme/Sequenzdiagram-PenTool.uxf +++ b/docs/Sequenzdiagramme/Sequenzdiagram-PenTool.uxf @@ -1,13 +1,13 @@ - 10 + 14 UMLGeneric - 530 - 70 - 100 - 30 + 378 + 14 + 140 + 42 _:PaintingArea_ @@ -15,10 +15,10 @@ Relation - 570 - 90 - 30 - 70 + 434 + 42 + 42 + 98 lt=. 10.0;10.0;10.0;50.0 @@ -26,10 +26,10 @@ UMLActor - 340 - 60 - 60 - 110 + 112 + 0 + 84 + 154 @@ -37,10 +37,10 @@ UMLGeneric - 360 - 140 - 20 - 780 + 140 + 112 + 28 + 1092 @@ -48,10 +48,10 @@ UMLGeneric - 570 - 140 - 20 - 780 + 434 + 112 + 28 + 1092 @@ -59,10 +59,10 @@ Relation - 370 - 140 - 220 - 40 + 154 + 112 + 308 + 56 lt=<- MouseLeftPressed(event) @@ -71,10 +71,10 @@ MouseLeftPressed(event) UMLGeneric - 780 - 140 - 20 - 780 + 728 + 112 + 28 + 1092 @@ -82,32 +82,10 @@ MouseLeftPressed(event) UMLGeneric - 740 - 70 - 100 - 30 - - _:IntelliTool_ - - - - Relation - - 780 - 90 - 30 - 70 - - lt=. - 10.0;10.0;10.0;50.0 - - - UMLGeneric - - 950 - 70 - 100 - 30 + 672 + 14 + 140 + 42 _:IntelliToolPen_ @@ -115,10 +93,10 @@ MouseLeftPressed(event) Relation - 990 - 90 - 30 - 70 + 728 + 42 + 42 + 98 lt=. 10.0;10.0;10.0;50.0 @@ -126,10 +104,32 @@ MouseLeftPressed(event) UMLGeneric - 990 - 140 - 20 - 770 + 966 + 14 + 140 + 42 + + _:IntelliTool_ + + + + Relation + + 1022 + 42 + 42 + 98 + + lt=. + 10.0;10.0;10.0;50.0 + + + UMLGeneric + + 1022 + 112 + 28 + 1078 @@ -137,10 +137,10 @@ MouseLeftPressed(event) Relation - 370 - 430 - 220 - 40 + 154 + 518 + 308 + 56 lt=<- updateInterface() @@ -149,10 +149,10 @@ updateInterface() Relation - 580 - 160 - 220 - 40 + 448 + 140 + 308 + 56 lt=<- MouseLeftPressed(event) @@ -161,10 +161,10 @@ MouseLeftPressed(event) Relation - 790 - 180 - 220 - 40 + 742 + 168 + 308 + 56 lt=<- MouseLeftPressed(event) @@ -173,10 +173,10 @@ MouseLeftPressed(event) Relation - 370 - 300 - 220 - 40 + 154 + 336 + 308 + 56 lt=<- MouseMove(event) @@ -185,22 +185,22 @@ MouseMove(event) Relation - 580 - 320 - 220 - 40 + 448 + 364 + 308 + 56 lt=<- -MouseMove(koordinates) +MouseMove(coordinates) 200.0;20.0;10.0;20.0 UMLFrame - 290 - 250 - 840 - 240 + 42 + 266 + 1176 + 336 loop -- @@ -215,34 +215,34 @@ until MouseLeftReleased(event) or MouseRightPressed(event) Relation - 790 - 340 - 220 - 40 + 742 + 392 + 308 + 56 lt=<- -MouseMove(koordinates) +MouseMove(coordinates) 200.0;20.0;10.0;20.0 Relation - 580 - 400 - 430 - 40 + 448 + 476 + 308 + 56 lt=<- -DrwaLineToKoordinates() - 10.0;20.0;410.0;20.0 +DrwaLineToCoordinates() + 10.0;20.0;200.0;20.0 UMLFrame - 290 - 520 - 840 - 350 + 42 + 644 + 1176 + 490 alt -- @@ -262,10 +262,10 @@ DrwaLineToKoordinates() Relation - 370 - 550 - 220 - 40 + 154 + 686 + 308 + 56 lt=<- MouseLeftReleased(event) @@ -274,10 +274,10 @@ MouseLeftReleased(event) Relation - 580 - 570 - 220 - 40 + 448 + 714 + 308 + 56 lt=<- MouseLeftReleased(event) @@ -286,10 +286,10 @@ MouseLeftReleased(event) Relation - 790 - 590 - 220 - 40 + 742 + 742 + 308 + 56 lt=<- MouseLeftReleased(event) @@ -298,22 +298,22 @@ MouseLeftReleased(event) Relation - 580 - 630 - 430 - 40 + 448 + 798 + 308 + 56 lt=<- MergeSubLayer() - 10.0;20.0;410.0;20.0 + 10.0;20.0;200.0;20.0 Relation - 580 + 448 210 - 430 - 40 + 602 + 56 lt=<- CreateSubLayer() @@ -322,10 +322,10 @@ CreateSubLayer() Relation - 370 - 720 - 220 - 40 + 154 + 924 + 308 + 56 lt=<- MouseRightPressed(event) @@ -334,10 +334,10 @@ MouseRightPressed(event) Relation - 580 - 740 - 220 - 40 + 448 + 952 + 308 + 56 lt=<- MouseRightPressed(event) @@ -346,10 +346,10 @@ MouseRightPressed(event) Relation - 790 - 760 - 220 - 40 + 742 + 980 + 308 + 56 lt=<- MouseRightPressed(event) @@ -358,22 +358,22 @@ MouseRightPressed(event) Relation - 580 - 790 - 430 - 40 + 448 + 1022 + 308 + 56 lt=<- DeleteSubLayer() - 10.0;20.0;410.0;20.0 + 10.0;20.0;200.0;20.0 Relation - 370 - 660 - 220 - 40 + 154 + 840 + 308 + 56 lt=<- updateInterface() @@ -382,13 +382,49 @@ updateInterface() Relation - 370 - 820 - 220 - 40 + 154 + 1064 + 308 + 56 lt=<- updateInterface() 10.0;20.0;200.0;20.0 + + Relation + + 742 + 448 + 308 + 56 + + lt=<- +() + 10.0;20.0;200.0;20.0 + + + Relation + + 742 + 770 + 308 + 56 + + lt=<- +() + 10.0;20.0;200.0;20.0 + + + Relation + + 742 + 1008 + 308 + 56 + + lt=<- +() + 10.0;20.0;200.0;20.0 + diff --git a/docs/Sequenzdiagramme/Sequenzdiagram-PlainTool.uxf b/docs/Sequenzdiagramme/Sequenzdiagram-PlainTool.uxf index 9f91896..0e319e4 100644 --- a/docs/Sequenzdiagramme/Sequenzdiagram-PlainTool.uxf +++ b/docs/Sequenzdiagramme/Sequenzdiagram-PlainTool.uxf @@ -1,13 +1,13 @@ - 10 + 14 UMLGeneric - 630 - 80 - 100 - 30 + 392 + 56 + 140 + 42 _:PaintingArea_ @@ -15,10 +15,10 @@ Relation - 670 - 100 - 30 - 70 + 448 + 84 + 42 + 98 lt=. 10.0;10.0;10.0;50.0 @@ -26,10 +26,10 @@ UMLActor - 440 - 70 - 60 - 110 + 126 + 42 + 84 + 154 @@ -37,10 +37,10 @@ UMLGeneric - 460 - 150 - 20 - 490 + 154 + 154 + 28 + 686 @@ -48,10 +48,10 @@ UMLGeneric - 670 - 150 - 20 - 490 + 448 + 154 + 28 + 686 @@ -59,10 +59,10 @@ Relation - 470 - 150 - 220 - 40 + 168 + 154 + 308 + 56 lt=<- MouseLeftPressed(event) @@ -71,10 +71,10 @@ MouseLeftPressed(event) UMLGeneric - 880 - 150 - 20 - 490 + 742 + 154 + 28 + 686 @@ -82,32 +82,10 @@ MouseLeftPressed(event) UMLGeneric - 840 - 80 - 100 - 30 - - _:IntelliTool_ - - - - Relation - - 880 - 100 - 30 - 70 - - lt=. - 10.0;10.0;10.0;50.0 - - - UMLGeneric - - 1050 - 80 - 100 - 30 + 686 + 56 + 140 + 42 _:IntelliToolPlain_ @@ -115,10 +93,10 @@ MouseLeftPressed(event) Relation - 1090 - 100 - 30 - 70 + 742 + 84 + 42 + 98 lt=. 10.0;10.0;10.0;50.0 @@ -126,10 +104,32 @@ MouseLeftPressed(event) UMLGeneric - 1090 - 150 - 20 - 490 + 980 + 56 + 140 + 42 + + _:IntelliTool_ + + + + Relation + + 1036 + 84 + 42 + 98 + + lt=. + 10.0;10.0;10.0;50.0 + + + UMLGeneric + + 1036 + 154 + 28 + 686 @@ -137,10 +137,10 @@ MouseLeftPressed(event) Relation - 680 - 170 - 220 - 40 + 462 + 182 + 308 + 56 lt=<- MouseLeftPressed(event) @@ -149,10 +149,10 @@ MouseLeftPressed(event) Relation - 890 - 190 - 220 - 40 + 756 + 210 + 308 + 56 lt=<- MouseLeftPressed(event) @@ -161,22 +161,22 @@ MouseLeftPressed(event) Relation - 680 - 220 - 430 - 40 + 462 + 252 + 308 + 56 lt=<- CreateSubLayer() - 10.0;20.0;410.0;20.0 + 10.0;20.0;200.0;20.0 Relation - 470 - 280 - 220 - 40 + 168 + 336 + 308 + 56 lt=<- MouseLeftReleased(event) @@ -185,10 +185,10 @@ MouseLeftReleased(event) Relation - 680 - 300 - 220 - 40 + 462 + 364 + 308 + 56 lt=<- MouseLeftReleased(event) @@ -197,10 +197,10 @@ MouseLeftReleased(event) Relation - 890 - 320 - 220 - 40 + 756 + 392 + 308 + 56 lt=<- MouseLeftReleased(event) @@ -209,22 +209,22 @@ MouseLeftReleased(event) Relation - 680 - 360 - 430 - 40 + 462 + 448 + 308 + 56 lt=<- MergeSubLayer() - 10.0;20.0;410.0;20.0 + 10.0;20.0;200.0;20.0 Relation - 470 - 390 - 220 - 40 + 168 + 490 + 308 + 56 lt=<- updateInterface() @@ -233,10 +233,10 @@ updateInterface() UMLFrame - 390 - 250 - 840 - 350 + 56 + 294 + 1176 + 490 alt -- @@ -256,10 +256,10 @@ updateInterface() Relation - 470 - 450 - 220 - 40 + 168 + 574 + 308 + 56 lt=<- MouseRightPressed(event) @@ -268,10 +268,10 @@ MouseRightPressed(event) Relation - 470 - 550 - 220 - 40 + 168 + 714 + 308 + 56 lt=<- updateInterface() @@ -280,22 +280,22 @@ updateInterface() Relation - 680 - 520 - 430 - 40 + 462 + 672 + 308 + 56 lt=<- DeleteSubLayer() - 10.0;20.0;410.0;20.0 + 10.0;20.0;200.0;20.0 Relation - 680 - 470 - 220 - 40 + 462 + 602 + 308 + 56 lt=<- MouseRightPressed(event) @@ -304,13 +304,49 @@ MouseRightPressed(event) Relation - 890 - 490 - 220 - 40 + 756 + 630 + 308 + 56 lt=<- MouseRightPressed(event) 200.0;20.0;10.0;20.0 + + Relation + + 756 + 238 + 308 + 56 + + lt=<- +CreateSubLayer() + 10.0;20.0;200.0;20.0 + + + Relation + + 756 + 420 + 308 + 56 + + lt=<- +() + 10.0;20.0;200.0;20.0 + + + Relation + + 756 + 658 + 308 + 56 + + lt=<- +() + 10.0;20.0;200.0;20.0 + diff --git a/docs/html/_intelli_color_picker_8cpp_source.html b/docs/html/_intelli_color_picker_8cpp_source.html index f7131a1..02695a7 100644 --- a/docs/html/_intelli_color_picker_8cpp_source.html +++ b/docs/html/_intelli_color_picker_8cpp_source.html @@ -100,11 +100,11 @@ $(document).ready(function(){initNavTree('_intelli_color_picker_8cpp_source.html
12  std::swap(firstColor, secondColor);
13 }
14 
-
15 QColor IntelliColorPicker::getFirstColor(){
+
15 QColor IntelliColorPicker::getFirstColor() const {
16  return this->firstColor;
17 }
18 
-
19 QColor IntelliColorPicker::getSecondColor(){
+
19 QColor IntelliColorPicker::getSecondColor() const {
20  return this->secondColor;
21 }
22 
@@ -122,12 +122,12 @@ $(document).ready(function(){initNavTree('_intelli_color_picker_8cpp_source.html
34 }
+
IntelliColorPicker::getFirstColor
QColor getFirstColor() const
A function to read the primary selected color.
Definition: IntelliColorPicker.cpp:15
IntelliColorPicker::~IntelliColorPicker
virtual ~IntelliColorPicker()
IntelliColorPicker destructor clears up his used memory, if there is some.
Definition: IntelliColorPicker.cpp:7
IntelliColorPicker::setSecondColor
void setSecondColor(QColor Color)
A function to set the secondary color.
Definition: IntelliColorPicker.cpp:27
-
IntelliColorPicker::getSecondColor
QColor getSecondColor()
A function to read the secondary selected color.
Definition: IntelliColorPicker.cpp:19
+
IntelliColorPicker::getSecondColor
QColor getSecondColor() const
A function to read the secondary selected color.
Definition: IntelliColorPicker.cpp:19
IntelliColorPicker.h
IntelliColorPicker::setFirstColor
void setFirstColor(QColor Color)
A function to set the primary color.
Definition: IntelliColorPicker.cpp:23
-
IntelliColorPicker::getFirstColor
QColor getFirstColor()
A function to read the primary selected color.
Definition: IntelliColorPicker.cpp:15
IntelliColorPicker::swapColors
void swapColors()
A function switching primary and secondary color.
Definition: IntelliColorPicker.cpp:11
IntelliColorPicker::IntelliColorPicker
IntelliColorPicker()
IntelliColorPicker constructor, setting 2 preset colors, be careful, theese color may change in produ...
Definition: IntelliColorPicker.cpp:3
diff --git a/docs/html/_intelli_color_picker_8h_source.html b/docs/html/_intelli_color_picker_8h_source.html index 7e610a6..b9fbf6a 100644 --- a/docs/html/_intelli_color_picker_8h_source.html +++ b/docs/html/_intelli_color_picker_8h_source.html @@ -105,9 +105,9 @@ $(document).ready(function(){initNavTree('_intelli_color_picker_8h_source.html',
26 
30 void swapColors();
31 
-
36 QColor getFirstColor();
+
36 QColor getFirstColor() const;
37 
-
42 QColor getSecondColor();
+
42 QColor getSecondColor() const;
43 
48 void setFirstColor(QColor Color);
49 
@@ -124,11 +124,11 @@ $(document).ready(function(){initNavTree('_intelli_color_picker_8h_source.html',
73 #endif
+
IntelliColorPicker::getFirstColor
QColor getFirstColor() const
A function to read the primary selected color.
Definition: IntelliColorPicker.cpp:15
IntelliColorPicker::~IntelliColorPicker
virtual ~IntelliColorPicker()
IntelliColorPicker destructor clears up his used memory, if there is some.
Definition: IntelliColorPicker.cpp:7
IntelliColorPicker::setSecondColor
void setSecondColor(QColor Color)
A function to set the secondary color.
Definition: IntelliColorPicker.cpp:27
-
IntelliColorPicker::getSecondColor
QColor getSecondColor()
A function to read the secondary selected color.
Definition: IntelliColorPicker.cpp:19
+
IntelliColorPicker::getSecondColor
QColor getSecondColor() const
A function to read the secondary selected color.
Definition: IntelliColorPicker.cpp:19
IntelliColorPicker::setFirstColor
void setFirstColor(QColor Color)
A function to set the primary color.
Definition: IntelliColorPicker.cpp:23
-
IntelliColorPicker::getFirstColor
QColor getFirstColor()
A function to read the primary selected color.
Definition: IntelliColorPicker.cpp:15
IntelliColorPicker
The IntelliColorPicker manages the selected colors for one whole project.
Definition: IntelliColorPicker.h:14
UnitTest
Definition: mainUnitTest.cpp:8
IntelliColorPicker::swapColors
void swapColors()
A function switching primary and secondary color.
Definition: IntelliColorPicker.cpp:11
diff --git a/docs/html/_intelli_photo_gui_8cpp.html b/docs/html/_intelli_photo_gui_8cpp.html index ace1645..db1e96f 100644 --- a/docs/html/_intelli_photo_gui_8cpp.html +++ b/docs/html/_intelli_photo_gui_8cpp.html @@ -88,6 +88,8 @@ $(document).ready(function(){initNavTree('_intelli_photo_gui_8cpp.html',''); ini
#include "IntelliPhotoGui.h"
#include "Layer/PaintingArea.h"
+#include "QEvent"
+#include "QCloseEvent"

Go to the source code of this file.

diff --git a/docs/html/_intelli_photo_gui_8cpp_source.html b/docs/html/_intelli_photo_gui_8cpp_source.html index 4e3dac4..94da67a 100644 --- a/docs/html/_intelli_photo_gui_8cpp_source.html +++ b/docs/html/_intelli_photo_gui_8cpp_source.html @@ -91,869 +91,873 @@ $(document).ready(function(){initNavTree('_intelli_photo_gui_8cpp_source.html','
3 #include "IntelliPhotoGui.h"
4 #include "Layer/PaintingArea.h"
5 
-
6 // IntelliPhotoGui constructor
-
7 IntelliPhotoGui::IntelliPhotoGui(){
-
8  // create Gui elements and lay them out
-
9  createGui();
-
10  // Create actions
-
11  createActions();
-
12  // create Menus
-
13  createMenus();
-
14  // set style of the gui
-
15  setIntelliStyle();
-
16  // Size the app
-
17  resize(600,600);
-
18  showMaximized();
-
19  setDefaultToolValue();
-
20 }
-
21 
-
22 // User tried to close the app
-
23 void IntelliPhotoGui::closeEvent(QCloseEvent*event){
-
24  // If they try to close maybeSave() returns true
-
25  // if no changes have been made and the app closes
-
26  if (maybeSave()) {
-
27  event->accept();
-
28  } else {
-
29  // If there have been changes ignore the event
-
30  event->ignore();
-
31  }
-
32 }
-
33 
-
34 // Check if the current image has been changed and then
-
35 // open a dialog to open a file
-
36 void IntelliPhotoGui::slotOpen(){
-
37  // Check if changes have been made since last save
-
38  // maybeSave() returns true if no changes have been made
-
39  if (maybeSave()) {
-
40 
-
41  // Get the file to open from a dialog
-
42  // tr sets the window title to Open File
-
43  // QDir opens the current dirctory
-
44  QString fileName = QFileDialog::getOpenFileName(this,
-
45  tr("Open File"), QDir::currentPath(), nullptr, nullptr, QFileDialog::DontUseNativeDialog);
-
46 
-
47  // If we have a file name load the image and place
-
48  // it in the paintingArea
-
49  if (!fileName.isEmpty()) {
-
50  paintingArea->open(fileName);
-
51  UpdateGui();
-
52  }
-
53  }
-
54 }
-
55 
-
56 // Called when the user clicks Save As in the menu
-
57 void IntelliPhotoGui::slotSave(){
-
58  // A QAction represents the action of the user clicking
-
59  QAction*action = qobject_cast<QAction*>(sender());
-
60 
-
61  // Stores the array of bytes of the users data
-
62  QByteArray fileFormat = action->data().toByteArray();
+
6 #include "QEvent"
+
7 #include "QCloseEvent"
+
8 
+
9 // IntelliPhotoGui constructor
+
10 IntelliPhotoGui::IntelliPhotoGui(){
+
11  // create Gui elements and lay them out
+
12  createGui();
+
13  // Create actions
+
14  createActions();
+
15  // create Menus
+
16  createMenus();
+
17  // set style of the gui
+
18  setIntelliStyle();
+
19  // Size the app
+
20  resize(600,600);
+
21  showMaximized();
+
22  setDefaultToolValue();
+
23 }
+
24 
+
25 // User tried to close the app
+
26 void IntelliPhotoGui::closeEvent(QCloseEvent*event){
+
27  // If they try to close maybeSave() returns true
+
28  // if no changes have been made and the app closes
+
29  if (maybeSave()) {
+
30  event->accept();
+
31  } else {
+
32  // If there have been changes ignore the event
+
33  event->ignore();
+
34  }
+
35 }
+
36 
+
37 // Check if the current image has been changed and then
+
38 // open a dialog to open a file
+
39 void IntelliPhotoGui::slotOpen(){
+
40  // Check if changes have been made since last save
+
41  // maybeSave() returns true if no changes have been made
+
42  if (maybeSave()) {
+
43 
+
44  // Get the file to open from a dialog
+
45  // tr sets the window title to Open File
+
46  // QDir opens the current dirctory
+
47  QString fileName = QFileDialog::getOpenFileName(this,
+
48  tr("Open File"), QDir::currentPath(), nullptr, nullptr, QFileDialog::DontUseNativeDialog);
+
49 
+
50  // If we have a file name load the image and place
+
51  // it in the paintingArea
+
52  if (!fileName.isEmpty()) {
+
53  paintingArea->open(fileName);
+
54  UpdateGui();
+
55  }
+
56  }
+
57 }
+
58 
+
59 // Called when the user clicks Save As in the menu
+
60 void IntelliPhotoGui::slotSave(){
+
61  // A QAction represents the action of the user clicking
+
62  QAction*action = qobject_cast<QAction*>(sender());
63 
-
64  // Pass it to be saved
-
65  saveFile(fileFormat);
-
66 }
-
67 
-
68 // Opens a dialog that allows the user to create a New RASTER Layer
-
69 void IntelliPhotoGui::slotCreateNewRasterLayer(){
-
70  // Stores button value
-
71  bool ok1, ok2;
-
72 
-
73  // "New Layer" is the title of the window
-
74  // the next tr is the text to display
-
75  // Define the standard Value, min, max, step and ok button
-
76  int width = IntelliInputDialog::getInt("New Raster Layer", "Width:", 200, 1, paintingArea->getMaxWidth(), 1, &ok1);
-
77 
-
78  int height = IntelliInputDialog::getInt("New Raster Layer", "Height:", 200, 1, paintingArea->getMaxHeight(), 1, &ok2);
-
79 
-
80  // Create New Layer
-
81  if (ok1&&ok2) {
-
82  paintingArea->addLayer(width,height,0,0,IntelliImage::ImageType::RASTERIMAGE);
-
83  UpdateGui();
-
84  }
-
85 }
-
86 
-
87 // Opens a dialog that allows the user to create a New SHAPED Layer
-
88 void IntelliPhotoGui::slotCreateNewShapedLayer(){
-
89  // Stores button value
-
90  bool ok1, ok2;
-
91 
-
92  // "New Layer" is the title of the window
-
93  // the next tr is the text to display
-
94  // Define the standard Value, min, max, step and ok button
-
95  int width = IntelliInputDialog::getInt("New Shaped Layer", "Width:", 200, 1, paintingArea->getMaxWidth(), 1, &ok1);
-
96 
-
97  int height = IntelliInputDialog::getInt("New Shaped Layer", "Height:", 200, 1, paintingArea->getMaxHeight(), 1, &ok2);
-
98 
-
99  // Create New Layer
-
100  if (ok1&&ok2) {
-
101  paintingArea->addLayer(width, height, 0, 0, IntelliImage::ImageType::SHAPEDIMAGE);
-
102  UpdateGui();
-
103  }
-
104 }
-
105 
-
106 // Opens a dialog that allows the user to change Dimension
-
107 void IntelliPhotoGui::slotChangeDim(){
-
108  // Stores button value
-
109  bool ok1, ok2;
-
110 
-
111  // "change Dimension" is the title of the window
-
112  // the next tr is the text to display
-
113  // Define the standard Value, min, step and ok button
-
114  int width = IntelliInputDialog::getInt("New Canvas Size", "Width:", 600, 1, 50000, 1, &ok1);
-
115 
-
116  int height = IntelliInputDialog::getInt("New Canvas Size", "Height:", 600, 1, 50000, 1, &ok2);
-
117 
-
118  // Change dimension
-
119  if (ok1&&ok2) {
-
120  paintingArea->setLayerDimensions(width,height);
-
121  UpdateGui();
-
122  }
-
123 }
-
124 
-
125 // Opens a dialog that allows the user to delete a Layer
-
126 void IntelliPhotoGui::slotDeleteLayer(){
+
64  // Stores the array of bytes of the users data
+
65  QByteArray fileFormat = action->data().toByteArray();
+
66 
+
67  // Pass it to be saved
+
68  saveFile(fileFormat);
+
69 }
+
70 
+
71 // Opens a dialog that allows the user to create a New RASTER Layer
+
72 void IntelliPhotoGui::slotCreateNewRasterLayer(){
+
73  // Stores button value
+
74  bool ok1, ok2;
+
75 
+
76  // "New Layer" is the title of the window
+
77  // the next tr is the text to display
+
78  // Define the standard Value, min, max, step and ok button
+
79  int width = IntelliInputDialog::getInt("New Raster Layer", "Width:", 200, 1, paintingArea->getMaxWidth(), 1, &ok1);
+
80 
+
81  int height = IntelliInputDialog::getInt("New Raster Layer", "Height:", 200, 1, paintingArea->getMaxHeight(), 1, &ok2);
+
82 
+
83  // Create New Layer
+
84  if (ok1&&ok2) {
+
85  paintingArea->addLayer(width,height,0,0,IntelliImage::ImageType::RASTERIMAGE);
+
86  UpdateGui();
+
87  }
+
88 }
+
89 
+
90 // Opens a dialog that allows the user to create a New SHAPED Layer
+
91 void IntelliPhotoGui::slotCreateNewShapedLayer(){
+
92  // Stores button value
+
93  bool ok1, ok2;
+
94 
+
95  // "New Layer" is the title of the window
+
96  // the next tr is the text to display
+
97  // Define the standard Value, min, max, step and ok button
+
98  int width = IntelliInputDialog::getInt("New Shaped Layer", "Width:", 200, 1, paintingArea->getMaxWidth(), 1, &ok1);
+
99 
+
100  int height = IntelliInputDialog::getInt("New Shaped Layer", "Height:", 200, 1, paintingArea->getMaxHeight(), 1, &ok2);
+
101 
+
102  // Create New Layer
+
103  if (ok1&&ok2) {
+
104  paintingArea->addLayer(width, height, 0, 0, IntelliImage::ImageType::SHAPEDIMAGE);
+
105  UpdateGui();
+
106  }
+
107 }
+
108 
+
109 // Opens a dialog that allows the user to change Dimension
+
110 void IntelliPhotoGui::slotChangeDim(){
+
111  // Stores button value
+
112  bool ok1, ok2;
+
113 
+
114  // "change Dimension" is the title of the window
+
115  // the next tr is the text to display
+
116  // Define the standard Value, min, step and ok button
+
117  int width = IntelliInputDialog::getInt("New Canvas Size", "Width:", 600, 1, 50000, 1, &ok1);
+
118 
+
119  int height = IntelliInputDialog::getInt("New Canvas Size", "Height:", 600, 1, 50000, 1, &ok2);
+
120 
+
121  // Change dimension
+
122  if (ok1&&ok2) {
+
123  paintingArea->setLayerDimensions(width,height);
+
124  UpdateGui();
+
125  }
+
126 }
127 
-
128  bool ok1;
-
129  // "delete Layer" is the title of the window
-
130  // the next tr is the text to display
-
131  // Define the standard Value, min, max, step and ok button
-
132  int layerNumber = IntelliInputDialog::getInt("Delete Layer", "Number:", paintingArea->getNumberOfActiveLayer() + 1, 1, static_cast<int>(paintingArea->layerBundle.size()), 1, &ok1);
-
133 
-
134  // Create New Layer
-
135  if(ok1) {
-
136  paintingArea->deleteLayer(layerNumber - 1);
-
137  UpdateGui();
-
138  }
-
139 }
-
140 
-
141 void IntelliPhotoGui::slotSetActiveAlpha(){
-
142 
-
143  bool ok1, ok2;
-
144  // "Layer to set on" is the title of the window
-
145  // the next tr is the text to display
-
146  // Define the standard Value, min, max, step and ok button
-
147 
-
148  int layer = IntelliInputDialog::getInt("Layer to set on", "Layer:", paintingArea->getNumberOfActiveLayer() + 1, 1, static_cast<int>(paintingArea->layerBundle.size()), 1, &ok1);
-
149 
-
150  // "New Alpha" is the title of the window
-
151  int alpha = IntelliInputDialog::getInt("Layer to set on", "Alpha:", 255, 0, 255, 1, &ok2);
+
128 // Opens a dialog that allows the user to delete a Layer
+
129 void IntelliPhotoGui::slotDeleteLayer(){
+
130 
+
131  bool ok1;
+
132  // "delete Layer" is the title of the window
+
133  // the next tr is the text to display
+
134  // Define the standard Value, min, max, step and ok button
+
135  int layerNumber = IntelliInputDialog::getInt("Delete Layer", "Number:", paintingArea->getNumberOfActiveLayer() + 1, 1, static_cast<int>(paintingArea->layerBundle.size()), 1, &ok1);
+
136 
+
137  // Create New Layer
+
138  if(ok1) {
+
139  paintingArea->deleteLayer(layerNumber - 1);
+
140  UpdateGui();
+
141  }
+
142 }
+
143 
+
144 void IntelliPhotoGui::slotSetActiveAlpha(){
+
145 
+
146  bool ok1, ok2;
+
147  // "Layer to set on" is the title of the window
+
148  // the next tr is the text to display
+
149  // Define the standard Value, min, max, step and ok button
+
150 
+
151  int layer = IntelliInputDialog::getInt("Layer to set on", "Layer:", paintingArea->getNumberOfActiveLayer() + 1, 1, static_cast<int>(paintingArea->layerBundle.size()), 1, &ok1);
152 
-
153  if (ok1&&ok2)
-
154  {
-
155  paintingArea->setLayerAlpha(layer - 1,alpha);
-
156  UpdateGui();
-
157  }
-
158 }
-
159 
-
160 void IntelliPhotoGui::slotSetPolygon(){
-
161  // Stores button value
-
162  bool ok1;
-
163 
-
164  // "Layer to set on" is the title of the window
-
165  // the next tr is the text to display
-
166  // Define the standard Value, min, max, step and ok button
-
167  int layer = IntelliInputDialog::getInt("Layer to set on", "Layer:", paintingArea->getNumberOfActiveLayer() + 1, 1, static_cast<int>(paintingArea->layerBundle.size()), 1, &ok1);
-
168 
-
169  if (ok1)
-
170  {
-
171  paintingArea->setPolygon(layer - 1);
-
172  UpdateGui();
-
173  }
-
174 }
-
175 
-
176 void IntelliPhotoGui::slotPositionMoveUp(){
-
177  paintingArea->movePositionActive(0,-20);
-
178  update();
-
179 }
-
180 
-
181 void IntelliPhotoGui::slotPositionMoveDown(){
-
182  paintingArea->movePositionActive(0,20);
-
183  update();
-
184 }
-
185 
-
186 void IntelliPhotoGui::slotPositionMoveLeft(){
-
187  paintingArea->movePositionActive(-20,0);
-
188  update();
-
189 }
-
190 
-
191 void IntelliPhotoGui::slotPositionMoveRight(){
-
192  paintingArea->movePositionActive(20,0);
-
193  update();
-
194 }
-
195 
-
196 void IntelliPhotoGui::slotMoveLayerUp(){
-
197  paintingArea->moveActiveLayer(1);
-
198  update();
-
199 }
-
200 
-
201 void IntelliPhotoGui::slotMoveLayerDown(){
-
202  paintingArea->moveActiveLayer(-1);
-
203  update();
-
204 }
-
205 
-
206 void IntelliPhotoGui::slotSetActiveLayer(){
-
207  bool ok1;
-
208  // "Layer to set on" is the title of the window
-
209  // the next tr is the text to display
-
210  // Define the standard Value, min, max, step and ok button
-
211  int layer = IntelliInputDialog::getInt("Layer to set on", "Layer:", 1, 1, static_cast<int>(paintingArea->layerBundle.size()), 1, &ok1);
-
212 
-
213  if(ok1) {
-
214  paintingArea->setLayerActive(layer - 1);
-
215  UpdateGui();
-
216  }
-
217 }
-
218 
-
219 void IntelliPhotoGui::slotUpdateRenderSettingsOn(){
-
220  paintingArea->setRenderSettings(true);
-
221  UpdateGui();
-
222 }
-
223 
-
224 void IntelliPhotoGui::slotUpdateRenderSettingsOff(){
-
225  paintingArea->setRenderSettings(false);
-
226  UpdateGui();
-
227 }
-
228 
-
229 void IntelliPhotoGui::slotSetFirstColor(){
-
230  paintingArea->colorPickerSetFirstColor();
-
231  UpdateGui();
-
232 }
-
233 
-
234 void IntelliPhotoGui::slotSetSecondColor(){
-
235  paintingArea->colorPickerSetSecondColor();
-
236  UpdateGui();
-
237 }
-
238 
-
239 void IntelliPhotoGui::slotSwapColor(){
-
240  paintingArea->colorPickerSwapColors();
-
241  UpdateGui();
-
242 }
-
243 
-
244 void IntelliPhotoGui::slotCreatePenTool(){
-
245  PenButton->setChecked(true);
-
246  paintingArea->createPenTool();
-
247 }
-
248 
-
249 void IntelliPhotoGui::slotCreatePlainTool(){
-
250  PlainButton->setChecked(true);
-
251  paintingArea->createPlainTool();
-
252 }
-
253 
-
254 void IntelliPhotoGui::slotCreateLineTool(){
-
255  LineButton->setChecked(true);
-
256  paintingArea->createLineTool();
-
257 }
-
258 
-
259 void IntelliPhotoGui::slotCreateRectangleTool(){
-
260  RectangleButton->setChecked(true);
-
261  paintingArea->createRectangleTool();
-
262 }
-
263 
-
264 void IntelliPhotoGui::slotCreateCircleTool(){
-
265  CircleButton->setChecked(true);
-
266  paintingArea->createCircleTool();
-
267 }
-
268 
-
269 void IntelliPhotoGui::slotCreatePolygonTool(){
-
270  PolygonButton->setChecked(true);
-
271  paintingArea->createPolygonTool();
-
272 }
-
273 
-
274 void IntelliPhotoGui::slotCreateFloodFillTool(){
-
275  FloodFillButton->setChecked(true);
-
276  paintingArea->createFloodFillTool();
-
277 }
-
278 
-
279 // Open an about dialog
-
280 void IntelliPhotoGui::slotAboutDialog(){
-
281  // Window title and text to display
-
282  QMessageBox::about(this, tr("About Painting"),
-
283  tr("<p><b>IntelliPhoto - </b>A Pretty basic editor.</p> <br>Developed by Team 7."));
-
284 }
-
285 
-
286 void IntelliPhotoGui::slotEnterPressed(){
-
287  QString string = EditLineWidth->text();
-
288  if(string.toInt() > 50) {
-
289  EditLineWidth->setText("50");
-
290  }
-
291  paintingArea->Toolsettings.setLineWidth(string.toInt());
-
292  string = EditLineInnerAlpha->text();
-
293  if(string.toInt() > 255) {
-
294  EditLineInnerAlpha->setText("255");
-
295  }
-
296  paintingArea->Toolsettings.setInnerAlpha(string.toInt());
-
297 }
-
298 
-
299 void IntelliPhotoGui::slotResetTools(){
-
300  CircleButton->setChecked(false);
-
301  FloodFillButton->setChecked(false);
-
302  LineButton->setChecked(false);
-
303  PenButton->setChecked(false);
-
304  PlainButton->setChecked(false);
-
305  PolygonButton->setChecked(false);
-
306  RectangleButton->setChecked(false);
-
307 }
-
308 
-
309 void IntelliPhotoGui::slotSetWidth(){
-
310  bool ok1;
-
311  int temp = IntelliInputDialog::getInt("Toolsettings", "Width:", 5, 1, 50, 1, &ok1);
-
312  if(ok1) {
-
313  paintingArea->Toolsettings.setLineWidth(temp);
-
314  EditLineWidth->setText(QString("%1").arg(temp));
-
315  }
-
316 }
-
317 
-
318 void IntelliPhotoGui::slotSetInnerAlpha(){
-
319  bool ok1;
-
320  int temp = IntelliInputDialog::getInt("Toolsettings", "Alpha:", 5, 1, 50, 1, &ok1);
-
321  if(ok1) {
-
322  paintingArea->Toolsettings.setInnerAlpha(temp);
-
323  EditLineInnerAlpha->setText(QString("%1").arg(temp));
-
324  }
-
325 }
-
326 
-
327 // Define menu actions that call functions
-
328 void IntelliPhotoGui::createActions(){
-
329  // Get a list of the supported file formats
-
330  // QImageWriter is used to write images to files
-
331  foreach (QByteArray format, QImageWriter::supportedImageFormats()) {
-
332  QString text = tr("%1...").arg(QString(format).toUpper());
-
333 
-
334  // Create an action for each file format
-
335  QAction*action = new QAction(text, this);
+
153  // "New Alpha" is the title of the window
+
154  int alpha = IntelliInputDialog::getInt("Layer to set on", "Alpha:", 255, 0, 255, 1, &ok2);
+
155 
+
156  if (ok1&&ok2)
+
157  {
+
158  paintingArea->setLayerAlpha(layer - 1,alpha);
+
159  UpdateGui();
+
160  }
+
161 }
+
162 
+
163 void IntelliPhotoGui::slotSetPolygon(){
+
164  // Stores button value
+
165  bool ok1;
+
166 
+
167  // "Layer to set on" is the title of the window
+
168  // the next tr is the text to display
+
169  // Define the standard Value, min, max, step and ok button
+
170  int layer = IntelliInputDialog::getInt("Layer to set on", "Layer:", paintingArea->getNumberOfActiveLayer() + 1, 1, static_cast<int>(paintingArea->layerBundle.size()), 1, &ok1);
+
171 
+
172  if (ok1)
+
173  {
+
174  paintingArea->setPolygon(layer - 1);
+
175  UpdateGui();
+
176  }
+
177 }
+
178 
+
179 void IntelliPhotoGui::slotPositionMoveUp(){
+
180  paintingArea->movePositionActive(0,-20);
+
181  update();
+
182 }
+
183 
+
184 void IntelliPhotoGui::slotPositionMoveDown(){
+
185  paintingArea->movePositionActive(0,20);
+
186  update();
+
187 }
+
188 
+
189 void IntelliPhotoGui::slotPositionMoveLeft(){
+
190  paintingArea->movePositionActive(-20,0);
+
191  update();
+
192 }
+
193 
+
194 void IntelliPhotoGui::slotPositionMoveRight(){
+
195  paintingArea->movePositionActive(20,0);
+
196  update();
+
197 }
+
198 
+
199 void IntelliPhotoGui::slotMoveLayerUp(){
+
200  paintingArea->moveActiveLayer(1);
+
201  update();
+
202 }
+
203 
+
204 void IntelliPhotoGui::slotMoveLayerDown(){
+
205  paintingArea->moveActiveLayer(-1);
+
206  update();
+
207 }
+
208 
+
209 void IntelliPhotoGui::slotSetActiveLayer(){
+
210  bool ok1;
+
211  // "Layer to set on" is the title of the window
+
212  // the next tr is the text to display
+
213  // Define the standard Value, min, max, step and ok button
+
214  int layer = IntelliInputDialog::getInt("Layer to set on", "Layer:", 1, 1, static_cast<int>(paintingArea->layerBundle.size()), 1, &ok1);
+
215 
+
216  if(ok1) {
+
217  paintingArea->setLayerActive(layer - 1);
+
218  UpdateGui();
+
219  }
+
220 }
+
221 
+
222 void IntelliPhotoGui::slotUpdateRenderSettingsOn(){
+
223  paintingArea->setRenderSettings(true);
+
224  UpdateGui();
+
225 }
+
226 
+
227 void IntelliPhotoGui::slotUpdateRenderSettingsOff(){
+
228  paintingArea->setRenderSettings(false);
+
229  UpdateGui();
+
230 }
+
231 
+
232 void IntelliPhotoGui::slotSetFirstColor(){
+
233  paintingArea->colorPickerSetFirstColor();
+
234  UpdateGui();
+
235 }
+
236 
+
237 void IntelliPhotoGui::slotSetSecondColor(){
+
238  paintingArea->colorPickerSetSecondColor();
+
239  UpdateGui();
+
240 }
+
241 
+
242 void IntelliPhotoGui::slotSwapColor(){
+
243  paintingArea->colorPickerSwapColors();
+
244  UpdateGui();
+
245 }
+
246 
+
247 void IntelliPhotoGui::slotCreatePenTool(){
+
248  PenButton->setChecked(true);
+
249  paintingArea->createPenTool();
+
250 }
+
251 
+
252 void IntelliPhotoGui::slotCreatePlainTool(){
+
253  PlainButton->setChecked(true);
+
254  paintingArea->createPlainTool();
+
255 }
+
256 
+
257 void IntelliPhotoGui::slotCreateLineTool(){
+
258  LineButton->setChecked(true);
+
259  paintingArea->createLineTool();
+
260 }
+
261 
+
262 void IntelliPhotoGui::slotCreateRectangleTool(){
+
263  RectangleButton->setChecked(true);
+
264  paintingArea->createRectangleTool();
+
265 }
+
266 
+
267 void IntelliPhotoGui::slotCreateCircleTool(){
+
268  CircleButton->setChecked(true);
+
269  paintingArea->createCircleTool();
+
270 }
+
271 
+
272 void IntelliPhotoGui::slotCreatePolygonTool(){
+
273  PolygonButton->setChecked(true);
+
274  paintingArea->createPolygonTool();
+
275 }
+
276 
+
277 void IntelliPhotoGui::slotCreateFloodFillTool(){
+
278  FloodFillButton->setChecked(true);
+
279  paintingArea->createFloodFillTool();
+
280 }
+
281 
+
282 // Open an about dialog
+
283 void IntelliPhotoGui::slotAboutDialog(){
+
284  // Window title and text to display
+
285  QMessageBox::about(this, tr("About Painting"),
+
286  tr("<p><b>IntelliPhoto - </b>A Pretty basic editor.</p> <br>Developed by Team 7."));
+
287 }
+
288 
+
289 void IntelliPhotoGui::slotEnterPressed(){
+
290  QString string = EditLineWidth->text();
+
291  if(string.toInt() > 50) {
+
292  EditLineWidth->setText("50");
+
293  }
+
294  paintingArea->Toolsettings.setLineWidth(string.toInt());
+
295  string = EditLineInnerAlpha->text();
+
296  if(string.toInt() > 255) {
+
297  EditLineInnerAlpha->setText("255");
+
298  }
+
299  paintingArea->Toolsettings.setInnerAlpha(string.toInt());
+
300 }
+
301 
+
302 void IntelliPhotoGui::slotResetTools(){
+
303  CircleButton->setChecked(false);
+
304  FloodFillButton->setChecked(false);
+
305  LineButton->setChecked(false);
+
306  PenButton->setChecked(false);
+
307  PlainButton->setChecked(false);
+
308  PolygonButton->setChecked(false);
+
309  RectangleButton->setChecked(false);
+
310 }
+
311 
+
312 void IntelliPhotoGui::slotSetWidth(){
+
313  bool ok1;
+
314  int temp = IntelliInputDialog::getInt("Toolsettings", "Width:", 5, 1, 50, 1, &ok1);
+
315  if(ok1) {
+
316  paintingArea->Toolsettings.setLineWidth(temp);
+
317  EditLineWidth->setText(QString("%1").arg(temp));
+
318  }
+
319 }
+
320 
+
321 void IntelliPhotoGui::slotSetInnerAlpha(){
+
322  bool ok1;
+
323  int temp = IntelliInputDialog::getInt("Toolsettings", "Alpha:", 5, 1, 50, 1, &ok1);
+
324  if(ok1) {
+
325  paintingArea->Toolsettings.setInnerAlpha(temp);
+
326  EditLineInnerAlpha->setText(QString("%1").arg(temp));
+
327  }
+
328 }
+
329 
+
330 // Define menu actions that call functions
+
331 void IntelliPhotoGui::createActions(){
+
332  // Get a list of the supported file formats
+
333  // QImageWriter is used to write images to files
+
334  foreach (QByteArray format, QImageWriter::supportedImageFormats()) {
+
335  QString text = tr("%1...").arg(QString(format).toUpper());
336 
-
337  // Set an action for each file format
-
338  action->setData(format);
+
337  // Create an action for each file format
+
338  QAction*action = new QAction(text, this);
339 
-
340  // When clicked call IntelliPhotoGui::save()
-
341  connect(action, SIGNAL(triggered()), this, SLOT(slotSave()));
+
340  // Set an action for each file format
+
341  action->setData(format);
342 
-
343  // Attach each file format option menu item to Save As
-
344  actionSaveAs.append(action);
-
345  }
-
346 
-
347  //set exporter to actions
-
348  QAction*pngSaveAction = new QAction("PNG-8", this);
-
349  pngSaveAction->setData("PNG");
-
350  // When clicked call IntelliPhotoGui::save()
-
351  connect(pngSaveAction, SIGNAL(triggered()), this, SLOT(slotSave()));
-
352  // Attach each PNG in save Menu
-
353  actionSaveAs.append(pngSaveAction);
-
354  pngSaveAction->setShortcut(QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_S));
-
355 
-
356  // Create exit action and tie to IntelliPhotoGui::close()
-
357  actionExit = new QAction(tr("&Exit"), this);
-
358  actionExit->setShortcuts(QKeySequence::Quit);
-
359  connect(actionExit, SIGNAL(triggered()), this, SLOT(close()));
-
360 
-
361  actionOpen = new QAction(tr("&Open"), this);
-
362  actionOpen->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_O));
-
363  connect(actionOpen, SIGNAL(triggered()), this, SLOT(slotOpen()));
-
364 
-
365  // Create New RASTER Layer action and tie to IntelliPhotoGui::newLayer()
-
366  actionCreateNewRasterLayer = new QAction(tr("&Raster Image"), this);
-
367  actionCreateNewRasterLayer->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_N));
-
368  connect(actionCreateNewRasterLayer, SIGNAL(triggered()), this, SLOT(slotCreateNewRasterLayer()));
-
369 
-
370 
-
371  // Create New SHAPED Layer action and tie to IntelliPhotoGui::newLayer()
-
372  actionCreateNewShapedLayer = new QAction(tr("&Shaped Image"), this);
-
373  actionCreateNewShapedLayer->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_N + Qt::ALT));
-
374  connect(actionCreateNewShapedLayer, SIGNAL(triggered()), this, SLOT(slotCreateNewShapedLayer()));
-
375 
-
376  // Delete New Layer action and tie to IntelliPhotoGui::deleteLayer()
-
377  actionDeleteLayer = new QAction(tr("&Delete Layer..."), this);
-
378  actionDeleteLayer->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::Key_D));
-
379  connect(actionDeleteLayer, SIGNAL(triggered()), this, SLOT(slotDeleteLayer()));
-
380 
-
381  actionChangeDim = new QAction(tr("&Change Dimension"), this);
-
382  actionChangeDim->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::Key_X));
-
383  connect(actionChangeDim, SIGNAL(triggered()), this, SLOT(slotChangeDim()));
-
384  connect(dimCanvas, SIGNAL(clicked()), this, SLOT(slotChangeDim()));
-
385 
-
386  actionSetActiveLayer = new QAction(tr("&set Active"), this);
-
387  actionSetActiveLayer->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_A));
-
388  connect(actionSetActiveLayer, SIGNAL(triggered()), this, SLOT(slotSetActiveLayer()));
-
389 
-
390  actionSetActiveAlpha = new QAction(tr("&set Alpha"), this);
-
391  actionSetActiveAlpha->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::Key_A));
-
392  connect(actionSetActiveAlpha, SIGNAL(triggered()), this, SLOT(slotSetActiveAlpha()));
-
393 
-
394  actionSetPolygon = new QAction(tr("&set new Polygondata"), this);
-
395  actionSetPolygon->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::Key_P));
-
396  connect(actionSetPolygon, SIGNAL(triggered()), this, SLOT(slotSetPolygon()));
-
397 
-
398  actionMovePositionUp = new QAction(tr("&move Up"), this);
-
399  actionMovePositionUp->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Up));
-
400  connect(actionMovePositionUp, SIGNAL(triggered()), this, SLOT(slotPositionMoveUp()));
-
401 
-
402  actionMovePositionDown = new QAction(tr("&move Down"), this);
-
403  actionMovePositionDown->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Down));
-
404  connect(actionMovePositionDown, SIGNAL(triggered()), this, SLOT(slotPositionMoveDown()));
-
405 
-
406  actionMovePositionLeft = new QAction(tr("&move Left"), this);
-
407  actionMovePositionLeft->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Left));
-
408  connect(actionMovePositionLeft, SIGNAL(triggered()), this, SLOT(slotPositionMoveLeft()));
-
409 
-
410  actionMovePositionRight = new QAction(tr("&move Right"), this);
-
411  actionMovePositionRight->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Right));
-
412  connect(actionMovePositionRight, SIGNAL(triggered()), this, SLOT(slotPositionMoveRight()));
-
413 
-
414  actionMoveLayerUp = new QAction(tr("&move Layer Up"), this);
-
415  actionMoveLayerUp->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::Key_Up));
-
416  connect(actionMoveLayerUp, SIGNAL(triggered()), this, SLOT(slotMoveLayerUp()));
-
417 
-
418  actionMoveLayerDown = new QAction(tr("&move Layer Down"), this);
-
419  actionMoveLayerDown->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::Key_Down));
-
420  connect(actionMoveLayerDown, SIGNAL(triggered()), this, SLOT(slotMoveLayerDown()));
-
421 
-
422  //Create Update RenderSettings Actions here
-
423  actionUpdateRenderSettingsOn = new QAction(tr("&On"), this);
-
424  actionUpdateRenderSettingsOn->setShortcut(QKeySequence(Qt::ALT + Qt::SHIFT + +Qt::Key_A));
-
425  connect(actionUpdateRenderSettingsOn, SIGNAL(triggered()),this, SLOT(slotUpdateRenderSettingsOn()));
-
426 
-
427  actionUpdateRenderSettingsOff = new QAction(tr("&Off"), this);
-
428  actionUpdateRenderSettingsOff->setShortcut(QKeySequence(Qt::ALT + Qt::SHIFT + +Qt::Key_D));
-
429  connect(actionUpdateRenderSettingsOff, SIGNAL(triggered()),this, SLOT(slotUpdateRenderSettingsOff()));
-
430 
-
431  //Create Color Actions here
-
432  actionColorPickerFirstColor = new QAction(tr("&Main"), this);
-
433  actionColorPickerFirstColor->setShortcut(QKeySequence(Qt::ALT + Qt::Key_N));
-
434  connect(actionColorPickerFirstColor, SIGNAL(triggered()), this, SLOT(slotSetFirstColor()));
-
435  connect(FirstColorButton, SIGNAL(clicked()), this, SLOT(slotSetFirstColor()));
-
436 
-
437  actionColorPickerSecondColor = new QAction(tr("&Secondary"), this);
-
438  actionColorPickerSecondColor->setShortcut(QKeySequence(Qt::ALT + Qt::Key_M));
-
439  connect(actionColorPickerSecondColor, SIGNAL(triggered()), this, SLOT(slotSetSecondColor()));
-
440  connect(SecondColorButton, SIGNAL(clicked()), this, SLOT(slotSetSecondColor()));
-
441 
-
442  actionColorSwap = new QAction(tr("&Switch"), this);
-
443  actionColorSwap->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::Key_S));
-
444  connect(actionColorSwap, SIGNAL(triggered()), this, SLOT(slotSwapColor()));
-
445  connect(SwitchColorButton, SIGNAL(clicked()), this, SLOT(slotSwapColor()));
-
446 
-
447  //Create Tool actions down here
-
448  actionCreatePlainTool = new QAction(tr("&Plain"), this);
-
449  actionCreatePlainTool->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::SHIFT + Qt::Key_P));
-
450  connect(actionCreatePlainTool, SIGNAL(triggered()), this, SLOT(slotResetTools()));
-
451  connect(actionCreatePlainTool, SIGNAL(triggered()), this, SLOT(slotCreatePlainTool()));
-
452 
-
453 
-
454  actionCreatePenTool = new QAction(tr("&Pen"),this);
-
455  actionCreatePenTool->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::SHIFT + Qt::Key_S));
-
456  connect(actionCreatePenTool, SIGNAL(triggered()), this, SLOT(slotResetTools()));
-
457  connect(actionCreatePenTool, SIGNAL(triggered()), this, SLOT(slotCreatePenTool()));
-
458 
-
459  actionCreateLineTool = new QAction(tr("&Line"), this);
-
460  actionCreateLineTool->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::SHIFT + Qt::Key_L));
-
461  connect(actionCreateLineTool, SIGNAL(triggered()), this, SLOT(slotResetTools()));
-
462  connect(actionCreateLineTool, SIGNAL(triggered()), this, SLOT(slotCreateLineTool()));
-
463 
-
464  actionCreateCircleTool = new QAction(tr("&Circle"), this);
-
465  actionCreateCircleTool->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::SHIFT + Qt::Key_C));
-
466  connect(actionCreateCircleTool, SIGNAL(triggered()), this, SLOT(slotResetTools()));
-
467  connect(actionCreateCircleTool, SIGNAL(triggered()), this, SLOT(slotCreateCircleTool()));
-
468 
-
469  actionCreateRectangleTool = new QAction(tr("&Rectangle"), this);
-
470  actionCreateRectangleTool->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::SHIFT + Qt::Key_R));
-
471  connect(actionCreateRectangleTool, SIGNAL(triggered()), this, SLOT(slotResetTools()));
-
472  connect(actionCreateRectangleTool, SIGNAL(triggered()), this, SLOT(slotCreateRectangleTool()));
-
473 
-
474  actionCreatePolygonTool = new QAction(tr("&Polygon"), this);
-
475  actionCreatePolygonTool->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::SHIFT + Qt::Key_V));
-
476  connect(actionCreatePolygonTool, SIGNAL(triggered()), this, SLOT(slotResetTools()));
-
477  connect(actionCreatePolygonTool, SIGNAL(triggered()), this, SLOT(slotCreatePolygonTool()));
-
478 
-
479  actionCreateFloodFillTool = new QAction(tr("&FloodFill"), this);
-
480  actionCreateFloodFillTool->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::SHIFT + Qt::Key_F));
-
481  connect(actionCreateFloodFillTool, SIGNAL(triggered()), this, SLOT(slotResetTools()));
-
482  connect(actionCreateFloodFillTool, SIGNAL(triggered()), this, SLOT(slotCreateFloodFillTool()));
-
483 
-
484  // Create about action and tie to IntelliPhotoGui::about()
-
485  actionAboutDialog = new QAction(tr("&About"), this);
-
486  actionAboutDialog->setShortcut(Qt::Key_F2);
-
487  connect(actionAboutDialog, SIGNAL(triggered()), this, SLOT(slotAboutDialog()));
-
488 
-
489  // Create about Qt action and tie to IntelliPhotoGui::aboutQt()
-
490  actionAboutQtDialog = new QAction(tr("About &Qt"), this);
-
491  actionAboutQtDialog->setShortcut(Qt::Key_F3);
-
492  connect(actionAboutQtDialog, SIGNAL(triggered()), qApp, SLOT(aboutQt()));
-
493 
-
494  connect(EditLineWidth, SIGNAL(returnPressed()), this, SLOT(slotEnterPressed()));
-
495  connect(EditLineInnerAlpha, SIGNAL(returnPressed()), this, SLOT(slotEnterPressed()));
+
343  // When clicked call IntelliPhotoGui::save()
+
344  connect(action, SIGNAL(triggered()), this, SLOT(slotSave()));
+
345 
+
346  // Attach each file format option menu item to Save As
+
347  actionSaveAs.append(action);
+
348  }
+
349 
+
350  //set exporter to actions
+
351  QAction*pngSaveAction = new QAction("PNG-8", this);
+
352  pngSaveAction->setData("PNG");
+
353  // When clicked call IntelliPhotoGui::save()
+
354  connect(pngSaveAction, SIGNAL(triggered()), this, SLOT(slotSave()));
+
355  // Attach each PNG in save Menu
+
356  actionSaveAs.append(pngSaveAction);
+
357  pngSaveAction->setShortcut(QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_S));
+
358 
+
359  // Create exit action and tie to IntelliPhotoGui::close()
+
360  actionExit = new QAction(tr("&Exit"), this);
+
361  actionExit->setShortcuts(QKeySequence::Quit);
+
362  connect(actionExit, SIGNAL(triggered()), this, SLOT(close()));
+
363 
+
364  actionOpen = new QAction(tr("&Open"), this);
+
365  actionOpen->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_O));
+
366  connect(actionOpen, SIGNAL(triggered()), this, SLOT(slotOpen()));
+
367 
+
368  // Create New RASTER Layer action and tie to IntelliPhotoGui::newLayer()
+
369  actionCreateNewRasterLayer = new QAction(tr("&Raster Image"), this);
+
370  actionCreateNewRasterLayer->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_N));
+
371  connect(actionCreateNewRasterLayer, SIGNAL(triggered()), this, SLOT(slotCreateNewRasterLayer()));
+
372 
+
373 
+
374  // Create New SHAPED Layer action and tie to IntelliPhotoGui::newLayer()
+
375  actionCreateNewShapedLayer = new QAction(tr("&Shaped Image"), this);
+
376  actionCreateNewShapedLayer->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_N + Qt::ALT));
+
377  connect(actionCreateNewShapedLayer, SIGNAL(triggered()), this, SLOT(slotCreateNewShapedLayer()));
+
378 
+
379  // Delete New Layer action and tie to IntelliPhotoGui::deleteLayer()
+
380  actionDeleteLayer = new QAction(tr("&Delete Layer..."), this);
+
381  actionDeleteLayer->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::Key_D));
+
382  connect(actionDeleteLayer, SIGNAL(triggered()), this, SLOT(slotDeleteLayer()));
+
383 
+
384  actionChangeDim = new QAction(tr("&Change Dimension"), this);
+
385  actionChangeDim->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::Key_X));
+
386  connect(actionChangeDim, SIGNAL(triggered()), this, SLOT(slotChangeDim()));
+
387  connect(dimCanvas, SIGNAL(clicked()), this, SLOT(slotChangeDim()));
+
388 
+
389  actionSetActiveLayer = new QAction(tr("&set Active"), this);
+
390  actionSetActiveLayer->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_A));
+
391  connect(actionSetActiveLayer, SIGNAL(triggered()), this, SLOT(slotSetActiveLayer()));
+
392 
+
393  actionSetActiveAlpha = new QAction(tr("&set Alpha"), this);
+
394  actionSetActiveAlpha->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::Key_A));
+
395  connect(actionSetActiveAlpha, SIGNAL(triggered()), this, SLOT(slotSetActiveAlpha()));
+
396 
+
397  actionSetPolygon = new QAction(tr("&set new Polygondata"), this);
+
398  actionSetPolygon->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::Key_P));
+
399  connect(actionSetPolygon, SIGNAL(triggered()), this, SLOT(slotSetPolygon()));
+
400 
+
401  actionMovePositionUp = new QAction(tr("&move Up"), this);
+
402  actionMovePositionUp->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Up));
+
403  connect(actionMovePositionUp, SIGNAL(triggered()), this, SLOT(slotPositionMoveUp()));
+
404 
+
405  actionMovePositionDown = new QAction(tr("&move Down"), this);
+
406  actionMovePositionDown->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Down));
+
407  connect(actionMovePositionDown, SIGNAL(triggered()), this, SLOT(slotPositionMoveDown()));
+
408 
+
409  actionMovePositionLeft = new QAction(tr("&move Left"), this);
+
410  actionMovePositionLeft->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Left));
+
411  connect(actionMovePositionLeft, SIGNAL(triggered()), this, SLOT(slotPositionMoveLeft()));
+
412 
+
413  actionMovePositionRight = new QAction(tr("&move Right"), this);
+
414  actionMovePositionRight->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Right));
+
415  connect(actionMovePositionRight, SIGNAL(triggered()), this, SLOT(slotPositionMoveRight()));
+
416 
+
417  actionMoveLayerUp = new QAction(tr("&move Layer Up"), this);
+
418  actionMoveLayerUp->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::Key_Up));
+
419  connect(actionMoveLayerUp, SIGNAL(triggered()), this, SLOT(slotMoveLayerUp()));
+
420 
+
421  actionMoveLayerDown = new QAction(tr("&move Layer Down"), this);
+
422  actionMoveLayerDown->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::Key_Down));
+
423  connect(actionMoveLayerDown, SIGNAL(triggered()), this, SLOT(slotMoveLayerDown()));
+
424 
+
425  //Create Update RenderSettings Actions here
+
426  actionUpdateRenderSettingsOn = new QAction(tr("&On"), this);
+
427  actionUpdateRenderSettingsOn->setShortcut(QKeySequence(Qt::ALT + Qt::SHIFT + +Qt::Key_A));
+
428  connect(actionUpdateRenderSettingsOn, SIGNAL(triggered()),this, SLOT(slotUpdateRenderSettingsOn()));
+
429 
+
430  actionUpdateRenderSettingsOff = new QAction(tr("&Off"), this);
+
431  actionUpdateRenderSettingsOff->setShortcut(QKeySequence(Qt::ALT + Qt::SHIFT + +Qt::Key_D));
+
432  connect(actionUpdateRenderSettingsOff, SIGNAL(triggered()),this, SLOT(slotUpdateRenderSettingsOff()));
+
433 
+
434  //Create Color Actions here
+
435  actionColorPickerFirstColor = new QAction(tr("&Main"), this);
+
436  actionColorPickerFirstColor->setShortcut(QKeySequence(Qt::ALT + Qt::Key_N));
+
437  connect(actionColorPickerFirstColor, SIGNAL(triggered()), this, SLOT(slotSetFirstColor()));
+
438  connect(FirstColorButton, SIGNAL(clicked()), this, SLOT(slotSetFirstColor()));
+
439 
+
440  actionColorPickerSecondColor = new QAction(tr("&Secondary"), this);
+
441  actionColorPickerSecondColor->setShortcut(QKeySequence(Qt::ALT + Qt::Key_M));
+
442  connect(actionColorPickerSecondColor, SIGNAL(triggered()), this, SLOT(slotSetSecondColor()));
+
443  connect(SecondColorButton, SIGNAL(clicked()), this, SLOT(slotSetSecondColor()));
+
444 
+
445  actionColorSwap = new QAction(tr("&Switch"), this);
+
446  actionColorSwap->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::Key_S));
+
447  connect(actionColorSwap, SIGNAL(triggered()), this, SLOT(slotSwapColor()));
+
448  connect(SwitchColorButton, SIGNAL(clicked()), this, SLOT(slotSwapColor()));
+
449 
+
450  //Create Tool actions down here
+
451  actionCreatePlainTool = new QAction(tr("&Plain"), this);
+
452  actionCreatePlainTool->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::SHIFT + Qt::Key_P));
+
453  connect(actionCreatePlainTool, SIGNAL(triggered()), this, SLOT(slotResetTools()));
+
454  connect(actionCreatePlainTool, SIGNAL(triggered()), this, SLOT(slotCreatePlainTool()));
+
455 
+
456 
+
457  actionCreatePenTool = new QAction(tr("&Pen"),this);
+
458  actionCreatePenTool->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::SHIFT + Qt::Key_S));
+
459  connect(actionCreatePenTool, SIGNAL(triggered()), this, SLOT(slotResetTools()));
+
460  connect(actionCreatePenTool, SIGNAL(triggered()), this, SLOT(slotCreatePenTool()));
+
461 
+
462  actionCreateLineTool = new QAction(tr("&Line"), this);
+
463  actionCreateLineTool->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::SHIFT + Qt::Key_L));
+
464  connect(actionCreateLineTool, SIGNAL(triggered()), this, SLOT(slotResetTools()));
+
465  connect(actionCreateLineTool, SIGNAL(triggered()), this, SLOT(slotCreateLineTool()));
+
466 
+
467  actionCreateCircleTool = new QAction(tr("&Circle"), this);
+
468  actionCreateCircleTool->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::SHIFT + Qt::Key_C));
+
469  connect(actionCreateCircleTool, SIGNAL(triggered()), this, SLOT(slotResetTools()));
+
470  connect(actionCreateCircleTool, SIGNAL(triggered()), this, SLOT(slotCreateCircleTool()));
+
471 
+
472  actionCreateRectangleTool = new QAction(tr("&Rectangle"), this);
+
473  actionCreateRectangleTool->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::SHIFT + Qt::Key_R));
+
474  connect(actionCreateRectangleTool, SIGNAL(triggered()), this, SLOT(slotResetTools()));
+
475  connect(actionCreateRectangleTool, SIGNAL(triggered()), this, SLOT(slotCreateRectangleTool()));
+
476 
+
477  actionCreatePolygonTool = new QAction(tr("&Polygon"), this);
+
478  actionCreatePolygonTool->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::SHIFT + Qt::Key_V));
+
479  connect(actionCreatePolygonTool, SIGNAL(triggered()), this, SLOT(slotResetTools()));
+
480  connect(actionCreatePolygonTool, SIGNAL(triggered()), this, SLOT(slotCreatePolygonTool()));
+
481 
+
482  actionCreateFloodFillTool = new QAction(tr("&FloodFill"), this);
+
483  actionCreateFloodFillTool->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::SHIFT + Qt::Key_F));
+
484  connect(actionCreateFloodFillTool, SIGNAL(triggered()), this, SLOT(slotResetTools()));
+
485  connect(actionCreateFloodFillTool, SIGNAL(triggered()), this, SLOT(slotCreateFloodFillTool()));
+
486 
+
487  // Create about action and tie to IntelliPhotoGui::about()
+
488  actionAboutDialog = new QAction(tr("&About"), this);
+
489  actionAboutDialog->setShortcut(Qt::Key_F2);
+
490  connect(actionAboutDialog, SIGNAL(triggered()), this, SLOT(slotAboutDialog()));
+
491 
+
492  // Create about Qt action and tie to IntelliPhotoGui::aboutQt()
+
493  actionAboutQtDialog = new QAction(tr("About &Qt"), this);
+
494  actionAboutQtDialog->setShortcut(Qt::Key_F3);
+
495  connect(actionAboutQtDialog, SIGNAL(triggered()), qApp, SLOT(aboutQt()));
496 
-
497  connect(CircleButton,SIGNAL(pressed()), this, SLOT(slotResetTools()));
-
498  connect(CircleButton, SIGNAL(clicked()), this, SLOT(slotCreateCircleTool()));
+
497  connect(EditLineWidth, SIGNAL(returnPressed()), this, SLOT(slotEnterPressed()));
+
498  connect(EditLineInnerAlpha, SIGNAL(returnPressed()), this, SLOT(slotEnterPressed()));
499 
-
500  connect(FloodFillButton,SIGNAL(pressed()), this, SLOT(slotResetTools()));
-
501  connect(FloodFillButton, SIGNAL(clicked()), this, SLOT(slotCreateFloodFillTool()));
+
500  connect(CircleButton,SIGNAL(pressed()), this, SLOT(slotResetTools()));
+
501  connect(CircleButton, SIGNAL(clicked()), this, SLOT(slotCreateCircleTool()));
502 
-
503  connect(LineButton,SIGNAL(pressed()), this, SLOT(slotResetTools()));
-
504  connect(LineButton, SIGNAL(clicked()), this, SLOT(slotCreateLineTool()));
+
503  connect(FloodFillButton,SIGNAL(pressed()), this, SLOT(slotResetTools()));
+
504  connect(FloodFillButton, SIGNAL(clicked()), this, SLOT(slotCreateFloodFillTool()));
505 
-
506  connect(PenButton,SIGNAL(pressed()), this, SLOT(slotResetTools()));
-
507  connect(PenButton, SIGNAL(clicked()), this, SLOT(slotCreatePenTool()));
+
506  connect(LineButton,SIGNAL(pressed()), this, SLOT(slotResetTools()));
+
507  connect(LineButton, SIGNAL(clicked()), this, SLOT(slotCreateLineTool()));
508 
-
509  connect(PlainButton,SIGNAL(pressed()), this, SLOT(slotResetTools()));
-
510  connect(PlainButton, SIGNAL(clicked()), this, SLOT(slotCreatePlainTool()));
+
509  connect(PenButton,SIGNAL(pressed()), this, SLOT(slotResetTools()));
+
510  connect(PenButton, SIGNAL(clicked()), this, SLOT(slotCreatePenTool()));
511 
-
512  connect(PolygonButton,SIGNAL(pressed()), this, SLOT(slotResetTools()));
-
513  connect(PolygonButton, SIGNAL(clicked()), this, SLOT(slotCreatePolygonTool()));
+
512  connect(PlainButton,SIGNAL(pressed()), this, SLOT(slotResetTools()));
+
513  connect(PlainButton, SIGNAL(clicked()), this, SLOT(slotCreatePlainTool()));
514 
-
515  connect(RectangleButton,SIGNAL(pressed()), this, SLOT(slotResetTools()));
-
516  connect(RectangleButton, SIGNAL(clicked()), this, SLOT(slotCreateRectangleTool()));
+
515  connect(PolygonButton,SIGNAL(pressed()), this, SLOT(slotResetTools()));
+
516  connect(PolygonButton, SIGNAL(clicked()), this, SLOT(slotCreatePolygonTool()));
517 
-
518  actionSetWidth = new QAction(tr("&Set Width"),this);
-
519  actionSetWidth->setShortcut(QKeySequence(Qt::ALT + Qt::Key_W));
-
520  connect(actionSetWidth, SIGNAL(triggered()), this, SLOT(slotSetWidth()));
-
521 
-
522  actionSetInnerAlpha = new QAction(tr("&Set Inner Alpha"),this);
-
523  actionSetInnerAlpha->setShortcut(QKeySequence(Qt::ALT + Qt::Key_A));
-
524  connect(actionSetInnerAlpha, SIGNAL(triggered()), this, SLOT(slotSetInnerAlpha()));
-
525 }
-
526 
-
527 // Create the menubar
-
528 void IntelliPhotoGui::createMenus(){
-
529  // Create Save As option and the list of file types
-
530  saveAsMenu = new QMenu(tr("&Save As"), this);
-
531  foreach (QAction * action, actionSaveAs)
-
532  saveAsMenu->addAction(action);
-
533 
-
534  // Attach all actions to File
-
535  fileMenu = new QMenu(tr("&File"), this);
-
536  fileMenu->addAction(actionOpen);
-
537  fileMenu->addMenu(saveAsMenu);
-
538  fileMenu->addSeparator();
-
539  fileMenu->addAction(actionExit);
-
540 
-
541  //Attach all actions to Render Settings
-
542  renderMenu = new QMenu(tr("&Fast Renderer"), this);
-
543  renderMenu->addAction(actionUpdateRenderSettingsOn);
-
544  renderMenu->addAction(actionUpdateRenderSettingsOff);
-
545 
-
546  //Attach all Layer Creations to Menu
-
547  layerCreationMenu = new QMenu(tr("&Create new Layer"), this);
-
548  layerCreationMenu->addAction(actionCreateNewRasterLayer);
-
549  layerCreationMenu->addAction(actionCreateNewShapedLayer);
-
550  // Attach all actions to Layer
-
551  layerMenu = new QMenu(tr("&Layer"), this);
-
552  layerMenu->addMenu(layerCreationMenu);
-
553  layerMenu->addSeparator();
-
554  layerMenu->addAction(actionSetActiveAlpha);
-
555  layerMenu->addAction(actionSetActiveLayer);
-
556  layerMenu->addAction(actionSetPolygon);
-
557  layerMenu->addSeparator();
-
558  layerMenu->addAction(actionMovePositionUp);
-
559  layerMenu->addAction(actionMovePositionDown);
-
560  layerMenu->addAction(actionMovePositionLeft);
-
561  layerMenu->addAction(actionMovePositionRight);
-
562  layerMenu->addAction(actionMoveLayerUp);
-
563  layerMenu->addAction(actionMoveLayerDown);
-
564  layerMenu->addSeparator();
-
565  layerMenu->addAction(actionDeleteLayer);
-
566 
-
567  //Attach all Color Options
-
568  colorMenu = new QMenu(tr("&Color"), this);
-
569  colorMenu->addAction(actionColorPickerFirstColor);
-
570  colorMenu->addAction(actionColorPickerSecondColor);
-
571  colorMenu->addAction(actionColorSwap);
-
572 
-
573  //Attach all Tool Creation Actions
-
574  toolCreationMenu = new QMenu(tr("&Drawingtools"), this);
-
575  toolCreationMenu->addAction(actionCreateCircleTool);
-
576  toolCreationMenu->addAction(actionCreateFloodFillTool);
-
577  toolCreationMenu->addAction(actionCreateLineTool);
-
578  toolCreationMenu->addAction(actionCreatePenTool);
-
579  toolCreationMenu->addAction(actionCreatePlainTool);
-
580  toolCreationMenu->addAction(actionCreatePolygonTool);
-
581  toolCreationMenu->addAction(actionCreateRectangleTool);
-
582 
-
583  //Attach all Tool Setting Actions
-
584  toolSettingsMenu = new QMenu(tr("&Toolsettings"), this);
-
585  toolSettingsMenu->addAction(actionSetWidth);
-
586  toolSettingsMenu->addAction(actionSetInnerAlpha);
-
587 
-
588  //Attach all Tool Options
-
589  toolMenu = new QMenu(tr("&Tools"), this);
-
590  toolMenu->addMenu(toolCreationMenu);
-
591  toolMenu->addMenu(toolSettingsMenu);
-
592  toolMenu->addSeparator();
-
593  toolMenu->addMenu(colorMenu);
-
594 
-
595  // Attach all actions to Options
-
596  optionMenu = new QMenu(tr("&Options"), this);
-
597  optionMenu->addMenu(layerMenu);
-
598  optionMenu->addMenu(toolMenu);
-
599  optionMenu->addSeparator();
-
600  optionMenu->addMenu(renderMenu);
-
601  optionMenu->addAction(actionChangeDim);
-
602 
-
603  // Attach all actions to Help
-
604  helpMenu = new QMenu(tr("&Help"), this);
-
605  helpMenu->addAction(actionAboutDialog);
-
606  helpMenu->addAction(actionAboutQtDialog);
-
607 
-
608  // Add menu items to the menubar
-
609  menuBar()->addMenu(fileMenu);
-
610  menuBar()->addMenu(optionMenu);
-
611  menuBar()->addMenu(helpMenu);
-
612 }
-
613 
-
614 void IntelliPhotoGui::createGui(){
-
615  // create a central widget to work on
-
616  centralGuiWidget = new QWidget(this);
-
617  setCentralWidget(centralGuiWidget);
-
618 
-
619  // create the grid for the layout
-
620  mainLayout = new QGridLayout(centralGuiWidget);
-
621  centralGuiWidget->setLayout(mainLayout);
-
622 
-
623  // create Gui elements
-
624  // get and set max width and height
-
625  paintingArea = new PaintingArea(1280, 720);
-
626  paintingArea->DummyGui = this;
-
627 
-
628  preview = QPixmap(":/Icons/Buttons/icons/circle-tool.svg");
-
629  CircleButton = new QPushButton();
-
630  CircleButton->setFixedSize(Buttonsize);
-
631  CircleButton->setIcon(preview);
-
632  CircleButton->setIconSize(Buttonsize);
-
633  CircleButton->setCheckable(true);
-
634 
-
635  preview = QPixmap(":/Icons/Buttons/icons/flood-fill-tool.svg");
-
636  FloodFillButton = new QPushButton();
-
637  FloodFillButton->setFixedSize(Buttonsize);
-
638  FloodFillButton->setIcon(preview);
-
639  FloodFillButton->setIconSize(Buttonsize);
-
640  FloodFillButton->setCheckable(true);
-
641 
-
642  preview = QPixmap(":/Icons/Buttons/icons/line-tool.svg");
-
643  LineButton = new QPushButton();
-
644  LineButton->setFixedSize(Buttonsize);
-
645  LineButton->setIcon(preview);
-
646  LineButton->setIconSize(Buttonsize);
-
647  LineButton->setCheckable(true);
-
648 
-
649  preview = QPixmap(":/Icons/Buttons/icons/pen-tool.svg");
-
650  PenButton = new QPushButton();
-
651  PenButton->setFixedSize(Buttonsize);
-
652  PenButton->setIcon(preview);
-
653  PenButton->setIconSize(Buttonsize);
-
654  PenButton->setCheckable(true);
-
655 
-
656  preview = QPixmap(":/Icons/Buttons/icons/plain-tool.svg");
-
657  PlainButton = new QPushButton();
-
658  PlainButton->setFixedSize(Buttonsize);
-
659  PlainButton->setIcon(preview);
-
660  PlainButton->setIconSize(Buttonsize);
-
661  PlainButton->setCheckable(true);
-
662 
-
663  preview = QPixmap(":/Icons/Buttons/icons/polygon-tool.svg");
-
664  PolygonButton = new QPushButton();
-
665  PolygonButton->setFixedSize(Buttonsize);
-
666  PolygonButton->setIcon(preview);
-
667  PolygonButton->setIconSize(Buttonsize);
-
668  PolygonButton->setCheckable(true);
-
669 
-
670  preview = QPixmap(":/Icons/Buttons/icons/rectangle-tool.svg");
-
671  RectangleButton = new QPushButton();
-
672  RectangleButton->setFixedSize(Buttonsize);
-
673  RectangleButton->setIcon(preview);
-
674  RectangleButton->setIconSize(Buttonsize);
-
675  RectangleButton->setCheckable(true);
-
676 
-
677  WidthLine = new QLabel();
-
678  WidthLine->setText("Width");
-
679  WidthLine->setFixedSize(Buttonsize.width() * 2,(Buttonsize.height() * 2) / 3);
-
680 
-
681  EditLineWidth = new QLineEdit();
-
682  EditLineWidth->setFixedSize(Buttonsize.width() * 2,(Buttonsize.height() * 2) / 3);
-
683  EditLineWidth->setText("5");
-
684  ValidatorLineWidth = new QIntValidator();
-
685  ValidatorLineWidth->setTop(99);
-
686  ValidatorLineWidth->setBottom(1);
-
687  EditLineWidth->setValidator(ValidatorLineWidth);
-
688 
-
689  innerAlphaLine = new QLabel();
-
690  innerAlphaLine->setText("Inner Alpha");
-
691  innerAlphaLine->setFixedSize(Buttonsize.width() * 2,(Buttonsize.height() * 2) / 3);
-
692 
-
693  EditLineInnerAlpha = new QLineEdit();
-
694  EditLineInnerAlpha->setFixedSize(Buttonsize.width() * 2,(Buttonsize.height() * 2) / 3);
-
695  EditLineInnerAlpha->setText("255");
-
696  ValidatorInnerAlpha = new QIntValidator();
-
697  ValidatorInnerAlpha->setTop(999);
-
698  ValidatorInnerAlpha->setBottom(0);
-
699  EditLineInnerAlpha->setValidator(ValidatorInnerAlpha);
-
700 
-
701  FirstColorButton = new QPushButton();
-
702  FirstColorButton->setFixedSize(Buttonsize);
+
518  connect(RectangleButton,SIGNAL(pressed()), this, SLOT(slotResetTools()));
+
519  connect(RectangleButton, SIGNAL(clicked()), this, SLOT(slotCreateRectangleTool()));
+
520 
+
521  actionSetWidth = new QAction(tr("&Set Width"),this);
+
522  actionSetWidth->setShortcut(QKeySequence(Qt::ALT + Qt::Key_W));
+
523  connect(actionSetWidth, SIGNAL(triggered()), this, SLOT(slotSetWidth()));
+
524 
+
525  actionSetInnerAlpha = new QAction(tr("&Set Inner Alpha"),this);
+
526  actionSetInnerAlpha->setShortcut(QKeySequence(Qt::ALT + Qt::Key_A));
+
527  connect(actionSetInnerAlpha, SIGNAL(triggered()), this, SLOT(slotSetInnerAlpha()));
+
528 }
+
529 
+
530 // Create the menubar
+
531 void IntelliPhotoGui::createMenus(){
+
532  // Create Save As option and the list of file types
+
533  saveAsMenu = new QMenu(tr("&Save As"), this);
+
534  foreach (QAction * action, actionSaveAs)
+
535  saveAsMenu->addAction(action);
+
536 
+
537  // Attach all actions to File
+
538  fileMenu = new QMenu(tr("&File"), this);
+
539  fileMenu->addAction(actionOpen);
+
540  fileMenu->addMenu(saveAsMenu);
+
541  fileMenu->addSeparator();
+
542  fileMenu->addAction(actionExit);
+
543 
+
544  //Attach all actions to Render Settings
+
545  renderMenu = new QMenu(tr("&Fast Renderer"), this);
+
546  renderMenu->addAction(actionUpdateRenderSettingsOn);
+
547  renderMenu->addAction(actionUpdateRenderSettingsOff);
+
548 
+
549  //Attach all Layer Creations to Menu
+
550  layerCreationMenu = new QMenu(tr("&Create new Layer"), this);
+
551  layerCreationMenu->addAction(actionCreateNewRasterLayer);
+
552  layerCreationMenu->addAction(actionCreateNewShapedLayer);
+
553  // Attach all actions to Layer
+
554  layerMenu = new QMenu(tr("&Layer"), this);
+
555  layerMenu->addMenu(layerCreationMenu);
+
556  layerMenu->addSeparator();
+
557  layerMenu->addAction(actionSetActiveAlpha);
+
558  layerMenu->addAction(actionSetActiveLayer);
+
559  layerMenu->addAction(actionSetPolygon);
+
560  layerMenu->addSeparator();
+
561  layerMenu->addAction(actionMovePositionUp);
+
562  layerMenu->addAction(actionMovePositionDown);
+
563  layerMenu->addAction(actionMovePositionLeft);
+
564  layerMenu->addAction(actionMovePositionRight);
+
565  layerMenu->addAction(actionMoveLayerUp);
+
566  layerMenu->addAction(actionMoveLayerDown);
+
567  layerMenu->addSeparator();
+
568  layerMenu->addAction(actionDeleteLayer);
+
569 
+
570  //Attach all Color Options
+
571  colorMenu = new QMenu(tr("&Color"), this);
+
572  colorMenu->addAction(actionColorPickerFirstColor);
+
573  colorMenu->addAction(actionColorPickerSecondColor);
+
574  colorMenu->addAction(actionColorSwap);
+
575 
+
576  //Attach all Tool Creation Actions
+
577  toolCreationMenu = new QMenu(tr("&Drawingtools"), this);
+
578  toolCreationMenu->addAction(actionCreateCircleTool);
+
579  toolCreationMenu->addAction(actionCreateFloodFillTool);
+
580  toolCreationMenu->addAction(actionCreateLineTool);
+
581  toolCreationMenu->addAction(actionCreatePenTool);
+
582  toolCreationMenu->addAction(actionCreatePlainTool);
+
583  toolCreationMenu->addAction(actionCreatePolygonTool);
+
584  toolCreationMenu->addAction(actionCreateRectangleTool);
+
585 
+
586  //Attach all Tool Setting Actions
+
587  toolSettingsMenu = new QMenu(tr("&Toolsettings"), this);
+
588  toolSettingsMenu->addAction(actionSetWidth);
+
589  toolSettingsMenu->addAction(actionSetInnerAlpha);
+
590 
+
591  //Attach all Tool Options
+
592  toolMenu = new QMenu(tr("&Tools"), this);
+
593  toolMenu->addMenu(toolCreationMenu);
+
594  toolMenu->addMenu(toolSettingsMenu);
+
595  toolMenu->addSeparator();
+
596  toolMenu->addMenu(colorMenu);
+
597 
+
598  // Attach all actions to Options
+
599  optionMenu = new QMenu(tr("&Options"), this);
+
600  optionMenu->addMenu(layerMenu);
+
601  optionMenu->addMenu(toolMenu);
+
602  optionMenu->addSeparator();
+
603  optionMenu->addMenu(renderMenu);
+
604  optionMenu->addAction(actionChangeDim);
+
605 
+
606  // Attach all actions to Help
+
607  helpMenu = new QMenu(tr("&Help"), this);
+
608  helpMenu->addAction(actionAboutDialog);
+
609  helpMenu->addAction(actionAboutQtDialog);
+
610 
+
611  // Add menu items to the menubar
+
612  menuBar()->addMenu(fileMenu);
+
613  menuBar()->addMenu(optionMenu);
+
614  menuBar()->addMenu(helpMenu);
+
615 }
+
616 
+
617 void IntelliPhotoGui::createGui(){
+
618  // create a central widget to work on
+
619  centralGuiWidget = new QWidget(this);
+
620  setCentralWidget(centralGuiWidget);
+
621 
+
622  // create the grid for the layout
+
623  mainLayout = new QGridLayout(centralGuiWidget);
+
624  centralGuiWidget->setLayout(mainLayout);
+
625 
+
626  // create Gui elements
+
627  // get and set max width and height
+
628  paintingArea = new PaintingArea(1280, 720);
+
629  paintingArea->DummyGui = this;
+
630 
+
631  preview = QPixmap(":/Icons/Buttons/icons/circle-tool.svg");
+
632  CircleButton = new QPushButton();
+
633  CircleButton->setFixedSize(Buttonsize);
+
634  CircleButton->setIcon(preview);
+
635  CircleButton->setIconSize(Buttonsize);
+
636  CircleButton->setCheckable(true);
+
637 
+
638  preview = QPixmap(":/Icons/Buttons/icons/flood-fill-tool.svg");
+
639  FloodFillButton = new QPushButton();
+
640  FloodFillButton->setFixedSize(Buttonsize);
+
641  FloodFillButton->setIcon(preview);
+
642  FloodFillButton->setIconSize(Buttonsize);
+
643  FloodFillButton->setCheckable(true);
+
644 
+
645  preview = QPixmap(":/Icons/Buttons/icons/line-tool.svg");
+
646  LineButton = new QPushButton();
+
647  LineButton->setFixedSize(Buttonsize);
+
648  LineButton->setIcon(preview);
+
649  LineButton->setIconSize(Buttonsize);
+
650  LineButton->setCheckable(true);
+
651 
+
652  preview = QPixmap(":/Icons/Buttons/icons/pen-tool.svg");
+
653  PenButton = new QPushButton();
+
654  PenButton->setFixedSize(Buttonsize);
+
655  PenButton->setIcon(preview);
+
656  PenButton->setIconSize(Buttonsize);
+
657  PenButton->setCheckable(true);
+
658 
+
659  preview = QPixmap(":/Icons/Buttons/icons/plain-tool.svg");
+
660  PlainButton = new QPushButton();
+
661  PlainButton->setFixedSize(Buttonsize);
+
662  PlainButton->setIcon(preview);
+
663  PlainButton->setIconSize(Buttonsize);
+
664  PlainButton->setCheckable(true);
+
665 
+
666  preview = QPixmap(":/Icons/Buttons/icons/polygon-tool.svg");
+
667  PolygonButton = new QPushButton();
+
668  PolygonButton->setFixedSize(Buttonsize);
+
669  PolygonButton->setIcon(preview);
+
670  PolygonButton->setIconSize(Buttonsize);
+
671  PolygonButton->setCheckable(true);
+
672 
+
673  preview = QPixmap(":/Icons/Buttons/icons/rectangle-tool.svg");
+
674  RectangleButton = new QPushButton();
+
675  RectangleButton->setFixedSize(Buttonsize);
+
676  RectangleButton->setIcon(preview);
+
677  RectangleButton->setIconSize(Buttonsize);
+
678  RectangleButton->setCheckable(true);
+
679 
+
680  WidthLine = new QLabel();
+
681  WidthLine->setText("Width");
+
682  WidthLine->setFixedSize(Buttonsize.width() * 2,(Buttonsize.height() * 2) / 3);
+
683 
+
684  EditLineWidth = new QLineEdit();
+
685  EditLineWidth->setFixedSize(Buttonsize.width() * 2,(Buttonsize.height() * 2) / 3);
+
686  EditLineWidth->setText("5");
+
687  ValidatorLineWidth = new QIntValidator();
+
688  ValidatorLineWidth->setTop(99);
+
689  ValidatorLineWidth->setBottom(1);
+
690  EditLineWidth->setValidator(ValidatorLineWidth);
+
691 
+
692  innerAlphaLine = new QLabel();
+
693  innerAlphaLine->setText("Inner Alpha");
+
694  innerAlphaLine->setFixedSize(Buttonsize.width() * 2,(Buttonsize.height() * 2) / 3);
+
695 
+
696  EditLineInnerAlpha = new QLineEdit();
+
697  EditLineInnerAlpha->setFixedSize(Buttonsize.width() * 2,(Buttonsize.height() * 2) / 3);
+
698  EditLineInnerAlpha->setText("255");
+
699  ValidatorInnerAlpha = new QIntValidator();
+
700  ValidatorInnerAlpha->setTop(999);
+
701  ValidatorInnerAlpha->setBottom(0);
+
702  EditLineInnerAlpha->setValidator(ValidatorInnerAlpha);
703 
-
704  SecondColorButton = new QPushButton();
-
705  SecondColorButton->setFixedSize(Buttonsize);
+
704  FirstColorButton = new QPushButton();
+
705  FirstColorButton->setFixedSize(Buttonsize);
706 
-
707  preview = QPixmap(":/Icons/Buttons/icons/Wechselpfeile.png");
-
708  SwitchColorButton = new QPushButton();
-
709  SwitchColorButton->setFixedSize(Buttonsize.width() * 2,Buttonsize.height());
-
710  SwitchColorButton->setIcon(preview);
-
711  SwitchColorButton->setIconSize(QSize(Buttonsize.width() * 2,Buttonsize.height()));
-
712 
-
713  ActiveLayerLine = new QLabel();
-
714  QString string = QString("Active Layer: %1").arg(paintingArea->getNumberOfActiveLayer() + 1);
-
715  ActiveLayerLine->setText(string);
-
716  ActiveLayerLine->setFixedSize(Buttonsize.width() * 2 + 10,(Buttonsize.height() * 2) / 3);
-
717 
-
718  IntelliImage* activePicture = paintingArea->getImageOfActiveLayer();
-
719  if(activePicture) {
-
720  preview = preview.fromImage(activePicture->getImageData());
-
721  }else{
-
722  QImage tmp(1,1,QImage::Format_ARGB32);
-
723  tmp.fill(Qt::transparent);
-
724  preview = preview.fromImage(tmp);
-
725  }
-
726 
-
727  ActiveLayerImageLabel = new QLabel();
-
728  ActiveLayerImageLabel->setFixedSize(Buttonsize * 2);
-
729  ActiveLayerImageLabel->setPixmap(preview.scaled(Buttonsize * 2));
-
730 
-
731  dimActive = new QPushButton();
-
732  dimActive->setFixedSize(Buttonsize.width() * 2,Buttonsize.height() / 2);
-
733  dimActive->setText("0x0");
-
734 
-
735  dimCanvas = new QPushButton();
-
736  dimCanvas->setFixedSize(Buttonsize.width() * 2,Buttonsize.height() / 2);
-
737  QString String = QString("%1x%2").arg(paintingArea->Canvas->width()).arg(paintingArea->Canvas->height());
-
738  dimCanvas->setText(String);
-
739 
-
740  // set gui elements
-
741  mainLayout->addWidget(paintingArea,1,1,20,1);
-
742  mainLayout->addWidget(CircleButton,1,2,1,1);
-
743  mainLayout->addWidget(FloodFillButton,1,3,1,1);
-
744  mainLayout->addWidget(LineButton,2,2,1,1);
-
745  mainLayout->addWidget(PenButton,2,3,1,1);
-
746  mainLayout->addWidget(PlainButton,3,2,1,1);
-
747  mainLayout->addWidget(PolygonButton,3,3,1,1);
-
748  mainLayout->addWidget(RectangleButton,4,2,1,1);
-
749  mainLayout->addWidget(WidthLine,5,2,1,2);
-
750  mainLayout->addWidget(EditLineWidth,6,2,1,2);
-
751  mainLayout->addWidget(innerAlphaLine,7,2,1,2);
-
752  mainLayout->addWidget(EditLineInnerAlpha,8,2,1,2);
-
753  mainLayout->addWidget(FirstColorButton,9,2,1,1);
-
754  mainLayout->addWidget(SecondColorButton,9,3,1,1);
-
755  mainLayout->addWidget(SwitchColorButton,10,2,1,2);
-
756  mainLayout->addWidget(ActiveLayerLine,11,2,1,2);
-
757  mainLayout->addWidget(ActiveLayerImageLabel,12,2,1,2);
-
758  mainLayout->addWidget(dimActive,13,2,1,2);
-
759  mainLayout->addWidget(dimCanvas,14,2,1,2);
-
760  mainLayout->setHorizontalSpacing(0);
-
761 }
-
762 
-
763 void IntelliPhotoGui::setIntelliStyle(){
-
764  // Set the title
-
765  setWindowTitle("IntelliPhoto Prototype");
-
766  // Set style sheet
-
767  this->setStyleSheet("color: white;" "background-color: rgb(64, 64, 64);" "selection-color: rgb(200, 10, 10);" "selection-background-color: rgb(64, 64, 64);");
-
768 
-
769  QString string = QString("background-color: %1").arg(paintingArea->colorPicker.getFirstColor().name());
-
770  FirstColorButton->setStyleSheet(string);
-
771  string = QString("background-color: %1").arg(paintingArea->colorPicker.getSecondColor().name());
-
772  SecondColorButton->setStyleSheet(string);
-
773 }
-
774 
-
775 bool IntelliPhotoGui::maybeSave(){
-
776  // Check for changes since last save
+
707  SecondColorButton = new QPushButton();
+
708  SecondColorButton->setFixedSize(Buttonsize);
+
709 
+
710  preview = QPixmap(":/Icons/Buttons/icons/Wechselpfeile.png");
+
711  SwitchColorButton = new QPushButton();
+
712  SwitchColorButton->setFixedSize(Buttonsize.width() * 2,Buttonsize.height());
+
713  SwitchColorButton->setIcon(preview);
+
714  SwitchColorButton->setIconSize(QSize(Buttonsize.width() * 2,Buttonsize.height()));
+
715 
+
716  ActiveLayerLine = new QLabel();
+
717  QString string = QString("Active Layer: %1").arg(paintingArea->getNumberOfActiveLayer() + 1);
+
718  ActiveLayerLine->setText(string);
+
719  ActiveLayerLine->setFixedSize(Buttonsize.width() * 2 + 10,(Buttonsize.height() * 2) / 3);
+
720 
+
721  IntelliImage* activePicture = paintingArea->getImageOfActiveLayer();
+
722  if(activePicture) {
+
723  preview = preview.fromImage(activePicture->getImageData());
+
724  }else{
+
725  QImage tmp(1,1,QImage::Format_ARGB32);
+
726  tmp.fill(Qt::transparent);
+
727  preview = preview.fromImage(tmp);
+
728  }
+
729 
+
730  ActiveLayerImageLabel = new QLabel();
+
731  ActiveLayerImageLabel->setFixedSize(Buttonsize * 2);
+
732  ActiveLayerImageLabel->setPixmap(preview.scaled(Buttonsize * 2));
+
733 
+
734  dimActive = new QPushButton();
+
735  dimActive->setFixedSize(Buttonsize.width() * 2,Buttonsize.height() / 2);
+
736  dimActive->setText("0x0");
+
737 
+
738  dimCanvas = new QPushButton();
+
739  dimCanvas->setFixedSize(Buttonsize.width() * 2,Buttonsize.height() / 2);
+
740  QString String = QString("%1x%2").arg(paintingArea->Canvas->width()).arg(paintingArea->Canvas->height());
+
741  dimCanvas->setText(String);
+
742 
+
743  // set gui elements
+
744  mainLayout->addWidget(paintingArea,1,1,20,1);
+
745  mainLayout->addWidget(CircleButton,1,2,1,1);
+
746  mainLayout->addWidget(FloodFillButton,1,3,1,1);
+
747  mainLayout->addWidget(LineButton,2,2,1,1);
+
748  mainLayout->addWidget(PenButton,2,3,1,1);
+
749  mainLayout->addWidget(PlainButton,3,2,1,1);
+
750  mainLayout->addWidget(PolygonButton,3,3,1,1);
+
751  mainLayout->addWidget(RectangleButton,4,2,1,1);
+
752  mainLayout->addWidget(WidthLine,5,2,1,2);
+
753  mainLayout->addWidget(EditLineWidth,6,2,1,2);
+
754  mainLayout->addWidget(innerAlphaLine,7,2,1,2);
+
755  mainLayout->addWidget(EditLineInnerAlpha,8,2,1,2);
+
756  mainLayout->addWidget(FirstColorButton,9,2,1,1);
+
757  mainLayout->addWidget(SecondColorButton,9,3,1,1);
+
758  mainLayout->addWidget(SwitchColorButton,10,2,1,2);
+
759  mainLayout->addWidget(ActiveLayerLine,11,2,1,2);
+
760  mainLayout->addWidget(ActiveLayerImageLabel,12,2,1,2);
+
761  mainLayout->addWidget(dimActive,13,2,1,2);
+
762  mainLayout->addWidget(dimCanvas,14,2,1,2);
+
763  mainLayout->setHorizontalSpacing(0);
+
764 }
+
765 
+
766 void IntelliPhotoGui::setIntelliStyle(){
+
767  // Set the title
+
768  setWindowTitle("IntelliPhoto Prototype");
+
769  // Set style sheet
+
770  this->setStyleSheet("color: white;" "background-color: rgb(64, 64, 64);" "selection-color: rgb(200, 10, 10);" "selection-background-color: rgb(64, 64, 64);");
+
771 
+
772  QString string = QString("background-color: %1").arg(paintingArea->colorPicker.getFirstColor().name());
+
773  FirstColorButton->setStyleSheet(string);
+
774  string = QString("background-color: %1").arg(paintingArea->colorPicker.getSecondColor().name());
+
775  SecondColorButton->setStyleSheet(string);
+
776 }
777 
-
778  // TODO insert variable for modified status here to make an save exit message
-
779  if (false) {
-
780  QMessageBox::StandardButton ret;
-
781 
-
782  // Painting is the title of the window
-
783  // Add text and the buttons
-
784  ret = QMessageBox::warning(this, tr("Painting"),
-
785  tr("The image has been modified.\n"
-
786  "Do you want to save your changes?"),
-
787  QMessageBox::Save | QMessageBox::Discard
-
788  | QMessageBox::Cancel);
-
789 
-
790  // If save button clicked call for file to be saved
-
791  if (ret == QMessageBox::Save) {
-
792  return saveFile("png");
-
793 
-
794  // If cancel do nothing
-
795  } else if (ret == QMessageBox::Cancel) {
-
796  return false;
-
797  }
+
778 bool IntelliPhotoGui::maybeSave(){
+
779  // Check for changes since last save
+
780 #ifdef QT_NO_DEBUG
+
781  QMessageBox::StandardButton ret;
+
782 
+
783  // Painting is the title of the window
+
784  // Add text and the buttons
+
785  ret = QMessageBox::warning(this, tr("Painting"),
+
786  tr("The image has been modified.\n"
+
787  "Do you want to save your changes?"),
+
788  QMessageBox::Save | QMessageBox::Discard
+
789  | QMessageBox::Cancel);
+
790 
+
791  // If save button clicked call for file to be saved
+
792  if (ret == QMessageBox::Save) {
+
793  return saveFile("png");
+
794 
+
795  // If cancel do nothing
+
796  } else if (ret == QMessageBox::Cancel) {
+
797  return false;
798  }
-
799  return true;
-
800 }
-
801 
-
802 bool IntelliPhotoGui::saveFile(const QByteArray &fileFormat){
-
803  // Define path, name and default file type
-
804  QString initialPath = QDir::currentPath() + "/untitled." + fileFormat;
-
805 
-
806  // Get selected file from dialog
-
807  // Add the proper file formats and extensions
-
808  QString fileName = QFileDialog::getSaveFileName(this, tr("Save As"),
-
809  initialPath,
-
810  tr("%1 Files (*.%2);;All Files (*)")
-
811  .arg(QString::fromLatin1(fileFormat.toUpper()))
-
812  .arg(QString::fromLatin1(fileFormat)), nullptr, QFileDialog::DontUseNativeDialog);
-
813 
-
814  // If no file do nothing
-
815  if (fileName.isEmpty()) {
-
816  return false;
-
817  } else {
-
818  // Call for the file to be saved
-
819  return paintingArea->save(fileName, fileFormat.constData());
-
820  }
-
821 }
-
822 
-
823 void IntelliPhotoGui::setDefaultToolValue(){
-
824  slotEnterPressed();
-
825 }
-
826 
-
827 void IntelliPhotoGui::setToolWidth(int value){
-
828  if(value < 1) {
-
829  value = 1;
-
830  }else if(value > 50) {
-
831  value = 50;
-
832  }
-
833  EditLineWidth->setText(QString("%1").arg(value));
-
834 }
-
835 
-
836 void IntelliPhotoGui::UpdateGui(){
-
837  QString string = QString("Active Layer: %1").arg(paintingArea->getNumberOfActiveLayer() + 1);
-
838  ActiveLayerLine->setText(string);
-
839 
-
840  IntelliImage* activePicture = paintingArea->getImageOfActiveLayer();
-
841  if(activePicture) {
-
842  preview = preview.fromImage(activePicture->getImageData());
-
843  }else{
-
844  QImage tmp(1,1,QImage::Format_ARGB32);
-
845  tmp.fill(Qt::transparent);
-
846  preview = preview.fromImage(tmp);
-
847  }
-
848  ActiveLayerImageLabel->setPixmap(preview.scaled(Buttonsize * 2));
-
849 
-
850  string = QString("background-color: %1").arg(paintingArea->colorPicker.getFirstColor().name());
-
851  FirstColorButton->setStyleSheet(string);
-
852  string = QString("background-color: %1").arg(paintingArea->colorPicker.getSecondColor().name());
-
853  SecondColorButton->setStyleSheet(string);
-
854 
-
855  string = QString("%1x%2").arg(paintingArea->Canvas->width()).arg(paintingArea->Canvas->height());
-
856  dimCanvas->setText(string);
-
857 
-
858  if(paintingArea->layerBundle.size() != 0) {
-
859  string = QString("%1x%2").arg(paintingArea->layerBundle[static_cast<unsigned long long>(paintingArea->getNumberOfActiveLayer())].width).arg(paintingArea->layerBundle[static_cast<unsigned long long>(paintingArea->getNumberOfActiveLayer())].height);
-
860  dimActive->setText(string);
-
861  }
-
862  else{
-
863  dimActive->setText("0x0");
+
799 #endif
+
800  return true;
+
801 }
+
802 
+
803 bool IntelliPhotoGui::saveFile(const QByteArray &fileFormat){
+
804  // Define path, name and default file type
+
805  QString initialPath = QDir::currentPath() + "/untitled." + fileFormat;
+
806 
+
807  // Get selected file from dialog
+
808  // Add the proper file formats and extensions
+
809  QString fileName = QFileDialog::getSaveFileName(this, tr("Save As"),
+
810  initialPath,
+
811  tr("%1 Files (*.%2);;All Files (*)")
+
812  .arg(QString::fromLatin1(fileFormat.toUpper()))
+
813  .arg(QString::fromLatin1(fileFormat)), nullptr, QFileDialog::DontUseNativeDialog);
+
814 
+
815  // If no file do nothing
+
816  if (fileName.isEmpty()) {
+
817  return false;
+
818  } else {
+
819  // Call for the file to be saved
+
820  return paintingArea->save(fileName, fileFormat.constData());
+
821  }
+
822 }
+
823 
+
824 void IntelliPhotoGui::setDefaultToolValue(){
+
825  slotEnterPressed();
+
826 }
+
827 
+
828 void IntelliPhotoGui::setToolWidth(int value){
+
829  if(value < 1) {
+
830  value = 1;
+
831  }else if(value > 50) {
+
832  value = 50;
+
833  }
+
834  EditLineWidth->setText(QString("%1").arg(value));
+
835 }
+
836 
+
837 void IntelliPhotoGui::UpdateGui(){
+
838  QString string = QString("Active Layer: %1").arg(paintingArea->getNumberOfActiveLayer() + 1);
+
839  ActiveLayerLine->setText(string);
+
840 
+
841  IntelliImage* activePicture = paintingArea->getImageOfActiveLayer();
+
842  if(activePicture) {
+
843  preview = preview.fromImage(activePicture->getImageData());
+
844  }else{
+
845  QImage tmp(1,1,QImage::Format_ARGB32);
+
846  tmp.fill(Qt::transparent);
+
847  preview = preview.fromImage(tmp);
+
848  }
+
849  ActiveLayerImageLabel->setPixmap(preview.scaled(Buttonsize * 2));
+
850 
+
851  string = QString("background-color: %1").arg(paintingArea->colorPicker.getFirstColor().name());
+
852  FirstColorButton->setStyleSheet(string);
+
853  string = QString("background-color: %1").arg(paintingArea->colorPicker.getSecondColor().name());
+
854  SecondColorButton->setStyleSheet(string);
+
855 
+
856  string = QString("%1x%2").arg(paintingArea->Canvas->width()).arg(paintingArea->Canvas->height());
+
857  dimCanvas->setText(string);
+
858 
+
859  if(paintingArea->layerBundle.size() != 0) {
+
860  string = QString("%1x%2").arg(paintingArea->layerBundle[static_cast<size_t>
+
861  (paintingArea->getNumberOfActiveLayer())].width).arg(paintingArea->layerBundle[static_cast<size_t>
+
862  (paintingArea->getNumberOfActiveLayer())].height);
+
863  dimActive->setText(string);
864  }
-
865 }
+
865  else{
+
866  dimActive->setText("0x0");
+
867  }
+
868 }
PaintingArea::createCircleTool
void createCircleTool()
Definition: PaintingArea.cpp:221
+
IntelliColorPicker::getFirstColor
QColor getFirstColor() const
A function to read the primary selected color.
Definition: IntelliColorPicker.cpp:15
PaintingArea::setRenderSettings
void setRenderSettings(bool isFastRenderingOn)
setRenderSettings updates all Images to the new Rendersetting.
Definition: PaintingArea.cpp:34
PaintingArea::getImageOfActiveLayer
IntelliImage * getImageOfActiveLayer()
Definition: PaintingArea.cpp:416
PaintingArea::createRectangleTool
void createRectangleTool()
Definition: PaintingArea.cpp:216
@@ -963,11 +967,11 @@ $(document).ready(function(){initNavTree('_intelli_photo_gui_8cpp_source.html','
PaintingArea::setLayerActive
void setLayerActive(int idx)
The setLayerToActive method marks a specific layer as active.
Definition: PaintingArea.cpp:103
PaintingArea::getMaxHeight
int getMaxHeight()
Definition: PaintingArea.cpp:247
PaintingArea::deleteLayer
void deleteLayer(int idx, bool isTool=false)
The deleteLayer method removes a layer at a given idx.
Definition: PaintingArea.cpp:81
-
IntelliColorPicker::getSecondColor
QColor getSecondColor()
A function to read the secondary selected color.
Definition: IntelliColorPicker.cpp:19
PaintingArea::createPlainTool
void createPlainTool()
Definition: PaintingArea.cpp:206
-
IntelliPhotoGui::IntelliPhotoGui
IntelliPhotoGui()
The IntelliPhotoGui method is the constructor and is used to create a new instance of the main progra...
Definition: IntelliPhotoGui.cpp:7
+
IntelliPhotoGui::IntelliPhotoGui
IntelliPhotoGui()
The IntelliPhotoGui method is the constructor and is used to create a new instance of the main progra...
Definition: IntelliPhotoGui.cpp:10
PaintingArea
The PaintingArea class manages the methods and stores information about the current painting area,...
Definition: PaintingArea.h:53
PaintingArea::createPenTool
void createPenTool()
Definition: PaintingArea.cpp:201
+
IntelliColorPicker::getSecondColor
QColor getSecondColor() const
A function to read the secondary selected color.
Definition: IntelliColorPicker.cpp:19
PaintingArea::createLineTool
void createLineTool()
Definition: PaintingArea.cpp:211
PaintingArea::colorPickerSetSecondColor
void colorPickerSetSecondColor()
The colorPickerSetSecondColor calls the QTColorPicker to determine the secondary drawing color.
Definition: PaintingArea.cpp:192
PaintingArea::colorPickerSetFirstColor
void colorPickerSetFirstColor()
The colorPickerSetFirstColor calls the QTColorPicker to determine the primary drawing color.
Definition: PaintingArea.cpp:187
@@ -975,18 +979,17 @@ $(document).ready(function(){initNavTree('_intelli_photo_gui_8cpp_source.html','
IntelliPhotoGui.h
PaintingArea::getNumberOfActiveLayer
int getNumberOfActiveLayer()
Definition: PaintingArea.cpp:412
IntelliImage::ImageType::SHAPEDIMAGE
@ SHAPEDIMAGE
-
IntelliPhotoGui::closeEvent
void closeEvent(QCloseEvent *event) override
The closeEvent function handles closing events.
Definition: IntelliPhotoGui.cpp:23
+
IntelliPhotoGui::closeEvent
void closeEvent(QCloseEvent *event) override
The closeEvent function handles closing events.
Definition: IntelliPhotoGui.cpp:26
IntelliImage::getImageData
virtual QImage getImageData()
getImageData returns the data of the current image (Note: It will allways return a ARGB32bit QImage!...
Definition: IntelliImage.cpp:134
-
IntelliPhotoGui::setToolWidth
void setToolWidth(int value)
Definition: IntelliPhotoGui.cpp:827
+
IntelliPhotoGui::setToolWidth
void setToolWidth(int value)
Definition: IntelliPhotoGui.cpp:828
PaintingArea::open
bool open(const QString &filePath)
The open method is used for loading a picture into the current layer.
Definition: PaintingArea.cpp:129
PaintingArea::createPolygonTool
void createPolygonTool()
Definition: PaintingArea.cpp:225
PaintingArea::moveActiveLayer
void moveActiveLayer(int idx)
The moveActiveLayer moves the active layer to a specific position in the layer stack.
Definition: PaintingArea.cpp:170
PaintingArea::colorPicker
IntelliColorPicker colorPicker
Definition: PaintingArea.h:202
PaintingArea.h
-
IntelliColorPicker::getFirstColor
QColor getFirstColor()
A function to read the primary selected color.
Definition: IntelliColorPicker.cpp:15
PaintingArea::createFloodFillTool
void createFloodFillTool()
Definition: PaintingArea.cpp:230
IntelliToolsettings::setInnerAlpha
void setInnerAlpha(int innerAlpha)
Definition: IntelliToolsettings.cpp:32
-
IntelliPhotoGui::UpdateGui
void UpdateGui()
Definition: IntelliPhotoGui.cpp:836
+
IntelliPhotoGui::UpdateGui
void UpdateGui()
Definition: IntelliPhotoGui.cpp:837
IntelliImage::ImageType::RASTERIMAGE
@ RASTERIMAGE
PaintingArea::Toolsettings
IntelliToolsettings Toolsettings
Definition: PaintingArea.h:201
PaintingArea::setPolygon
void setPolygon(int idx)
setPolygon is used for setting polygondata, it only works on RASTER images
Definition: PaintingArea.cpp:117
diff --git a/docs/html/_intelli_photo_gui_8h_source.html b/docs/html/_intelli_photo_gui_8h_source.html index e75e8b8..5a4d433 100644 --- a/docs/html/_intelli_photo_gui_8h_source.html +++ b/docs/html/_intelli_photo_gui_8h_source.html @@ -290,13 +290,13 @@ $(document).ready(function(){initNavTree('_intelli_photo_gui_8h_source.html','')
IntelliInputDialog.h
IntelliPhotoGui
The IntelliPhotoGui base class handles the graphical user interface and events for the intelliPhoto p...
Definition: IntelliPhotoGui.h:32
-
IntelliPhotoGui::IntelliPhotoGui
IntelliPhotoGui()
The IntelliPhotoGui method is the constructor and is used to create a new instance of the main progra...
Definition: IntelliPhotoGui.cpp:7
+
IntelliPhotoGui::IntelliPhotoGui
IntelliPhotoGui()
The IntelliPhotoGui method is the constructor and is used to create a new instance of the main progra...
Definition: IntelliPhotoGui.cpp:10
PaintingArea
The PaintingArea class manages the methods and stores information about the current painting area,...
Definition: PaintingArea.h:53
IntelliTool
An abstract class that manages the basic events, like mouse clicks or scrolls events.
Definition: IntelliTool.h:17
-
IntelliPhotoGui::closeEvent
void closeEvent(QCloseEvent *event) override
The closeEvent function handles closing events.
Definition: IntelliPhotoGui.cpp:23
-
IntelliPhotoGui::setToolWidth
void setToolWidth(int value)
Definition: IntelliPhotoGui.cpp:827
+
IntelliPhotoGui::closeEvent
void closeEvent(QCloseEvent *event) override
The closeEvent function handles closing events.
Definition: IntelliPhotoGui.cpp:26
+
IntelliPhotoGui::setToolWidth
void setToolWidth(int value)
Definition: IntelliPhotoGui.cpp:828
IntelliColorPicker
The IntelliColorPicker manages the selected colors for one whole project.
Definition: IntelliColorPicker.h:14
-
IntelliPhotoGui::UpdateGui
void UpdateGui()
Definition: IntelliPhotoGui.cpp:836
+
IntelliPhotoGui::UpdateGui
void UpdateGui()
Definition: IntelliPhotoGui.cpp:837
UnitTest
Definition: mainUnitTest.cpp:8
+
IntelliRenderSettings::isFastRenderering
bool isFastRenderering() const
The getfastRenderer gets the value of the flag for the fastRenderer setting.
Definition: IntelliRenderSettings.cpp:12
IntelliRenderSettings.h
-
IntelliRenderSettings::isFastRenderering
bool isFastRenderering()
The getfastRenderer gets the value of the flag for the fastRenderer setting.
Definition: IntelliRenderSettings.cpp:12
IntelliRenderSettings::setFastRendering
void setFastRendering(bool Updatedsetting)
setFastRendering sets fastRendering to Updatedsetting.
Definition: IntelliRenderSettings.cpp:8
IntelliRenderSettings::IntelliRenderSettings
IntelliRenderSettings()
Definition: IntelliRenderSettings.cpp:3
diff --git a/docs/html/_intelli_render_settings_8h_source.html b/docs/html/_intelli_render_settings_8h_source.html index 0ec563e..6f1d440 100644 --- a/docs/html/_intelli_render_settings_8h_source.html +++ b/docs/html/_intelli_render_settings_8h_source.html @@ -100,7 +100,7 @@ $(document).ready(function(){initNavTree('_intelli_render_settings_8h_source.htm
12 IntelliRenderSettings();
13 
18 void setFastRendering(bool Updatedsetting);
-
23 bool isFastRenderering();
+
23 bool isFastRenderering() const;
24 
25 private:
26 bool fastRenderering = true;
@@ -109,8 +109,8 @@ $(document).ready(function(){initNavTree('_intelli_render_settings_8h_source.htm
29 #endif
+
IntelliRenderSettings::isFastRenderering
bool isFastRenderering() const
The getfastRenderer gets the value of the flag for the fastRenderer setting.
Definition: IntelliRenderSettings.cpp:12
IntelliRenderSettings
Definition: IntelliRenderSettings.h:8
-
IntelliRenderSettings::isFastRenderering
bool isFastRenderering()
The getfastRenderer gets the value of the flag for the fastRenderer setting.
Definition: IntelliRenderSettings.cpp:12
IntelliRenderSettings::setFastRendering
void setFastRendering(bool Updatedsetting)
setFastRendering sets fastRendering to Updatedsetting.
Definition: IntelliRenderSettings.cpp:8
UnitTest
Definition: mainUnitTest.cpp:8
IntelliRenderSettings::IntelliRenderSettings
IntelliRenderSettings()
Definition: IntelliRenderSettings.cpp:3
diff --git a/docs/html/_intelli_tool_8cpp_source.html b/docs/html/_intelli_tool_8cpp_source.html index d82daad..3442d23 100644 --- a/docs/html/_intelli_tool_8cpp_source.html +++ b/docs/html/_intelli_tool_8cpp_source.html @@ -138,7 +138,7 @@ $(document).ready(function(){initNavTree('_intelli_tool_8cpp_source.html',''); i
50 
51 void IntelliTool::onWheelScrolled(int value){
52  //if needed for future general tasks implement in here
-
53  Area->DummyGui->setToolWidth(value + Toolsettings->getLineWidth());
+
53  Area->DummyGui->setToolWidth(value + Toolsettings->getLineWidth());
54 }
55 
56 bool IntelliTool::createToolLayer(){
@@ -184,21 +184,24 @@ $(document).ready(function(){initNavTree('_intelli_tool_8cpp_source.html',''); i
96  this->Canvas = nullptr;
97 }
98 
-
99 IntelliTool::Tooltype IntelliTool::getTooltype(){
+
99 IntelliTool::Tooltype IntelliTool::getTooltype() const {
100  return ActiveType;
101 }
102 
-
103 bool IntelliTool::getIsDrawing(){
+
103 bool IntelliTool::getIsDrawing() const {
104  return isDrawing;
105 }
IntelliTool::onMouseRightPressed
virtual void onMouseRightPressed(int x, int y)
A function managing the right click Pressed of a Mouse. Constructing the Canvas to draw on....
Definition: IntelliTool.cpp:18
IntelliTool::onMouseLeftReleased
virtual void onMouseLeftReleased(int x, int y)
A function managing the left click Released of a Mouse. Call this in child classes!
Definition: IntelliTool.cpp:36
+
IntelliToolsettings::getLineWidth
int getLineWidth() const
Definition: IntelliToolsettings.cpp:14
IntelliTool::colorPicker
IntelliColorPicker * colorPicker
A pointer to the IntelliColorPicker of the PaintingArea to interact with, and get the colors.
Definition: IntelliTool.h:57
IntelliTool.h
IntelliTool::onMouseLeftPressed
virtual void onMouseLeftPressed(int x, int y)
A function managing the left click Pressed of a Mouse. Resetting the current draw....
Definition: IntelliTool.cpp:29
+
IntelliTool::getIsDrawing
bool getIsDrawing() const
Definition: IntelliTool.cpp:103
IntelliTool::Toolsettings
IntelliToolsettings * Toolsettings
Definition: IntelliTool.h:59
+
IntelliTool::getTooltype
Tooltype getTooltype() const
Definition: IntelliTool.cpp:99
IntelliTool::Tooltype::NONE
@ NONE
PaintingArea::deleteLayer
void deleteLayer(int idx, bool isTool=false)
The deleteLayer method removes a layer at a given idx.
Definition: PaintingArea.cpp:81
IntelliTool::Area
PaintingArea * Area
A pointer to the general PaintingArea to interact with.
Definition: IntelliTool.h:50
@@ -208,22 +211,19 @@ $(document).ready(function(){initNavTree('_intelli_tool_8cpp_source.html',''); i
IntelliImage::getPolygonData
virtual std::vector< QPoint > getPolygonData()
A function that returns the Polygondata if existent.
Definition: IntelliImage.h:134
IntelliTool::onMouseRightReleased
virtual void onMouseRightReleased(int x, int y)
A function managing the right click Released of a Mouse. Merging the Canvas to Active....
Definition: IntelliTool.cpp:25
IntelliTool::activeLayer
LayerObject * activeLayer
A pointer to the underlying active Layer, do not work on this. This is used for data grabbing or prev...
Definition: IntelliTool.h:64
-
IntelliTool::getTooltype
Tooltype getTooltype()
Definition: IntelliTool.cpp:99
IntelliTool::Canvas
LayerObject * Canvas
A pointer to the drawing canvas of the tool, work on this.
Definition: IntelliTool.h:69
LayerObject::width
int width
width - Stores the width of a layer in pixels.
Definition: PaintingArea.h:31
IntelliImage::getImageData
virtual QImage getImageData()
getImageData returns the data of the current image (Note: It will allways return a ARGB32bit QImage!...
Definition: IntelliImage.cpp:134
IntelliImage::setImageData
virtual void setImageData(const QImage &newData)
setImageData overwrites the old imageData the new imageData.
Definition: IntelliImage.cpp:142
-
IntelliPhotoGui::setToolWidth
void setToolWidth(int value)
Definition: IntelliPhotoGui.cpp:827
-
IntelliTool::getIsDrawing
bool getIsDrawing()
Definition: IntelliTool.cpp:103
+
IntelliPhotoGui::setToolWidth
void setToolWidth(int value)
Definition: IntelliPhotoGui.cpp:828
PaintingArea.h
LayerObject::height
int height
height - Stores the height of a layer in pixels.
Definition: PaintingArea.h:35
IntelliTool::ActiveType
Tooltype ActiveType
Definition: IntelliTool.h:52
IntelliColorPicker
The IntelliColorPicker manages the selected colors for one whole project.
Definition: IntelliColorPicker.h:14
IntelliTool::IntelliTool
IntelliTool(PaintingArea *Area, IntelliColorPicker *colorPicker, IntelliToolsettings *Toolsettings)
A constructor setting the general Painting Area and colorPicker.
Definition: IntelliTool.cpp:4
-
IntelliPhotoGui::UpdateGui
void UpdateGui()
Definition: IntelliPhotoGui.cpp:836
+
IntelliPhotoGui::UpdateGui
void UpdateGui()
Definition: IntelliPhotoGui.cpp:837
IntelliImage::imageData
QImage imageData
The underlying image data.
Definition: IntelliImage.h:41
LayerObject::image
IntelliImage * image
image - Stores the imageData of the current LayerObject.
Definition: PaintingArea.h:27
-
IntelliToolsettings::getLineWidth
int getLineWidth()
Definition: IntelliToolsettings.cpp:14
IntelliTool::onMouseMoved
virtual void onMouseMoved(int x, int y)
A function managing the mouse moved event. Call this in child classes!
Definition: IntelliTool.cpp:46
IntelliImage::calculateVisiblity
virtual void calculateVisiblity()=0
An abstract function that calculates the visiblity of the Image data if needed.
IntelliTool::onWheelScrolled
virtual void onWheelScrolled(int value)
A function managing the scroll event. A positive value means scrolling outwards. Call this in child c...
Definition: IntelliTool.cpp:51
diff --git a/docs/html/_intelli_tool_8h_source.html b/docs/html/_intelli_tool_8h_source.html index 4ea26a9..bb77a09 100644 --- a/docs/html/_intelli_tool_8h_source.html +++ b/docs/html/_intelli_tool_8h_source.html @@ -150,9 +150,9 @@ $(document).ready(function(){initNavTree('_intelli_tool_8h_source.html',''); ini
122 
128 virtual void onMouseMoved(int x, int y);
129 
-
130 Tooltype getTooltype();
+
130 Tooltype getTooltype() const;
131 
-
132 bool getIsDrawing();
+
132 bool getIsDrawing() const;
133 
134 };
135 #endif
@@ -163,7 +163,9 @@ $(document).ready(function(){initNavTree('_intelli_tool_8h_source.html',''); ini
IntelliTool::onMouseLeftReleased
virtual void onMouseLeftReleased(int x, int y)
A function managing the left click Released of a Mouse. Call this in child classes!
Definition: IntelliTool.cpp:36
IntelliTool::colorPicker
IntelliColorPicker * colorPicker
A pointer to the IntelliColorPicker of the PaintingArea to interact with, and get the colors.
Definition: IntelliTool.h:57
IntelliTool::onMouseLeftPressed
virtual void onMouseLeftPressed(int x, int y)
A function managing the left click Pressed of a Mouse. Resetting the current draw....
Definition: IntelliTool.cpp:29
+
IntelliTool::getIsDrawing
bool getIsDrawing() const
Definition: IntelliTool.cpp:103
IntelliTool::Toolsettings
IntelliToolsettings * Toolsettings
Definition: IntelliTool.h:59
+
IntelliTool::getTooltype
Tooltype getTooltype() const
Definition: IntelliTool.cpp:99
IntelliTool::Tooltype::FLOODFILL
@ FLOODFILL
IntelliToolsettings.h
IntelliTool::Tooltype::NONE
@ NONE
@@ -177,10 +179,8 @@ $(document).ready(function(){initNavTree('_intelli_tool_8h_source.html',''); ini
IntelliTool::Tooltype::PLAIN
@ PLAIN
IntelliColorPicker.h
IntelliTool::Tooltype::POLYGON
@ POLYGON
-
IntelliTool::getTooltype
Tooltype getTooltype()
Definition: IntelliTool.cpp:99
IntelliTool::Canvas
LayerObject * Canvas
A pointer to the drawing canvas of the tool, work on this.
Definition: IntelliTool.h:69
IntelliTool
An abstract class that manages the basic events, like mouse clicks or scrolls events.
Definition: IntelliTool.h:17
-
IntelliTool::getIsDrawing
bool getIsDrawing()
Definition: IntelliTool.cpp:103
IntelliTool::ActiveType
Tooltype ActiveType
Definition: IntelliTool.h:52
IntelliColorPicker
The IntelliColorPicker manages the selected colors for one whole project.
Definition: IntelliColorPicker.h:14
IntelliTool::IntelliTool
IntelliTool(PaintingArea *Area, IntelliColorPicker *colorPicker, IntelliToolsettings *Toolsettings)
A constructor setting the general Painting Area and colorPicker.
Definition: IntelliTool.cpp:4
diff --git a/docs/html/_intelli_tool_circle_8cpp_source.html b/docs/html/_intelli_tool_circle_8cpp_source.html index 226fc56..7abbcc6 100644 --- a/docs/html/_intelli_tool_circle_8cpp_source.html +++ b/docs/html/_intelli_tool_circle_8cpp_source.html @@ -101,8 +101,8 @@ $(document).ready(function(){initNavTree('_intelli_tool_circle_8cpp_source.html'
13 }
14 
15 void IntelliToolCircle::drawCircle(int radius){
-
16  QColor inner = this->colorPicker->getSecondColor();
-
17  inner.setAlpha(Toolsettings->getInnerAlpha());
+
16  QColor inner = this->colorPicker->getSecondColor();
+
17  inner.setAlpha(Toolsettings->getInnerAlpha());
18  int yMinimum, yMaximum, xMinimum, xMaximum;
19  yMinimum = centerPoint.y() - radius;
20  yMaximum = centerPoint.y() + radius;
@@ -114,14 +114,14 @@ $(document).ready(function(){initNavTree('_intelli_tool_circle_8cpp_source.html'
26  }
27 
28  //TODO implement circle drawing algorithm bresenham
-
29  radius = static_cast<int>(radius + (Toolsettings->getLineWidth() / 2.));
+
29  radius = static_cast<int>(radius + (Toolsettings->getLineWidth() / 2.));
30  yMinimum = (centerPoint.y() - radius);
31  yMaximum = (centerPoint.y() + radius);
32  for(int i = yMinimum; i<=yMaximum; i++) {
33  xMinimum = static_cast<int>(centerPoint.x() - sqrt(pow(radius,2) - pow(i - centerPoint.y(),2)));
34  xMaximum = static_cast<int>(centerPoint.x() + sqrt(pow(radius,2) - pow(i - centerPoint.y(),2)));
-
35  this->Canvas->image->drawPoint(QPoint(xMinimum,i), colorPicker->getFirstColor(),Toolsettings->getLineWidth());
-
36  this->Canvas->image->drawPoint(QPoint(xMaximum,i), colorPicker->getFirstColor(),Toolsettings->getLineWidth());
+
35  this->Canvas->image->drawPoint(QPoint(xMinimum,i), colorPicker->getFirstColor(),Toolsettings->getLineWidth());
+
36  this->Canvas->image->drawPoint(QPoint(xMaximum,i), colorPicker->getFirstColor(),Toolsettings->getLineWidth());
37  }
38 
39  xMinimum = (centerPoint.x() - radius);
@@ -129,8 +129,8 @@ $(document).ready(function(){initNavTree('_intelli_tool_circle_8cpp_source.html'
41  for(int i = xMinimum; i<=xMaximum; i++) {
42  int yMin = static_cast<int>(centerPoint.y() - sqrt(pow(radius,2) - pow(i - centerPoint.x(),2)));
43  int yMax = static_cast<int>(centerPoint.y() + sqrt(pow(radius,2) - pow(i - centerPoint.x(),2)));
-
44  this->Canvas->image->drawPoint(QPoint(i, yMin), colorPicker->getFirstColor(),Toolsettings->getLineWidth());
-
45  this->Canvas->image->drawPoint(QPoint(i, yMax), colorPicker->getFirstColor(),Toolsettings->getLineWidth());
+
44  this->Canvas->image->drawPoint(QPoint(i, yMin), colorPicker->getFirstColor(),Toolsettings->getLineWidth());
+
45  this->Canvas->image->drawPoint(QPoint(i, yMax), colorPicker->getFirstColor(),Toolsettings->getLineWidth());
46  }
47 }
48 
@@ -158,7 +158,7 @@ $(document).ready(function(){initNavTree('_intelli_tool_circle_8cpp_source.html'
70 
71 void IntelliToolCircle::onWheelScrolled(int value){
72  IntelliTool::onWheelScrolled(value);
-
73  Toolsettings->setLineWidth(Toolsettings->getLineWidth() + value);
+
73  Toolsettings->setLineWidth(Toolsettings->getLineWidth() + value);
74 }
75 
76 void IntelliToolCircle::onMouseMoved(int x, int y){
@@ -174,17 +174,19 @@ $(document).ready(function(){initNavTree('_intelli_tool_circle_8cpp_source.html'
IntelliToolCircle::onMouseRightPressed
virtual void onMouseRightPressed(int x, int y) override
A function managing the right click pressed of a mouse. Clearing the canvas layer.
Definition: IntelliToolCircle.cpp:49
IntelliTool::onMouseRightPressed
virtual void onMouseRightPressed(int x, int y)
A function managing the right click Pressed of a Mouse. Constructing the Canvas to draw on....
Definition: IntelliTool.cpp:18
+
IntelliColorPicker::getFirstColor
QColor getFirstColor() const
A function to read the primary selected color.
Definition: IntelliColorPicker.cpp:15
IntelliTool::onMouseLeftReleased
virtual void onMouseLeftReleased(int x, int y)
A function managing the left click Released of a Mouse. Call this in child classes!
Definition: IntelliTool.cpp:36
+
IntelliToolsettings::getLineWidth
int getLineWidth() const
Definition: IntelliToolsettings.cpp:14
IntelliToolCircle::onMouseRightReleased
virtual void onMouseRightReleased(int x, int y) override
A function managing the right click released of a mouse.
Definition: IntelliToolCircle.cpp:53
IntelliTool::colorPicker
IntelliColorPicker * colorPicker
A pointer to the IntelliColorPicker of the PaintingArea to interact with, and get the colors.
Definition: IntelliTool.h:57
IntelliImage::drawLine
virtual void drawLine(const QPoint &p1, const QPoint &p2, const QColor &color, const int &penWidth)
A function that draws a line between two given points in a given color.
Definition: IntelliImage.cpp:96
IntelliToolCircle::onWheelScrolled
virtual void onWheelScrolled(int value) override
A function managing the scroll event. Changing the edge Width relative to value.
Definition: IntelliToolCircle.cpp:71
IntelliTool::onMouseLeftPressed
virtual void onMouseLeftPressed(int x, int y)
A function managing the left click Pressed of a Mouse. Resetting the current draw....
Definition: IntelliTool.cpp:29
IntelliTool::Toolsettings
IntelliToolsettings * Toolsettings
Definition: IntelliTool.h:59
-
IntelliColorPicker::getSecondColor
QColor getSecondColor()
A function to read the secondary selected color.
Definition: IntelliColorPicker.cpp:19
+
IntelliToolsettings::getInnerAlpha
int getInnerAlpha() const
Definition: IntelliToolsettings.cpp:28
PaintingArea
The PaintingArea class manages the methods and stores information about the current painting area,...
Definition: PaintingArea.h:53
IntelliTool::isDrawing
bool isDrawing
A flag checking if the user is currently drawing or not.
Definition: IntelliTool.h:74
-
IntelliToolsettings::getInnerAlpha
int getInnerAlpha()
Definition: IntelliToolsettings.cpp:28
+
IntelliColorPicker::getSecondColor
QColor getSecondColor() const
A function to read the secondary selected color.
Definition: IntelliColorPicker.cpp:19
IntelliImage::drawPoint
virtual void drawPoint(const QPoint &p1, const QColor &color, const int &penWidth)
A function that draws a point between on a given point in a given color.
Definition: IntelliImage.cpp:77
IntelliTool::onMouseRightReleased
virtual void onMouseRightReleased(int x, int y)
A function managing the right click Released of a Mouse. Merging the Canvas to Active....
Definition: IntelliTool.cpp:25
IntelliTool::Canvas
LayerObject * Canvas
A pointer to the drawing canvas of the tool, work on this.
Definition: IntelliTool.h:69
@@ -192,14 +194,12 @@ $(document).ready(function(){initNavTree('_intelli_tool_circle_8cpp_source.html'
IntelliToolCircle::~IntelliToolCircle
virtual ~IntelliToolCircle() override
A Destructor.
Definition: IntelliToolCircle.cpp:11
IntelliTool
An abstract class that manages the basic events, like mouse clicks or scrolls events.
Definition: IntelliTool.h:17
PaintingArea.h
-
IntelliColorPicker::getFirstColor
QColor getFirstColor()
A function to read the primary selected color.
Definition: IntelliColorPicker.cpp:15
IntelliTool::ActiveType
Tooltype ActiveType
Definition: IntelliTool.h:52
IntelliColorPicker
The IntelliColorPicker manages the selected colors for one whole project.
Definition: IntelliColorPicker.h:14
IntelliToolCircle::onMouseMoved
virtual void onMouseMoved(int x, int y) override
A function managing the mouse moved event. Draws a circle with radius of eulerian norm of mouse posit...
Definition: IntelliToolCircle.cpp:76
LayerObject::image
IntelliImage * image
image - Stores the imageData of the current LayerObject.
Definition: PaintingArea.h:27
IntelliToolCircle::onMouseLeftReleased
virtual void onMouseLeftReleased(int x, int y) override
A function managing the left click released of a mouse.
Definition: IntelliToolCircle.cpp:67
IntelliToolsettings::setLineWidth
void setLineWidth(int LineWidth)
Definition: IntelliToolsettings.cpp:18
-
IntelliToolsettings::getLineWidth
int getLineWidth()
Definition: IntelliToolsettings.cpp:14
IntelliTool::onMouseMoved
virtual void onMouseMoved(int x, int y)
A function managing the mouse moved event. Call this in child classes!
Definition: IntelliTool.cpp:46
IntelliImage::calculateVisiblity
virtual void calculateVisiblity()=0
An abstract function that calculates the visiblity of the Image data if needed.
IntelliTool::onWheelScrolled
virtual void onWheelScrolled(int value)
A function managing the scroll event. A positive value means scrolling outwards. Call this in child c...
Definition: IntelliTool.cpp:51
diff --git a/docs/html/_intelli_tool_flood_fill_8cpp_source.html b/docs/html/_intelli_tool_flood_fill_8cpp_source.html index ed19a8b..dcbec6c 100644 --- a/docs/html/_intelli_tool_flood_fill_8cpp_source.html +++ b/docs/html/_intelli_tool_flood_fill_8cpp_source.html @@ -121,7 +121,7 @@ $(document).ready(function(){initNavTree('_intelli_tool_flood_fill_8cpp_source.h
33  Q.push(start);
34 
35  QColor oldColor = this->activeLayer->image->getPixelColor(start);
-
36  QColor newColor = this->colorPicker->getFirstColor();
+
36  QColor newColor = this->colorPicker->getFirstColor();
37  if(newColor == oldColor) {
38  return;
39  }
@@ -172,6 +172,7 @@ $(document).ready(function(){initNavTree('_intelli_tool_flood_fill_8cpp_source.h
IntelliTool::onMouseRightPressed
virtual void onMouseRightPressed(int x, int y)
A function managing the right click Pressed of a Mouse. Constructing the Canvas to draw on....
Definition: IntelliTool.cpp:18
+
IntelliColorPicker::getFirstColor
QColor getFirstColor() const
A function to read the primary selected color.
Definition: IntelliColorPicker.cpp:15
IntelliTool::onMouseLeftReleased
virtual void onMouseLeftReleased(int x, int y)
A function managing the left click Released of a Mouse. Call this in child classes!
Definition: IntelliTool.cpp:36
IntelliTool::colorPicker
IntelliColorPicker * colorPicker
A pointer to the IntelliColorPicker of the PaintingArea to interact with, and get the colors.
Definition: IntelliTool.h:57
IntelliToolFloodFill::onMouseRightReleased
virtual void onMouseRightReleased(int x, int y) override
A function managing the right click released of a mouse.
Definition: IntelliToolFloodFill.cpp:21
@@ -192,7 +193,6 @@ $(document).ready(function(){initNavTree('_intelli_tool_flood_fill_8cpp_source.h
IntelliToolFloodFill::onMouseMoved
virtual void onMouseMoved(int x, int y) override
A function managing the mouse moved event.
Definition: IntelliToolFloodFill.cpp:81
IntelliTool
An abstract class that manages the basic events, like mouse clicks or scrolls events.
Definition: IntelliTool.h:17
PaintingArea.h
-
IntelliColorPicker::getFirstColor
QColor getFirstColor()
A function to read the primary selected color.
Definition: IntelliColorPicker.cpp:15
IntelliImage::getPixelColor
virtual QColor getPixelColor(QPoint &point)
A function that returns the pixelcolor at a certain point.
Definition: IntelliImage.cpp:126
LayerObject::height
int height
height - Stores the height of a layer in pixels.
Definition: PaintingArea.h:35
IntelliTool::ActiveType
Tooltype ActiveType
Definition: IntelliTool.h:52
diff --git a/docs/html/_intelli_tool_line_8cpp_source.html b/docs/html/_intelli_tool_line_8cpp_source.html index 1787628..1982683 100644 --- a/docs/html/_intelli_tool_line_8cpp_source.html +++ b/docs/html/_intelli_tool_line_8cpp_source.html @@ -111,7 +111,7 @@ $(document).ready(function(){initNavTree('_intelli_tool_line_8cpp_source.html','
23 void IntelliToolLine::onMouseLeftPressed(int x, int y){
24  IntelliTool::onMouseLeftPressed(x,y);
25  this->lineStartingPoint = QPoint(x,y);
-
26  this->Canvas->image->drawPoint(lineStartingPoint, colorPicker->getFirstColor(),Toolsettings->getLineWidth());
+
26  this->Canvas->image->drawPoint(lineStartingPoint, colorPicker->getFirstColor(),Toolsettings->getLineWidth());
27  Canvas->image->calculateVisiblity();
28 }
29 
@@ -121,21 +121,23 @@ $(document).ready(function(){initNavTree('_intelli_tool_line_8cpp_source.html','
33 
34 void IntelliToolLine::onWheelScrolled(int value){
35  IntelliTool::onWheelScrolled(value);
-
36  Toolsettings->setLineWidth(Toolsettings->getLineWidth() + value);
+
36  Toolsettings->setLineWidth(Toolsettings->getLineWidth() + value);
37 }
38 
39 void IntelliToolLine::onMouseMoved(int x, int y){
40  if(this->isDrawing) {
41  this->Canvas->image->drawPlain(Qt::transparent);
42  QPoint next(x,y);
-
43  this->Canvas->image->drawLine(lineStartingPoint,next,colorPicker->getFirstColor(),Toolsettings->getLineWidth());
+
43  this->Canvas->image->drawLine(lineStartingPoint,next,colorPicker->getFirstColor(),Toolsettings->getLineWidth());
44  }
45  IntelliTool::onMouseMoved(x,y);
46 }
IntelliTool::onMouseRightPressed
virtual void onMouseRightPressed(int x, int y)
A function managing the right click Pressed of a Mouse. Constructing the Canvas to draw on....
Definition: IntelliTool.cpp:18
+
IntelliColorPicker::getFirstColor
QColor getFirstColor() const
A function to read the primary selected color.
Definition: IntelliColorPicker.cpp:15
IntelliTool::onMouseLeftReleased
virtual void onMouseLeftReleased(int x, int y)
A function managing the left click Released of a Mouse. Call this in child classes!
Definition: IntelliTool.cpp:36
+
IntelliToolsettings::getLineWidth
int getLineWidth() const
Definition: IntelliToolsettings.cpp:14
IntelliTool::colorPicker
IntelliColorPicker * colorPicker
A pointer to the IntelliColorPicker of the PaintingArea to interact with, and get the colors.
Definition: IntelliTool.h:57
IntelliImage::drawLine
virtual void drawLine(const QPoint &p1, const QPoint &p2, const QColor &color, const int &penWidth)
A function that draws a line between two given points in a given color.
Definition: IntelliImage.cpp:96
IntelliTool::onMouseLeftPressed
virtual void onMouseLeftPressed(int x, int y)
A function managing the left click Pressed of a Mouse. Resetting the current draw....
Definition: IntelliTool.cpp:29
@@ -155,14 +157,12 @@ $(document).ready(function(){initNavTree('_intelli_tool_line_8cpp_source.html','
IntelliTool::Canvas
LayerObject * Canvas
A pointer to the drawing canvas of the tool, work on this.
Definition: IntelliTool.h:69
IntelliTool
An abstract class that manages the basic events, like mouse clicks or scrolls events.
Definition: IntelliTool.h:17
PaintingArea.h
-
IntelliColorPicker::getFirstColor
QColor getFirstColor()
A function to read the primary selected color.
Definition: IntelliColorPicker.cpp:15
IntelliTool::ActiveType
Tooltype ActiveType
Definition: IntelliTool.h:52
IntelliColorPicker
The IntelliColorPicker manages the selected colors for one whole project.
Definition: IntelliColorPicker.h:14
LayerObject::image
IntelliImage * image
image - Stores the imageData of the current LayerObject.
Definition: PaintingArea.h:27
IntelliToolLine::onMouseLeftPressed
virtual void onMouseLeftPressed(int x, int y) override
A function managing the left click pressed of a mouse. Sets the starting point of the line.
Definition: IntelliToolLine.cpp:23
IntelliTool::Tooltype::LINE
@ LINE
IntelliToolsettings::setLineWidth
void setLineWidth(int LineWidth)
Definition: IntelliToolsettings.cpp:18
-
IntelliToolsettings::getLineWidth
int getLineWidth()
Definition: IntelliToolsettings.cpp:14
IntelliTool::onMouseMoved
virtual void onMouseMoved(int x, int y)
A function managing the mouse moved event. Call this in child classes!
Definition: IntelliTool.cpp:46
IntelliImage::calculateVisiblity
virtual void calculateVisiblity()=0
An abstract function that calculates the visiblity of the Image data if needed.
IntelliTool::onWheelScrolled
virtual void onWheelScrolled(int value)
A function managing the scroll event. A positive value means scrolling outwards. Call this in child c...
Definition: IntelliTool.cpp:51
diff --git a/docs/html/_intelli_tool_pen_8cpp_source.html b/docs/html/_intelli_tool_pen_8cpp_source.html index 586fe43..8dbea6d 100644 --- a/docs/html/_intelli_tool_pen_8cpp_source.html +++ b/docs/html/_intelli_tool_pen_8cpp_source.html @@ -112,7 +112,7 @@ $(document).ready(function(){initNavTree('_intelli_tool_pen_8cpp_source.html',''
24 void IntelliToolPen::onMouseLeftPressed(int x, int y){
25  IntelliTool::onMouseLeftPressed(x,y);
26  this->previousPoint = QPoint(x,y);
-
27  this->Canvas->image->drawPoint(previousPoint, colorPicker->getFirstColor(), Toolsettings->getLineWidth());
+
27  this->Canvas->image->drawPoint(previousPoint, colorPicker->getFirstColor(), Toolsettings->getLineWidth());
28  Canvas->image->calculateVisiblity();
29 }
30 
@@ -123,7 +123,7 @@ $(document).ready(function(){initNavTree('_intelli_tool_pen_8cpp_source.html',''
35 void IntelliToolPen::onMouseMoved(int x, int y){
36  if(this->isDrawing) {
37  QPoint newPoint(x,y);
-
38  this->Canvas->image->drawLine(this->previousPoint, newPoint, colorPicker->getFirstColor(), Toolsettings->getLineWidth());
+
38  this->Canvas->image->drawLine(this->previousPoint, newPoint, colorPicker->getFirstColor(), Toolsettings->getLineWidth());
39  this->previousPoint = newPoint;
40  }
41  IntelliTool::onMouseMoved(x,y);
@@ -131,13 +131,15 @@ $(document).ready(function(){initNavTree('_intelli_tool_pen_8cpp_source.html',''
43 
44 void IntelliToolPen::onWheelScrolled(int value){
45  IntelliTool::onWheelScrolled(value);
-
46  Toolsettings->setLineWidth(Toolsettings->getLineWidth() + value);
+
46  Toolsettings->setLineWidth(Toolsettings->getLineWidth() + value);
47 }
IntelliTool::Tooltype::PEN
@ PEN
IntelliTool::onMouseRightPressed
virtual void onMouseRightPressed(int x, int y)
A function managing the right click Pressed of a Mouse. Constructing the Canvas to draw on....
Definition: IntelliTool.cpp:18
+
IntelliColorPicker::getFirstColor
QColor getFirstColor() const
A function to read the primary selected color.
Definition: IntelliColorPicker.cpp:15
IntelliTool::onMouseLeftReleased
virtual void onMouseLeftReleased(int x, int y)
A function managing the left click Released of a Mouse. Call this in child classes!
Definition: IntelliTool.cpp:36
+
IntelliToolsettings::getLineWidth
int getLineWidth() const
Definition: IntelliToolsettings.cpp:14
IntelliTool::colorPicker
IntelliColorPicker * colorPicker
A pointer to the IntelliColorPicker of the PaintingArea to interact with, and get the colors.
Definition: IntelliTool.h:57
IntelliImage::drawLine
virtual void drawLine(const QPoint &p1, const QPoint &p2, const QColor &color, const int &penWidth)
A function that draws a line between two given points in a given color.
Definition: IntelliImage.cpp:96
IntelliTool::onMouseLeftPressed
virtual void onMouseLeftPressed(int x, int y)
A function managing the left click Pressed of a Mouse. Resetting the current draw....
Definition: IntelliTool.cpp:29
@@ -155,13 +157,11 @@ $(document).ready(function(){initNavTree('_intelli_tool_pen_8cpp_source.html',''
IntelliTool
An abstract class that manages the basic events, like mouse clicks or scrolls events.
Definition: IntelliTool.h:17
IntelliToolPen::onMouseLeftReleased
virtual void onMouseLeftReleased(int x, int y) override
A function managing the left click released of a mouse. Merging the drawing to the active layer.
Definition: IntelliToolPen.cpp:31
PaintingArea.h
-
IntelliColorPicker::getFirstColor
QColor getFirstColor()
A function to read the primary selected color.
Definition: IntelliColorPicker.cpp:15
IntelliToolPen::IntelliToolPen
IntelliToolPen(PaintingArea *Area, IntelliColorPicker *colorPicker, IntelliToolsettings *Toolsettings)
A constructor setting the general paintingArea and colorPicker. Reading the penWidth.
Definition: IntelliToolPen.cpp:7
IntelliTool::ActiveType
Tooltype ActiveType
Definition: IntelliTool.h:52
IntelliColorPicker
The IntelliColorPicker manages the selected colors for one whole project.
Definition: IntelliColorPicker.h:14
LayerObject::image
IntelliImage * image
image - Stores the imageData of the current LayerObject.
Definition: PaintingArea.h:27
IntelliToolsettings::setLineWidth
void setLineWidth(int LineWidth)
Definition: IntelliToolsettings.cpp:18
-
IntelliToolsettings::getLineWidth
int getLineWidth()
Definition: IntelliToolsettings.cpp:14
IntelliToolPen.h
IntelliTool::onMouseMoved
virtual void onMouseMoved(int x, int y)
A function managing the mouse moved event. Call this in child classes!
Definition: IntelliTool.cpp:46
IntelliToolPen::onMouseLeftPressed
virtual void onMouseLeftPressed(int x, int y) override
A function managing the left click pressed of a mouse. Starting the drawing procedure.
Definition: IntelliToolPen.cpp:24
diff --git a/docs/html/_intelli_tool_plain_8cpp_source.html b/docs/html/_intelli_tool_plain_8cpp_source.html index 0d7c0fa..569c21b 100644 --- a/docs/html/_intelli_tool_plain_8cpp_source.html +++ b/docs/html/_intelli_tool_plain_8cpp_source.html @@ -101,7 +101,7 @@ $(document).ready(function(){initNavTree('_intelli_tool_plain_8cpp_source.html',
13 
14 void IntelliToolPlainTool::onMouseLeftPressed(int x, int y){
15  IntelliTool::onMouseLeftPressed(x,y);
-
16  this->Canvas->image->drawPlain(colorPicker->getFirstColor());
+
16  this->Canvas->image->drawPlain(colorPicker->getFirstColor());
17  Canvas->image->calculateVisiblity();
18 }
19 
@@ -127,6 +127,7 @@ $(document).ready(function(){initNavTree('_intelli_tool_plain_8cpp_source.html',
IntelliTool::onMouseRightPressed
virtual void onMouseRightPressed(int x, int y)
A function managing the right click Pressed of a Mouse. Constructing the Canvas to draw on....
Definition: IntelliTool.cpp:18
+
IntelliColorPicker::getFirstColor
QColor getFirstColor() const
A function to read the primary selected color.
Definition: IntelliColorPicker.cpp:15
IntelliTool::onMouseLeftReleased
virtual void onMouseLeftReleased(int x, int y)
A function managing the left click Released of a Mouse. Call this in child classes!
Definition: IntelliTool.cpp:36
IntelliTool::colorPicker
IntelliColorPicker * colorPicker
A pointer to the IntelliColorPicker of the PaintingArea to interact with, and get the colors.
Definition: IntelliTool.h:57
IntelliTool::onMouseLeftPressed
virtual void onMouseLeftPressed(int x, int y)
A function managing the left click Pressed of a Mouse. Resetting the current draw....
Definition: IntelliTool.cpp:29
@@ -141,7 +142,6 @@ $(document).ready(function(){initNavTree('_intelli_tool_plain_8cpp_source.html',
IntelliTool::Canvas
LayerObject * Canvas
A pointer to the drawing canvas of the tool, work on this.
Definition: IntelliTool.h:69
IntelliTool
An abstract class that manages the basic events, like mouse clicks or scrolls events.
Definition: IntelliTool.h:17
PaintingArea.h
-
IntelliColorPicker::getFirstColor
QColor getFirstColor()
A function to read the primary selected color.
Definition: IntelliColorPicker.cpp:15
IntelliTool::ActiveType
Tooltype ActiveType
Definition: IntelliTool.h:52
IntelliColorPicker
The IntelliColorPicker manages the selected colors for one whole project.
Definition: IntelliColorPicker.h:14
IntelliToolPlainTool::onMouseRightPressed
virtual void onMouseRightPressed(int x, int y) override
A function managing the right click pressed of a mouse. Resetting the current fill.
Definition: IntelliToolPlain.cpp:24
diff --git a/docs/html/_intelli_tool_polygon_8cpp_source.html b/docs/html/_intelli_tool_polygon_8cpp_source.html index 2c3d7b1..5c0af5b 100644 --- a/docs/html/_intelli_tool_polygon_8cpp_source.html +++ b/docs/html/_intelli_tool_polygon_8cpp_source.html @@ -136,7 +136,7 @@ $(document).ready(function(){initNavTree('_intelli_tool_polygon_8cpp_source.html
48  drawingOfPolygon = true;
49  QPointList.push_back(drawingPoint);
50 
-
51  this->Canvas->image->drawPoint(QPointList.back(), colorPicker->getFirstColor(), Toolsettings->getLineWidth());
+
51  this->Canvas->image->drawPoint(QPointList.back(), colorPicker->getFirstColor(), Toolsettings->getLineWidth());
52  if(!isSettingPolygon) {
53  this->Canvas->image->calculateVisiblity();
54  }
@@ -144,7 +144,7 @@ $(document).ready(function(){initNavTree('_intelli_tool_polygon_8cpp_source.html
56  else if(drawingOfPolygon && QPointList.size() > 0 && isNearStart(x,y,QPointList.front())) {
57  if(QPointList.size() > 2) {
58  isPointNearStart = true;
-
59  this->Canvas->image->drawLine(QPointList.back(), QPointList.front(), colorPicker->getFirstColor(), Toolsettings->getLineWidth());
+
59  this->Canvas->image->drawLine(QPointList.back(), QPointList.front(), colorPicker->getFirstColor(), Toolsettings->getLineWidth());
60  if(!isSettingPolygon) {
61  this->Canvas->image->calculateVisiblity();
62  }
@@ -161,7 +161,7 @@ $(document).ready(function(){initNavTree('_intelli_tool_polygon_8cpp_source.html
73  else if(drawingOfPolygon) {
74  QPoint drawingPoint(x,y);
75  QPointList.push_back(drawingPoint);
-
76  this->Canvas->image->drawLine(QPointList[QPointList.size() - 2], QPointList[QPointList.size() - 1], colorPicker->getFirstColor(), Toolsettings->getLineWidth());
+
76  this->Canvas->image->drawLine(QPointList[QPointList.size() - 2], QPointList[QPointList.size() - 1], colorPicker->getFirstColor(), Toolsettings->getLineWidth());
77  if(!isSettingPolygon) {
78  this->Canvas->image->calculateVisiblity();
79  }
@@ -184,8 +184,8 @@ $(document).ready(function(){initNavTree('_intelli_tool_polygon_8cpp_source.html
96  if(!isSettingPolygon) {
97  std::vector<Triangle> Triangles = IntelliTriangulation::calculateTriangles(QPointList);
98  QPoint Point;
-
99  QColor colorTwo(colorPicker->getSecondColor());
-
100  colorTwo.setAlpha(Toolsettings->getInnerAlpha());
+
99  QColor colorTwo(colorPicker->getSecondColor());
+
100  colorTwo.setAlpha(Toolsettings->getInnerAlpha());
101  for(int i = 0; i < activeLayer->width; i++) {
102  for(int j = 0; j < activeLayer->height; j++) {
103  Point = QPoint(i,j);
@@ -196,7 +196,7 @@ $(document).ready(function(){initNavTree('_intelli_tool_polygon_8cpp_source.html
108  }
109  for(int i = 0; i<static_cast<int>(QPointList.size()); i++) {
110  int next = static_cast<int>((i + static_cast<int>(1)) % static_cast<int>(QPointList.size()));
-
111  this->Canvas->image->drawLine(QPointList[static_cast<unsigned long long>(i)], QPointList[static_cast<unsigned long long>(next)], colorPicker->getFirstColor(), Toolsettings->getLineWidth());
+
111  this->Canvas->image->drawLine(QPointList[static_cast<unsigned long long>(i)], QPointList[static_cast<unsigned long long>(next)], colorPicker->getFirstColor(), Toolsettings->getLineWidth());
112  }
113 
114  }
@@ -217,7 +217,7 @@ $(document).ready(function(){initNavTree('_intelli_tool_polygon_8cpp_source.html
129  if(!isSettingPolygon) {
130  IntelliTool::onWheelScrolled(value);
131  if(!isDrawing) {
-
132  Toolsettings->setLineWidth(Toolsettings->getLineWidth() + value);
+
132  Toolsettings->setLineWidth(Toolsettings->getLineWidth() + value);
133  }
134  }
135 }
@@ -240,7 +240,9 @@ $(document).ready(function(){initNavTree('_intelli_tool_polygon_8cpp_source.html
IntelliTool::onMouseRightPressed
virtual void onMouseRightPressed(int x, int y)
A function managing the right click Pressed of a Mouse. Constructing the Canvas to draw on....
Definition: IntelliTool.cpp:18
+
IntelliColorPicker::getFirstColor
QColor getFirstColor() const
A function to read the primary selected color.
Definition: IntelliColorPicker.cpp:15
IntelliTool::onMouseLeftReleased
virtual void onMouseLeftReleased(int x, int y)
A function managing the left click Released of a Mouse. Call this in child classes!
Definition: IntelliTool.cpp:36
+
IntelliToolsettings::getLineWidth
int getLineWidth() const
Definition: IntelliToolsettings.cpp:14
IntelliTool::colorPicker
IntelliColorPicker * colorPicker
A pointer to the IntelliColorPicker of the PaintingArea to interact with, and get the colors.
Definition: IntelliTool.h:57
IntelliImage::drawLine
virtual void drawLine(const QPoint &p1, const QPoint &p2, const QColor &color, const int &penWidth)
A function that draws a line between two given points in a given color.
Definition: IntelliImage.cpp:96
IntelliToolPolygon.h
@@ -248,12 +250,12 @@ $(document).ready(function(){initNavTree('_intelli_tool_polygon_8cpp_source.html
IntelliTool::Toolsettings
IntelliToolsettings * Toolsettings
Definition: IntelliTool.h:59
IntelliImage::drawPixel
virtual void drawPixel(const QPoint &p1, const QColor &color)
A funtcion used to draw a pixel on the Image with the given Color.
Definition: IntelliImage.cpp:57
IntelliTriangulation::calculateTriangles
std::vector< Triangle > calculateTriangles(std::vector< QPoint > polyPoints)
A function to split a polygon in its spanning traingles by using Meisters Theorem of graph theory by ...
Definition: IntelliTriangulation.cpp:7
+
IntelliToolsettings::getInnerAlpha
int getInnerAlpha() const
Definition: IntelliToolsettings.cpp:28
IntelliTool::Area
PaintingArea * Area
A pointer to the general PaintingArea to interact with.
Definition: IntelliTool.h:50
-
IntelliColorPicker::getSecondColor
QColor getSecondColor()
A function to read the secondary selected color.
Definition: IntelliColorPicker.cpp:19
IntelliToolPolygon::onMouseMoved
virtual void onMouseMoved(int x, int y) override
A function managing the mouse moved event.
Definition: IntelliToolPolygon.cpp:137
PaintingArea
The PaintingArea class manages the methods and stores information about the current painting area,...
Definition: PaintingArea.h:53
IntelliTool::isDrawing
bool isDrawing
A flag checking if the user is currently drawing or not.
Definition: IntelliTool.h:74
-
IntelliToolsettings::getInnerAlpha
int getInnerAlpha()
Definition: IntelliToolsettings.cpp:28
+
IntelliColorPicker::getSecondColor
QColor getSecondColor() const
A function to read the secondary selected color.
Definition: IntelliColorPicker.cpp:19
IntelliImage::drawPoint
virtual void drawPoint(const QPoint &p1, const QColor &color, const int &penWidth)
A function that draws a point between on a given point in a given color.
Definition: IntelliImage.cpp:77
IntelliTool::onMouseRightReleased
virtual void onMouseRightReleased(int x, int y)
A function managing the right click Released of a Mouse. Merging the Canvas to Active....
Definition: IntelliTool.cpp:25
IntelliTool::activeLayer
LayerObject * activeLayer
A pointer to the underlying active Layer, do not work on this. This is used for data grabbing or prev...
Definition: IntelliTool.h:64
@@ -267,7 +269,6 @@ $(document).ready(function(){initNavTree('_intelli_tool_polygon_8cpp_source.html
IntelliImage::setImageData
virtual void setImageData(const QImage &newData)
setImageData overwrites the old imageData the new imageData.
Definition: IntelliImage.cpp:142
IntelliToolPolygon::onMouseRightPressed
virtual void onMouseRightPressed(int x, int y) override
A function managing the right click pressed of a mouse. Resetting the current fill.
Definition: IntelliToolPolygon.cpp:83
PaintingArea.h
-
IntelliColorPicker::getFirstColor
QColor getFirstColor()
A function to read the primary selected color.
Definition: IntelliColorPicker.cpp:15
LayerObject::height
int height
height - Stores the height of a layer in pixels.
Definition: PaintingArea.h:35
PaintingArea::getImageDataOfActiveLayer
QImage getImageDataOfActiveLayer()
getImageDataOfActiveLayer used to get the currents active imageData (if there isn't any active layer ...
Definition: PaintingArea.cpp:423
IntelliTool::ActiveType
Tooltype ActiveType
Definition: IntelliTool.h:52
@@ -277,7 +278,6 @@ $(document).ready(function(){initNavTree('_intelli_tool_polygon_8cpp_source.html
LayerObject::image
IntelliImage * image
image - Stores the imageData of the current LayerObject.
Definition: PaintingArea.h:27
PaintingArea::getPolygonDataOfRealLayer
std::vector< QPoint > getPolygonDataOfRealLayer()
Definition: PaintingArea.cpp:255
IntelliToolsettings::setLineWidth
void setLineWidth(int LineWidth)
Definition: IntelliToolsettings.cpp:18
-
IntelliToolsettings::getLineWidth
int getLineWidth()
Definition: IntelliToolsettings.cpp:14
IntelliTool::onMouseMoved
virtual void onMouseMoved(int x, int y)
A function managing the mouse moved event. Call this in child classes!
Definition: IntelliTool.cpp:46
IntelliToolPolygon::onMouseLeftPressed
virtual void onMouseLeftPressed(int x, int y) override
A function managing the left click pressed of a mouse. Setting polygon points.
Definition: IntelliToolPolygon.cpp:26
IntelliToolPolygon::onMouseRightReleased
virtual void onMouseRightReleased(int x, int y) override
A function managing the right click released of a mouse.
Definition: IntelliToolPolygon.cpp:124
diff --git a/docs/html/_intelli_tool_rectangle_8cpp_source.html b/docs/html/_intelli_tool_rectangle_8cpp_source.html index acbcd84..c673a22 100644 --- a/docs/html/_intelli_tool_rectangle_8cpp_source.html +++ b/docs/html/_intelli_tool_rectangle_8cpp_source.html @@ -106,15 +106,15 @@ $(document).ready(function(){initNavTree('_intelli_tool_rectangle_8cpp_source.ht
18  int yMin = std::min(originCorner.y(), otherCorner.y());
19  int yMax = std::max(originCorner.y(), otherCorner.y());
20 
-
21  QColor clr = colorPicker->getSecondColor();
-
22  clr.setAlpha(Toolsettings->getInnerAlpha());
+
21  QColor clr = colorPicker->getSecondColor();
+
22  clr.setAlpha(Toolsettings->getInnerAlpha());
23  for(int y = yMin; y<=yMax; y++) {
24  this->Canvas->image->drawLine(QPoint(xMin,y), QPoint(xMax, y), clr, 1);
25  }
-
26  this->Canvas->image->drawLine(QPoint(xMin, yMin),QPoint(xMin, yMax), this->colorPicker->getFirstColor(), Toolsettings->getLineWidth());
-
27  this->Canvas->image->drawLine(QPoint(xMin, yMin),QPoint(xMax, yMin), this->colorPicker->getFirstColor(), Toolsettings->getLineWidth());
-
28  this->Canvas->image->drawLine(QPoint(xMax, yMax),QPoint(xMin, yMax), this->colorPicker->getFirstColor(), Toolsettings->getLineWidth());
-
29  this->Canvas->image->drawLine(QPoint(xMax, yMax),QPoint(xMax, yMin), this->colorPicker->getFirstColor(), Toolsettings->getLineWidth());
+
26  this->Canvas->image->drawLine(QPoint(xMin, yMin),QPoint(xMin, yMax), this->colorPicker->getFirstColor(), Toolsettings->getLineWidth());
+
27  this->Canvas->image->drawLine(QPoint(xMin, yMin),QPoint(xMax, yMin), this->colorPicker->getFirstColor(), Toolsettings->getLineWidth());
+
28  this->Canvas->image->drawLine(QPoint(xMax, yMax),QPoint(xMin, yMax), this->colorPicker->getFirstColor(), Toolsettings->getLineWidth());
+
29  this->Canvas->image->drawLine(QPoint(xMax, yMax),QPoint(xMax, yMin), this->colorPicker->getFirstColor(), Toolsettings->getLineWidth());
30 }
31 
32 void IntelliToolRectangle::onMouseRightPressed(int x, int y){
@@ -147,38 +147,38 @@ $(document).ready(function(){initNavTree('_intelli_tool_rectangle_8cpp_source.ht
59 
60 void IntelliToolRectangle::onWheelScrolled(int value){
61  IntelliTool::onWheelScrolled(value);
-
62  Toolsettings->setLineWidth(Toolsettings->getLineWidth() + value);
+
62  Toolsettings->setLineWidth(Toolsettings->getLineWidth() + value);
63 }
IntelliToolRectangle::onWheelScrolled
virtual void onWheelScrolled(int value) override
A function managing the scroll event.Changing edgeWidth relativ to value.
Definition: IntelliToolRectangle.cpp:60
IntelliTool::onMouseRightPressed
virtual void onMouseRightPressed(int x, int y)
A function managing the right click Pressed of a Mouse. Constructing the Canvas to draw on....
Definition: IntelliTool.cpp:18
+
IntelliColorPicker::getFirstColor
QColor getFirstColor() const
A function to read the primary selected color.
Definition: IntelliColorPicker.cpp:15
IntelliTool::onMouseLeftReleased
virtual void onMouseLeftReleased(int x, int y)
A function managing the left click Released of a Mouse. Call this in child classes!
Definition: IntelliTool.cpp:36
+
IntelliToolsettings::getLineWidth
int getLineWidth() const
Definition: IntelliToolsettings.cpp:14
IntelliToolRectangle::onMouseRightReleased
virtual void onMouseRightReleased(int x, int y) override
A function managing the right click released of a mouse.
Definition: IntelliToolRectangle.cpp:36
IntelliTool::colorPicker
IntelliColorPicker * colorPicker
A pointer to the IntelliColorPicker of the PaintingArea to interact with, and get the colors.
Definition: IntelliTool.h:57
IntelliImage::drawLine
virtual void drawLine(const QPoint &p1, const QPoint &p2, const QColor &color, const int &penWidth)
A function that draws a line between two given points in a given color.
Definition: IntelliImage.cpp:96
IntelliTool::onMouseLeftPressed
virtual void onMouseLeftPressed(int x, int y)
A function managing the left click Pressed of a Mouse. Resetting the current draw....
Definition: IntelliTool.cpp:29
IntelliTool::Toolsettings
IntelliToolsettings * Toolsettings
Definition: IntelliTool.h:59
IntelliToolRectangle::~IntelliToolRectangle
virtual ~IntelliToolRectangle() override
A Destructor.
Definition: IntelliToolRectangle.cpp:10
+
IntelliToolsettings::getInnerAlpha
int getInnerAlpha() const
Definition: IntelliToolsettings.cpp:28
IntelliToolRectangle::onMouseLeftPressed
virtual void onMouseLeftPressed(int x, int y) override
A function managing the left click pressed of a mouse. Setting the originCorner and draws a rectangle...
Definition: IntelliToolRectangle.cpp:40
-
IntelliColorPicker::getSecondColor
QColor getSecondColor()
A function to read the secondary selected color.
Definition: IntelliColorPicker.cpp:19
IntelliToolRectangle::onMouseRightPressed
virtual void onMouseRightPressed(int x, int y) override
A function managing the right click pressed of a mouse.Resetting the current draw.
Definition: IntelliToolRectangle.cpp:32
PaintingArea
The PaintingArea class manages the methods and stores information about the current painting area,...
Definition: PaintingArea.h:53
IntelliTool::isDrawing
bool isDrawing
A flag checking if the user is currently drawing or not.
Definition: IntelliTool.h:74
-
IntelliToolsettings::getInnerAlpha
int getInnerAlpha()
Definition: IntelliToolsettings.cpp:28
+
IntelliColorPicker::getSecondColor
QColor getSecondColor() const
A function to read the secondary selected color.
Definition: IntelliColorPicker.cpp:19
IntelliTool::onMouseRightReleased
virtual void onMouseRightReleased(int x, int y)
A function managing the right click Released of a Mouse. Merging the Canvas to Active....
Definition: IntelliTool.cpp:25
IntelliTool::Canvas
LayerObject * Canvas
A pointer to the drawing canvas of the tool, work on this.
Definition: IntelliTool.h:69
IntelliToolRectangle.h
IntelliTool
An abstract class that manages the basic events, like mouse clicks or scrolls events.
Definition: IntelliTool.h:17
PaintingArea.h
-
IntelliColorPicker::getFirstColor
QColor getFirstColor()
A function to read the primary selected color.
Definition: IntelliColorPicker.cpp:15
IntelliTool::ActiveType
Tooltype ActiveType
Definition: IntelliTool.h:52
IntelliToolRectangle::onMouseMoved
virtual void onMouseMoved(int x, int y) override
A function managing the mouse moved event.Drawing a rectangle to currrent mouse position.
Definition: IntelliToolRectangle.cpp:51
IntelliColorPicker
The IntelliColorPicker manages the selected colors for one whole project.
Definition: IntelliColorPicker.h:14
IntelliTool::Tooltype::RECTANGLE
@ RECTANGLE
LayerObject::image
IntelliImage * image
image - Stores the imageData of the current LayerObject.
Definition: PaintingArea.h:27
IntelliToolsettings::setLineWidth
void setLineWidth(int LineWidth)
Definition: IntelliToolsettings.cpp:18
-
IntelliToolsettings::getLineWidth
int getLineWidth()
Definition: IntelliToolsettings.cpp:14
IntelliTool::onMouseMoved
virtual void onMouseMoved(int x, int y)
A function managing the mouse moved event. Call this in child classes!
Definition: IntelliTool.cpp:46
IntelliImage::calculateVisiblity
virtual void calculateVisiblity()=0
An abstract function that calculates the visiblity of the Image data if needed.
IntelliToolRectangle::onMouseLeftReleased
virtual void onMouseLeftReleased(int x, int y) override
A function managing the left click released of a mouse. Merging the draw to the active layer.
Definition: IntelliToolRectangle.cpp:47
diff --git a/docs/html/_intelli_toolsettings_8cpp_source.html b/docs/html/_intelli_toolsettings_8cpp_source.html index cd32ac5..f88860a 100644 --- a/docs/html/_intelli_toolsettings_8cpp_source.html +++ b/docs/html/_intelli_toolsettings_8cpp_source.html @@ -99,7 +99,7 @@ $(document).ready(function(){initNavTree('_intelli_toolsettings_8cpp_source.html
11 
12 }
13 
-
14 int IntelliToolsettings::getLineWidth(){
+
14 int IntelliToolsettings::getLineWidth() const {
15  return lineWidth;
16 }
17 
@@ -113,7 +113,7 @@ $(document).ready(function(){initNavTree('_intelli_toolsettings_8cpp_source.html
25  lineWidth = LineWidth;
26 }
27 
-
28 int IntelliToolsettings::getInnerAlpha(){
+
28 int IntelliToolsettings::getInnerAlpha() const {
29  return this->innerAlpha;
30 }
31 
@@ -128,12 +128,12 @@ $(document).ready(function(){initNavTree('_intelli_toolsettings_8cpp_source.html
40 }
+
IntelliToolsettings::getLineWidth
int getLineWidth() const
Definition: IntelliToolsettings.cpp:14
IntelliToolsettings.h
+
IntelliToolsettings::getInnerAlpha
int getInnerAlpha() const
Definition: IntelliToolsettings.cpp:28
IntelliToolsettings::~IntelliToolsettings
virtual ~IntelliToolsettings()
Definition: IntelliToolsettings.cpp:10
-
IntelliToolsettings::getInnerAlpha
int getInnerAlpha()
Definition: IntelliToolsettings.cpp:28
IntelliToolsettings::setInnerAlpha
void setInnerAlpha(int innerAlpha)
Definition: IntelliToolsettings.cpp:32
IntelliToolsettings::setLineWidth
void setLineWidth(int LineWidth)
Definition: IntelliToolsettings.cpp:18
-
IntelliToolsettings::getLineWidth
int getLineWidth()
Definition: IntelliToolsettings.cpp:14
IntelliToolsettings::IntelliToolsettings
IntelliToolsettings()
Definition: IntelliToolsettings.cpp:4
+
IntelliToolsettings::getLineWidth
int getLineWidth() const
Definition: IntelliToolsettings.cpp:14
+
IntelliToolsettings::getInnerAlpha
int getInnerAlpha() const
Definition: IntelliToolsettings.cpp:28
IntelliToolsettings::~IntelliToolsettings
virtual ~IntelliToolsettings()
Definition: IntelliToolsettings.cpp:10
-
IntelliToolsettings::getInnerAlpha
int getInnerAlpha()
Definition: IntelliToolsettings.cpp:28
IntelliToolsettings::setInnerAlpha
void setInnerAlpha(int innerAlpha)
Definition: IntelliToolsettings.cpp:32
UnitTest
Definition: mainUnitTest.cpp:8
IntelliToolsettings::setLineWidth
void setLineWidth(int LineWidth)
Definition: IntelliToolsettings.cpp:18
-
IntelliToolsettings::getLineWidth
int getLineWidth()
Definition: IntelliToolsettings.cpp:14
IntelliToolsettings::IntelliToolsettings
IntelliToolsettings()
Definition: IntelliToolsettings.cpp:4
IntelliToolsettings
Definition: IntelliToolsettings.h:7
diff --git a/docs/html/_painting_area_8cpp_source.html b/docs/html/_painting_area_8cpp_source.html index cf1f6de..c073e81 100644 --- a/docs/html/_painting_area_8cpp_source.html +++ b/docs/html/_painting_area_8cpp_source.html @@ -123,12 +123,12 @@ $(document).ready(function(){initNavTree('_painting_area_8cpp_source.html','');
35  bool ToolIsActive;
36 
37  if(Tool!=nullptr) {
-
38  ToolIsActive = Tool->getIsDrawing();
+
38  ToolIsActive = Tool->getIsDrawing();
39  }
40  else{
41  ToolIsActive = false;
42  }
-
43  if(isFastRenderingOn != renderSettings.isFastRenderering() && !ToolIsActive) {
+
43  if(isFastRenderingOn != renderSettings.isFastRenderering() && !ToolIsActive) {
44  renderSettings.setFastRendering(isFastRenderingOn);
45  for(auto& layer : layerBundle) {
46  layer.image->updateRendererSetting(isFastRenderingOn);
@@ -155,9 +155,9 @@ $(document).ready(function(){initNavTree('_painting_area_8cpp_source.html','');
67  newLayer.widthOffset = widthOffset;
68  newLayer.heightOffset = heightOffset;
69  if(type==IntelliImage::ImageType::RASTERIMAGE) {
-
70  newLayer.image = new IntelliRasterImage(width,height,renderSettings.isFastRenderering());
+
70  newLayer.image = new IntelliRasterImage(width,height,renderSettings.isFastRenderering());
71  }else if(type==IntelliImage::ImageType::SHAPEDIMAGE) {
-
72  newLayer.image = new IntelliShapedImage(width, height, renderSettings.isFastRenderering());
+
72  newLayer.image = new IntelliShapedImage(width, height, renderSettings.isFastRenderering());
73  }
74  newLayer.alpha = 255;
75  this->layerBundle.push_back(newLayer);
@@ -273,12 +273,12 @@ $(document).ready(function(){initNavTree('_painting_area_8cpp_source.html','');
185 }
186 
187 void PaintingArea::colorPickerSetFirstColor(){
-
188  QColor clr = QColorDialog::getColor(colorPicker.getFirstColor(), nullptr, "Main Color", QColorDialog::DontUseNativeDialog);
+
188  QColor clr = QColorDialog::getColor(colorPicker.getFirstColor(), nullptr, "Main Color", QColorDialog::DontUseNativeDialog);
189  this->colorPicker.setFirstColor(clr);
190 }
191 
192 void PaintingArea::colorPickerSetSecondColor(){
-
193  QColor clr = QColorDialog::getColor(colorPicker.getSecondColor(), nullptr, "Secondary Color", QColorDialog::DontUseNativeDialog);
+
193  QColor clr = QColorDialog::getColor(colorPicker.getSecondColor(), nullptr, "Secondary Color", QColorDialog::DontUseNativeDialog);
194  this->colorPicker.setSecondColor(clr);
195 }
196 
@@ -321,11 +321,11 @@ $(document).ready(function(){initNavTree('_painting_area_8cpp_source.html','');
233 }
234 
235 int PaintingArea::getWidthOfActive(){
-
236  return this->layerBundle[static_cast<unsigned long long>(activeLayer)].width;
+
236  return this->layerBundle[static_cast<size_t>(activeLayer)].width;
237 }
238 
239 int PaintingArea::getHeightOfActive(){
-
240  return this->layerBundle[static_cast<unsigned long long>(activeLayer)].height;
+
240  return this->layerBundle[static_cast<size_t>(activeLayer)].height;
241 }
242 
243 int PaintingArea::getMaxWidth(){
@@ -337,11 +337,11 @@ $(document).ready(function(){initNavTree('_painting_area_8cpp_source.html','');
249 }
250 
251 IntelliImage::ImageType PaintingArea::getTypeOfImageRealLayer(){
-
252  return this->layerBundle[static_cast<unsigned long long>(activeLayer)].image->getTypeOfImage();
+
252  return this->layerBundle[static_cast<size_t>(activeLayer)].image->getTypeOfImage();
253 }
254 
255 std::vector<QPoint> PaintingArea::getPolygonDataOfRealLayer(){
-
256  return this->layerBundle[static_cast<unsigned long long>(activeLayer)].image->getPolygonData();
+
256  return this->layerBundle[static_cast<size_t>(activeLayer)].image->getPolygonData();
257 }
258 
259 // If a mouse button is pressed check if it was the
@@ -353,8 +353,8 @@ $(document).ready(function(){initNavTree('_painting_area_8cpp_source.html','');
265  }
266  if(Tool == nullptr)
267  return;
-
268  int x = event->x() - layerBundle[static_cast<unsigned long long>(activeLayer)].widthOffset;
-
269  int y = event->y() - layerBundle[static_cast<unsigned long long>(activeLayer)].heightOffset;
+
268  int x = event->x() - layerBundle[static_cast<size_t>(activeLayer)].widthOffset;
+
269  int y = event->y() - layerBundle[static_cast<size_t>(activeLayer)].heightOffset;
270  if(event->button() == Qt::LeftButton) {
271  Tool->onMouseLeftPressed(x, y);
272  }else if(event->button() == Qt::RightButton) {
@@ -372,8 +372,8 @@ $(document).ready(function(){initNavTree('_painting_area_8cpp_source.html','');
284  }
285  if(Tool == nullptr)
286  return;
-
287  int x = event->x() - layerBundle[static_cast<unsigned long long>(activeLayer)].widthOffset;
-
288  int y = event->y() - layerBundle[static_cast<unsigned long long>(activeLayer)].heightOffset;
+
287  int x = event->x() - layerBundle[static_cast<size_t>(activeLayer)].widthOffset;
+
288  int y = event->y() - layerBundle[static_cast<size_t>(activeLayer)].heightOffset;
289  Tool->onMouseMoved(x, y);
290  update();
291 }
@@ -384,8 +384,8 @@ $(document).ready(function(){initNavTree('_painting_area_8cpp_source.html','');
296  return;
297  if(Tool == nullptr)
298  return;
-
299  int x = event->x() - layerBundle[static_cast<unsigned long long>(activeLayer)].widthOffset;
-
300  int y = event->y() - layerBundle[static_cast<unsigned long long>(activeLayer)].heightOffset;
+
299  int x = event->x() - layerBundle[static_cast<size_t>(activeLayer)].widthOffset;
+
300  int y = event->y() - layerBundle[static_cast<size_t>(activeLayer)].heightOffset;
301  if(event->button() == Qt::LeftButton) {
302  Tool->onMouseLeftReleased(x, y);
303  }else if(event->button() == Qt::RightButton) {
@@ -429,7 +429,7 @@ $(document).ready(function(){initNavTree('_painting_area_8cpp_source.html','');
341 void PaintingArea::selectLayerDown(){
342  updateTools();
343  if(activeLayer>0) {
-
344  std::swap(layerBundle[static_cast<unsigned long long>(activeLayer)], layerBundle[static_cast<unsigned long long>(activeLayer - 1)]);
+
344  std::swap(layerBundle[static_cast<size_t>(activeLayer)], layerBundle[static_cast<size_t>(activeLayer - 1)]);
345  activeLayer--;
346  }
347 }
@@ -473,11 +473,11 @@ $(document).ready(function(){initNavTree('_painting_area_8cpp_source.html','');
385  if(idx>=0) {
386  LayerObject newLayer;
387  newLayer.alpha = 255;
-
388  newLayer.height = layerBundle[static_cast<unsigned long long>(idx)].height;
-
389  newLayer.width = layerBundle[static_cast<unsigned long long>(idx)].width;
-
390  newLayer.heightOffset = layerBundle[static_cast<unsigned long long>(idx)].heightOffset;
-
391  newLayer.widthOffset = layerBundle[static_cast<unsigned long long>(idx)].widthOffset;
-
392  newLayer.image = layerBundle[static_cast<unsigned long long>(idx)].image->getDeepCopy();
+
388  newLayer.height = layerBundle[static_cast<size_t>(idx)].height;
+
389  newLayer.width = layerBundle[static_cast<size_t>(idx)].width;
+
390  newLayer.heightOffset = layerBundle[static_cast<size_t>(idx)].heightOffset;
+
391  newLayer.widthOffset = layerBundle[static_cast<size_t>(idx)].widthOffset;
+
392  newLayer.image = layerBundle[static_cast<size_t>(idx)].image->getDeepCopy();
393  layerBundle.insert(layerBundle.begin() + idx + 1,newLayer);
394  return true;
395  }
@@ -485,7 +485,7 @@ $(document).ready(function(){initNavTree('_painting_area_8cpp_source.html','');
397 }
398 
399 IntelliTool* PaintingArea::copyActiveTool(){
-
400  switch(Tool->getTooltype()) {
+
400  switch(Tool->getTooltype()) {
401  case IntelliTool::Tooltype::CIRCLE: return new IntelliToolCircle(this,&colorPicker, &Toolsettings);
402  case IntelliTool::Tooltype::FLOODFILL: return new IntelliToolFloodFill(this,&colorPicker, &Toolsettings);
403  case IntelliTool::Tooltype::LINE: return new IntelliToolLine(this,&colorPicker, &Toolsettings);
@@ -516,7 +516,7 @@ $(document).ready(function(){initNavTree('_painting_area_8cpp_source.html','');
428  }
429  else{
430  returnImage = layerBundle[static_cast<size_t>(activeLayer)].image->getImageData();
-
431  if(renderSettings.isFastRenderering()) {
+
431  if(renderSettings.isFastRenderering()) {
432  returnImage = returnImage.convertToFormat(QImage::Format_ARGB32);
433  }
434  }
@@ -525,7 +525,7 @@ $(document).ready(function(){initNavTree('_painting_area_8cpp_source.html','');
437 
438 void PaintingArea::updateTools(){
439  if(Tool!=nullptr) {
-
440  if(Tool->getIsDrawing()) {
+
440  if(Tool->getIsDrawing()) {
441  IntelliTool* temp = copyActiveTool();
442  delete this->Tool;
443  this->Tool = temp;
@@ -543,6 +543,7 @@ $(document).ready(function(){initNavTree('_painting_area_8cpp_source.html','');
IntelliTool::Tooltype::PEN
@ PEN
PaintingArea::createCircleTool
void createCircleTool()
Definition: PaintingArea.cpp:221
IntelliTool::onMouseRightPressed
virtual void onMouseRightPressed(int x, int y)
A function managing the right click Pressed of a Mouse. Constructing the Canvas to draw on....
Definition: IntelliTool.cpp:18
+
IntelliColorPicker::getFirstColor
QColor getFirstColor() const
A function to read the primary selected color.
Definition: IntelliColorPicker.cpp:15
IntelliTool::onMouseLeftReleased
virtual void onMouseLeftReleased(int x, int y)
A function managing the left click Released of a Mouse. Call this in child classes!
Definition: IntelliTool.cpp:36
PaintingArea::setRenderSettings
void setRenderSettings(bool isFastRenderingOn)
setRenderSettings updates all Images to the new Rendersetting.
Definition: PaintingArea.cpp:34
PaintingArea::getImageOfActiveLayer
IntelliImage * getImageOfActiveLayer()
Definition: PaintingArea.cpp:416
@@ -550,9 +551,12 @@ $(document).ready(function(){initNavTree('_painting_area_8cpp_source.html','');
PaintingArea::createRectangleTool
void createRectangleTool()
Definition: PaintingArea.cpp:216
IntelliToolPolygon.h
IntelliTool::onMouseLeftPressed
virtual void onMouseLeftPressed(int x, int y)
A function managing the left click Pressed of a Mouse. Resetting the current draw....
Definition: IntelliTool.cpp:29
+
IntelliTool::getIsDrawing
bool getIsDrawing() const
Definition: IntelliTool.cpp:103
PaintingArea::getMaxWidth
int getMaxWidth()
Definition: PaintingArea.cpp:243
IntelliShapedImage.h
+
IntelliRenderSettings::isFastRenderering
bool isFastRenderering() const
The getfastRenderer gets the value of the flag for the fastRenderer setting.
Definition: IntelliRenderSettings.cpp:12
PaintingArea::save
bool save(const QString &filePath, const char *fileFormat)
The save method is used for exporting the current project as one picture.
Definition: PaintingArea.cpp:141
+
IntelliTool::getTooltype
Tooltype getTooltype() const
Definition: IntelliTool.cpp:99
PaintingArea::setLayerAlpha
void setLayerAlpha(int idx, int alpha)
The setAlphaOfLayer method sets the alpha value of a specific layer.
Definition: PaintingArea.cpp:110
IntelliTool::Tooltype::FLOODFILL
@ FLOODFILL
PaintingArea::setLayerActive
void setLayerActive(int idx)
The setLayerToActive method marks a specific layer as active.
Definition: PaintingArea.cpp:103
@@ -562,7 +566,6 @@ $(document).ready(function(){initNavTree('_painting_area_8cpp_source.html','');
IntelliToolPlainTool
The IntelliToolPlainTool class represents a tool to fill the whole canvas with one color.
Definition: IntelliToolPlain.h:13
IntelliColorPicker::setSecondColor
void setSecondColor(QColor Color)
A function to set the secondary color.
Definition: IntelliColorPicker.cpp:27
IntelliShapedImage
The IntelliShapedImage manages a Shapedimage.
Definition: IntelliShapedImage.h:13
-
IntelliColorPicker::getSecondColor
QColor getSecondColor()
A function to read the secondary selected color.
Definition: IntelliColorPicker.cpp:19
LayerObject::heightOffset
int heightOffset
heightOffset - Stores the number of pixles from the top of the painting area.
Definition: PaintingArea.h:43
PaintingArea::getHeightOfActive
int getHeightOfActive()
The getHeightOfActive gets the vertical dimensions of the active layer.
Definition: PaintingArea.cpp:239
IntelliToolFloodFill.h
@@ -575,6 +578,7 @@ $(document).ready(function(){initNavTree('_painting_area_8cpp_source.html','');
PaintingArea::mousePressEvent
void mousePressEvent(QMouseEvent *event) override
Definition: PaintingArea.cpp:262
IntelliRasterImage.h
LayerObject::alpha
int alpha
alpha - Stores the alpha value of the layer (default=255).
Definition: PaintingArea.h:47
+
IntelliColorPicker::getSecondColor
QColor getSecondColor() const
A function to read the secondary selected color.
Definition: IntelliColorPicker.cpp:19
IntelliToolRectangle
The IntelliToolRectangle class represents a tool to draw a rectangle.
Definition: IntelliToolRectangle.h:15
PaintingArea::createLineTool
void createLineTool()
Definition: PaintingArea.cpp:211
IntelliToolLine.h
@@ -584,11 +588,9 @@ $(document).ready(function(){initNavTree('_painting_area_8cpp_source.html','');
PaintingArea::colorPickerSetFirstColor
void colorPickerSetFirstColor()
The colorPickerSetFirstColor calls the QTColorPicker to determine the primary drawing color.
Definition: PaintingArea.cpp:187
IntelliTool::Tooltype::PLAIN
@ PLAIN
IntelliTool::Tooltype::POLYGON
@ POLYGON
-
IntelliTool::getTooltype
Tooltype getTooltype()
Definition: IntelliTool.cpp:99
PaintingArea::getTypeOfImageRealLayer
IntelliImage::ImageType getTypeOfImageRealLayer()
Definition: PaintingArea.cpp:251
LayerObject::width
int width
width - Stores the width of a layer in pixels.
Definition: PaintingArea.h:31
IntelliToolRectangle.h
-
IntelliRenderSettings::isFastRenderering
bool isFastRenderering()
The getfastRenderer gets the value of the flag for the fastRenderer setting.
Definition: IntelliRenderSettings.cpp:12
PaintingArea::~PaintingArea
~PaintingArea() override
This deconstructor is used to clear up the memory and remove the currently active window.
Definition: PaintingArea.cpp:30
PaintingArea::mouseMoveEvent
void mouseMoveEvent(QMouseEvent *event) override
Definition: PaintingArea.cpp:281
PaintingArea::getNumberOfActiveLayer
int getNumberOfActiveLayer()
Definition: PaintingArea.cpp:412
@@ -596,22 +598,20 @@ $(document).ready(function(){initNavTree('_painting_area_8cpp_source.html','');
IntelliTool
An abstract class that manages the basic events, like mouse clicks or scrolls events.
Definition: IntelliTool.h:17
IntelliImage::ImageType::SHAPEDIMAGE
@ SHAPEDIMAGE
PaintingArea::slotDeleteActiveLayer
void slotDeleteActiveLayer()
The slotDeleteActiveLayer method handles the deletion of the active layer.
Definition: PaintingArea.cpp:96
-
IntelliPhotoGui::setToolWidth
void setToolWidth(int value)
Definition: IntelliPhotoGui.cpp:827
+
IntelliPhotoGui::setToolWidth
void setToolWidth(int value)
Definition: IntelliPhotoGui.cpp:828
PaintingArea::open
bool open(const QString &filePath)
The open method is used for loading a picture into the current layer.
Definition: PaintingArea.cpp:129
PaintingArea::createPolygonTool
void createPolygonTool()
Definition: PaintingArea.cpp:225
PaintingArea::moveActiveLayer
void moveActiveLayer(int idx)
The moveActiveLayer moves the active layer to a specific position in the layer stack.
Definition: PaintingArea.cpp:170
PaintingArea::colorPicker
IntelliColorPicker colorPicker
Definition: PaintingArea.h:202
PaintingArea::PaintingArea
PaintingArea(int maxWidth=600, int maxHeight=600, QWidget *parent=nullptr)
PaintingArea is the constructor of the PaintingArea class, which initiates the working environment.
Definition: PaintingArea.cpp:22
-
IntelliTool::getIsDrawing
bool getIsDrawing()
Definition: IntelliTool.cpp:103
PaintingArea.h
-
IntelliColorPicker::getFirstColor
QColor getFirstColor()
A function to read the primary selected color.
Definition: IntelliColorPicker.cpp:15
LayerObject::height
int height
height - Stores the height of a layer in pixels.
Definition: PaintingArea.h:35
PaintingArea::getImageDataOfActiveLayer
QImage getImageDataOfActiveLayer()
getImageDataOfActiveLayer used to get the currents active imageData (if there isn't any active layer ...
Definition: PaintingArea.cpp:423
PaintingArea::createFloodFillTool
void createFloodFillTool()
Definition: PaintingArea.cpp:230
PaintingArea::slotActivateLayer
void slotActivateLayer(int a)
The slotActivateLayer method handles the event of selecting one layer as active.
Definition: PaintingArea.cpp:180
PaintingArea::paintEvent
void paintEvent(QPaintEvent *event) override
Definition: PaintingArea.cpp:324
IntelliRenderSettings::setFastRendering
void setFastRendering(bool Updatedsetting)
setFastRendering sets fastRendering to Updatedsetting.
Definition: IntelliRenderSettings.cpp:8
-
IntelliPhotoGui::UpdateGui
void UpdateGui()
Definition: IntelliPhotoGui.cpp:836
+
IntelliPhotoGui::UpdateGui
void UpdateGui()
Definition: IntelliPhotoGui.cpp:837
IntelliImage::ImageType::RASTERIMAGE
@ RASTERIMAGE
IntelliTool::Tooltype::RECTANGLE
@ RECTANGLE
LayerObject::image
IntelliImage * image
image - Stores the imageData of the current LayerObject.
Definition: PaintingArea.h:27
diff --git a/docs/html/class_intelli_color_picker-members.html b/docs/html/class_intelli_color_picker-members.html index f8805e4..70ea16b 100644 --- a/docs/html/class_intelli_color_picker-members.html +++ b/docs/html/class_intelli_color_picker-members.html @@ -89,8 +89,8 @@ $(document).ready(function(){initNavTree('class_intelli_color_picker.html','');

This is the complete list of members for IntelliColorPicker, including all inherited members.

- - + + diff --git a/docs/html/class_intelli_color_picker.html b/docs/html/class_intelli_color_picker.html index 4be72c1..d3dfb81 100644 --- a/docs/html/class_intelli_color_picker.html +++ b/docs/html/class_intelli_color_picker.html @@ -106,12 +106,12 @@ Public Member Functions - - - - - - + + + + + + @@ -175,8 +175,8 @@ Public Member Functions

Member Function Documentation

- -

◆ getFirstColor()

+ +

◆ getFirstColor()

@@ -185,7 +185,7 @@ Public Member Functions
- +
getFirstColor()IntelliColorPicker
getSecondColor()IntelliColorPicker
getFirstColor() constIntelliColorPicker
getSecondColor() constIntelliColorPicker
IntelliColorPicker()IntelliColorPicker
setFirstColor(QColor Color)IntelliColorPicker
setSecondColor(QColor Color)IntelliColorPicker
void swapColors ()
 A function switching primary and secondary color. More...
 
QColor getFirstColor ()
 A function to read the primary selected color. More...
 
QColor getSecondColor ()
 A function to read the secondary selected color. More...
 
QColor getFirstColor () const
 A function to read the primary selected color. More...
 
QColor getSecondColor () const
 A function to read the secondary selected color. More...
 
void setFirstColor (QColor Color)
 A function to set the primary color. More...
 
QColor IntelliColorPicker::getFirstColor ( ) const
@@ -197,8 +197,8 @@ Public Member Functions
- -

◆ getSecondColor()

+ +

◆ getSecondColor()

@@ -207,7 +207,7 @@ Public Member Functions QColor IntelliColorPicker::getSecondColor ( ) - + const
diff --git a/docs/html/class_intelli_color_picker.js b/docs/html/class_intelli_color_picker.js index 4d29d13..f02759d 100644 --- a/docs/html/class_intelli_color_picker.js +++ b/docs/html/class_intelli_color_picker.js @@ -2,8 +2,8 @@ var class_intelli_color_picker = [ [ "IntelliColorPicker", "class_intelli_color_picker.html#a0d1247bdd87add1396ea5d9acaad79ae", null ], [ "~IntelliColorPicker", "class_intelli_color_picker.html#a40b975268a1f05249e8a49dde9a862ff", null ], - [ "getFirstColor", "class_intelli_color_picker.html#aae2eb27b928fe9388b9398b0556303b7", null ], - [ "getSecondColor", "class_intelli_color_picker.html#a55568fbf5dc783f06284b7031ffe9415", null ], + [ "getFirstColor", "class_intelli_color_picker.html#aeb08029a0c946ed0402c9c11a91965b1", null ], + [ "getSecondColor", "class_intelli_color_picker.html#ab41abe8fb7e184db2c33e792f09792e0", null ], [ "setFirstColor", "class_intelli_color_picker.html#a7e2ddbbbfbed383f06b24e5bf6b27ae8", null ], [ "setSecondColor", "class_intelli_color_picker.html#a86bf4a940e4a0e465e30cbdf28748931", null ], [ "swapColors", "class_intelli_color_picker.html#aec499265ae28ce1b54be88222e74292e", null ] diff --git a/docs/html/class_intelli_photo_gui.html b/docs/html/class_intelli_photo_gui.html index 6fb134a..6e81f67 100644 --- a/docs/html/class_intelli_photo_gui.html +++ b/docs/html/class_intelli_photo_gui.html @@ -140,7 +140,7 @@ Protected Member Functions

The IntelliPhotoGui method is the constructor and is used to create a new instance of the main program window.

-

Definition at line 7 of file IntelliPhotoGui.cpp.

+

Definition at line 10 of file IntelliPhotoGui.cpp.

@@ -171,7 +171,7 @@ Protected Member Functions

The closeEvent function handles closing events.

-

Definition at line 23 of file IntelliPhotoGui.cpp.

+

Definition at line 26 of file IntelliPhotoGui.cpp.

@@ -191,7 +191,7 @@ Protected Member Functions
-

Definition at line 827 of file IntelliPhotoGui.cpp.

+

Definition at line 828 of file IntelliPhotoGui.cpp.

@@ -210,7 +210,7 @@ Protected Member Functions
-

Definition at line 836 of file IntelliPhotoGui.cpp.

+

Definition at line 837 of file IntelliPhotoGui.cpp.

diff --git a/docs/html/class_intelli_render_settings-members.html b/docs/html/class_intelli_render_settings-members.html index 286cbf1..b6b8a9d 100644 --- a/docs/html/class_intelli_render_settings-members.html +++ b/docs/html/class_intelli_render_settings-members.html @@ -90,7 +90,7 @@ $(document).ready(function(){initNavTree('class_intelli_render_settings.html',''

This is the complete list of members for IntelliRenderSettings, including all inherited members.

- +
IntelliRenderSettings()IntelliRenderSettings
isFastRenderering()IntelliRenderSettings
isFastRenderering() constIntelliRenderSettings
setFastRendering(bool Updatedsetting)IntelliRenderSettings
diff --git a/docs/html/class_intelli_render_settings.html b/docs/html/class_intelli_render_settings.html index af57bb6..5f148f2 100644 --- a/docs/html/class_intelli_render_settings.html +++ b/docs/html/class_intelli_render_settings.html @@ -99,9 +99,9 @@ Public Member Functions void setFastRendering (bool Updatedsetting)  setFastRendering sets fastRendering to Updatedsetting. More...
  -bool isFastRenderering () - The getfastRenderer gets the value of the flag for the fastRenderer setting. More...
-  +bool isFastRenderering () const + The getfastRenderer gets the value of the flag for the fastRenderer setting. More...

Detailed Description

@@ -127,8 +127,8 @@ Public Member Functions

Member Function Documentation

- -

◆ isFastRenderering()

+ +

◆ isFastRenderering()

@@ -137,7 +137,7 @@ Public Member Functions bool IntelliRenderSettings::isFastRenderering ( ) - + const
diff --git a/docs/html/class_intelli_render_settings.js b/docs/html/class_intelli_render_settings.js index e0dfe86..73ef9f6 100644 --- a/docs/html/class_intelli_render_settings.js +++ b/docs/html/class_intelli_render_settings.js @@ -1,6 +1,6 @@ var class_intelli_render_settings = [ [ "IntelliRenderSettings", "class_intelli_render_settings.html#a4a01de6e5e8e516a7eae51d6f1f66529", null ], - [ "isFastRenderering", "class_intelli_render_settings.html#a5d0eb9a5a3bf788dd87509386dea8dcd", null ], + [ "isFastRenderering", "class_intelli_render_settings.html#a38fd592c4948d2e47b95bb6fabc34073", null ], [ "setFastRendering", "class_intelli_render_settings.html#a5ffb878b77e5d448ffe4eb03a8397ac2", null ] ]; \ No newline at end of file diff --git a/docs/html/class_intelli_tool-members.html b/docs/html/class_intelli_tool-members.html index e4e3767..735dda0 100644 --- a/docs/html/class_intelli_tool-members.html +++ b/docs/html/class_intelli_tool-members.html @@ -94,8 +94,8 @@ $(document).ready(function(){initNavTree('class_intelli_tool.html',''); initResi AreaIntelliToolprotected CanvasIntelliToolprotected colorPickerIntelliToolprotected - getIsDrawing()IntelliTool - getTooltype()IntelliTool + getIsDrawing() constIntelliTool + getTooltype() constIntelliTool IntelliTool(PaintingArea *Area, IntelliColorPicker *colorPicker, IntelliToolsettings *Toolsettings)IntelliTool isDrawingIntelliToolprotected onMouseLeftPressed(int x, int y)IntelliToolvirtual diff --git a/docs/html/class_intelli_tool.html b/docs/html/class_intelli_tool.html index 0550cf3..0f8070c 100644 --- a/docs/html/class_intelli_tool.html +++ b/docs/html/class_intelli_tool.html @@ -154,10 +154,10 @@ Public Member Functions virtual void onMouseMoved (int x, int y)  A function managing the mouse moved event. Call this in child classes! More...
  -Tooltype getTooltype () -  -bool getIsDrawing () -  +Tooltype getTooltype () const +  +bool getIsDrawing () const +  @@ -296,8 +296,8 @@ Protected Attributes

Member Function Documentation

- -

◆ getIsDrawing()

+ +

◆ getIsDrawing()

@@ -306,7 +306,7 @@ Protected Attributes
- +

Protected Attributes

bool IntelliTool::getIsDrawing ( ) const
@@ -315,8 +315,8 @@ Protected Attributes
- -

◆ getTooltype()

+ +

◆ getTooltype()

@@ -325,7 +325,7 @@ Protected Attributes IntelliTool::Tooltype IntelliTool::getTooltype ( ) - + const
diff --git a/docs/html/class_intelli_tool.js b/docs/html/class_intelli_tool.js index 34404b0..662a2c5 100644 --- a/docs/html/class_intelli_tool.js +++ b/docs/html/class_intelli_tool.js @@ -12,8 +12,8 @@ var class_intelli_tool = ] ], [ "IntelliTool", "class_intelli_tool.html#a08ef094271ce6248b42f888472463526", null ], [ "~IntelliTool", "class_intelli_tool.html#a57fb1b27d364c9e3696eb928b75fa9f2", null ], - [ "getIsDrawing", "class_intelli_tool.html#a0020fad2e26315d5c4d96dbc95d1dceb", null ], - [ "getTooltype", "class_intelli_tool.html#aae2a11c5bae4973ed827c60e0c1352b1", null ], + [ "getIsDrawing", "class_intelli_tool.html#af90f0965efbc5c25126691e998f39ca3", null ], + [ "getTooltype", "class_intelli_tool.html#adf5c06ad2b2c0d745fb68cf80e7e5694", null ], [ "onMouseLeftPressed", "class_intelli_tool.html#a34b7ef1dde96b94a0ce450a25ae1778c", null ], [ "onMouseLeftReleased", "class_intelli_tool.html#a906a2575c16c8a33cb2a5197f8d8cc5b", null ], [ "onMouseMoved", "class_intelli_tool.html#ac10e20414cd8855a2f9b103fb6408639", null ], diff --git a/docs/html/class_intelli_tool_circle-members.html b/docs/html/class_intelli_tool_circle-members.html index 5b8892b..21834ef 100644 --- a/docs/html/class_intelli_tool_circle-members.html +++ b/docs/html/class_intelli_tool_circle-members.html @@ -94,8 +94,8 @@ $(document).ready(function(){initNavTree('class_intelli_tool_circle.html',''); i AreaIntelliToolprotected CanvasIntelliToolprotected colorPickerIntelliToolprotected - getIsDrawing()IntelliTool - getTooltype()IntelliTool + getIsDrawing() constIntelliTool + getTooltype() constIntelliTool IntelliTool(PaintingArea *Area, IntelliColorPicker *colorPicker, IntelliToolsettings *Toolsettings)IntelliTool IntelliToolCircle(PaintingArea *Area, IntelliColorPicker *colorPicker, IntelliToolsettings *Toolsettings)IntelliToolCircle isDrawingIntelliToolprotected diff --git a/docs/html/class_intelli_tool_circle.html b/docs/html/class_intelli_tool_circle.html index af1c510..a7981de 100644 --- a/docs/html/class_intelli_tool_circle.html +++ b/docs/html/class_intelli_tool_circle.html @@ -137,10 +137,10 @@ Public Member Functions virtual ~IntelliTool ()=0  An abstract Destructor. More...
  -Tooltype getTooltype () -  -bool getIsDrawing () -  +Tooltype getTooltype () const +  +bool getIsDrawing () const +  diff --git a/docs/html/class_intelli_tool_flood_fill-members.html b/docs/html/class_intelli_tool_flood_fill-members.html index 7f962f6..f3cf163 100644 --- a/docs/html/class_intelli_tool_flood_fill-members.html +++ b/docs/html/class_intelli_tool_flood_fill-members.html @@ -94,8 +94,8 @@ $(document).ready(function(){initNavTree('class_intelli_tool_flood_fill.html','' - - + + diff --git a/docs/html/class_intelli_tool_flood_fill.html b/docs/html/class_intelli_tool_flood_fill.html index 58fab3f..06daebf 100644 --- a/docs/html/class_intelli_tool_flood_fill.html +++ b/docs/html/class_intelli_tool_flood_fill.html @@ -137,10 +137,10 @@ Public Member Functions - - - - + + + +

Additional Inherited Members

AreaIntelliToolprotected
CanvasIntelliToolprotected
colorPickerIntelliToolprotected
getIsDrawing()IntelliTool
getTooltype()IntelliTool
getIsDrawing() constIntelliTool
getTooltype() constIntelliTool
IntelliTool(PaintingArea *Area, IntelliColorPicker *colorPicker, IntelliToolsettings *Toolsettings)IntelliTool
IntelliToolFloodFill(PaintingArea *Area, IntelliColorPicker *colorPicker, IntelliToolsettings *Toolsettings)IntelliToolFloodFill
isDrawingIntelliToolprotected
virtual ~IntelliTool ()=0
 An abstract Destructor. More...
 
Tooltype getTooltype ()
 
bool getIsDrawing ()
 
Tooltype getTooltype () const
 
bool getIsDrawing () const
 
diff --git a/docs/html/class_intelli_tool_line-members.html b/docs/html/class_intelli_tool_line-members.html index 935c8b2..fc91e17 100644 --- a/docs/html/class_intelli_tool_line-members.html +++ b/docs/html/class_intelli_tool_line-members.html @@ -94,8 +94,8 @@ $(document).ready(function(){initNavTree('class_intelli_tool_line.html',''); ini - - + + diff --git a/docs/html/class_intelli_tool_line.html b/docs/html/class_intelli_tool_line.html index 323c19b..4231e24 100644 --- a/docs/html/class_intelli_tool_line.html +++ b/docs/html/class_intelli_tool_line.html @@ -137,10 +137,10 @@ Public Member Functions - - - - + + + +

Additional Inherited Members

AreaIntelliToolprotected
CanvasIntelliToolprotected
colorPickerIntelliToolprotected
getIsDrawing()IntelliTool
getTooltype()IntelliTool
getIsDrawing() constIntelliTool
getTooltype() constIntelliTool
IntelliTool(PaintingArea *Area, IntelliColorPicker *colorPicker, IntelliToolsettings *Toolsettings)IntelliTool
IntelliToolLine(PaintingArea *Area, IntelliColorPicker *colorPicker, IntelliToolsettings *Toolsettings)IntelliToolLine
isDrawingIntelliToolprotected
virtual ~IntelliTool ()=0
 An abstract Destructor. More...
 
Tooltype getTooltype ()
 
bool getIsDrawing ()
 
Tooltype getTooltype () const
 
bool getIsDrawing () const
 
diff --git a/docs/html/class_intelli_tool_pen-members.html b/docs/html/class_intelli_tool_pen-members.html index cfc907a..71369b5 100644 --- a/docs/html/class_intelli_tool_pen-members.html +++ b/docs/html/class_intelli_tool_pen-members.html @@ -94,8 +94,8 @@ $(document).ready(function(){initNavTree('class_intelli_tool_pen.html',''); init - - + + diff --git a/docs/html/class_intelli_tool_pen.html b/docs/html/class_intelli_tool_pen.html index a2f823b..b5e1322 100644 --- a/docs/html/class_intelli_tool_pen.html +++ b/docs/html/class_intelli_tool_pen.html @@ -137,10 +137,10 @@ Public Member Functions - - - - + + + +

Additional Inherited Members

AreaIntelliToolprotected
CanvasIntelliToolprotected
colorPickerIntelliToolprotected
getIsDrawing()IntelliTool
getTooltype()IntelliTool
getIsDrawing() constIntelliTool
getTooltype() constIntelliTool
IntelliTool(PaintingArea *Area, IntelliColorPicker *colorPicker, IntelliToolsettings *Toolsettings)IntelliTool
IntelliToolPen(PaintingArea *Area, IntelliColorPicker *colorPicker, IntelliToolsettings *Toolsettings)IntelliToolPen
isDrawingIntelliToolprotected
virtual ~IntelliTool ()=0
 An abstract Destructor. More...
 
Tooltype getTooltype ()
 
bool getIsDrawing ()
 
Tooltype getTooltype () const
 
bool getIsDrawing () const
 
diff --git a/docs/html/class_intelli_tool_plain_tool-members.html b/docs/html/class_intelli_tool_plain_tool-members.html index 88a150e..2c30fb5 100644 --- a/docs/html/class_intelli_tool_plain_tool-members.html +++ b/docs/html/class_intelli_tool_plain_tool-members.html @@ -94,8 +94,8 @@ $(document).ready(function(){initNavTree('class_intelli_tool_plain_tool.html','' - - + + diff --git a/docs/html/class_intelli_tool_plain_tool.html b/docs/html/class_intelli_tool_plain_tool.html index 2c01c01..4535c8a 100644 --- a/docs/html/class_intelli_tool_plain_tool.html +++ b/docs/html/class_intelli_tool_plain_tool.html @@ -137,10 +137,10 @@ Public Member Functions - - - - + + + +

Additional Inherited Members

AreaIntelliToolprotected
CanvasIntelliToolprotected
colorPickerIntelliToolprotected
getIsDrawing()IntelliTool
getTooltype()IntelliTool
getIsDrawing() constIntelliTool
getTooltype() constIntelliTool
IntelliTool(PaintingArea *Area, IntelliColorPicker *colorPicker, IntelliToolsettings *Toolsettings)IntelliTool
IntelliToolPlainTool(PaintingArea *Area, IntelliColorPicker *colorPicker, IntelliToolsettings *Toolsettings)IntelliToolPlainTool
isDrawingIntelliToolprotected
virtual ~IntelliTool ()=0
 An abstract Destructor. More...
 
Tooltype getTooltype ()
 
bool getIsDrawing ()
 
Tooltype getTooltype () const
 
bool getIsDrawing () const
 
diff --git a/docs/html/class_intelli_tool_polygon-members.html b/docs/html/class_intelli_tool_polygon-members.html index a566bcb..f6a0cbd 100644 --- a/docs/html/class_intelli_tool_polygon-members.html +++ b/docs/html/class_intelli_tool_polygon-members.html @@ -94,8 +94,8 @@ $(document).ready(function(){initNavTree('class_intelli_tool_polygon.html',''); - - + + diff --git a/docs/html/class_intelli_tool_polygon.html b/docs/html/class_intelli_tool_polygon.html index b0d734f..a30c226 100644 --- a/docs/html/class_intelli_tool_polygon.html +++ b/docs/html/class_intelli_tool_polygon.html @@ -137,10 +137,10 @@ Public Member Functions - - - - + + + +

Additional Inherited Members

AreaIntelliToolprotected
CanvasIntelliToolprotected
colorPickerIntelliToolprotected
getIsDrawing()IntelliTool
getTooltype()IntelliTool
getIsDrawing() constIntelliTool
getTooltype() constIntelliTool
IntelliTool(PaintingArea *Area, IntelliColorPicker *colorPicker, IntelliToolsettings *Toolsettings)IntelliTool
IntelliToolPolygon(PaintingArea *Area, IntelliColorPicker *colorPicker, IntelliToolsettings *Toolsettings, bool isSettingPolygon=false)IntelliToolPolygon
isDrawingIntelliToolprotected
virtual ~IntelliTool ()=0
 An abstract Destructor. More...
 
Tooltype getTooltype ()
 
bool getIsDrawing ()
 
Tooltype getTooltype () const
 
bool getIsDrawing () const
 
diff --git a/docs/html/class_intelli_tool_rectangle-members.html b/docs/html/class_intelli_tool_rectangle-members.html index a30e24d..e64bb08 100644 --- a/docs/html/class_intelli_tool_rectangle-members.html +++ b/docs/html/class_intelli_tool_rectangle-members.html @@ -94,8 +94,8 @@ $(document).ready(function(){initNavTree('class_intelli_tool_rectangle.html','') - - + + diff --git a/docs/html/class_intelli_tool_rectangle.html b/docs/html/class_intelli_tool_rectangle.html index 2443c5c..563a65e 100644 --- a/docs/html/class_intelli_tool_rectangle.html +++ b/docs/html/class_intelli_tool_rectangle.html @@ -137,10 +137,10 @@ Public Member Functions - - - - + + + +

Additional Inherited Members

AreaIntelliToolprotected
CanvasIntelliToolprotected
colorPickerIntelliToolprotected
getIsDrawing()IntelliTool
getTooltype()IntelliTool
getIsDrawing() constIntelliTool
getTooltype() constIntelliTool
IntelliTool(PaintingArea *Area, IntelliColorPicker *colorPicker, IntelliToolsettings *Toolsettings)IntelliTool
IntelliToolRectangle(PaintingArea *Area, IntelliColorPicker *colorPicker, IntelliToolsettings *Toolsettings)IntelliToolRectangle
isDrawingIntelliToolprotected
virtual ~IntelliTool ()=0
 An abstract Destructor. More...
 
Tooltype getTooltype ()
 
bool getIsDrawing ()
 
Tooltype getTooltype () const
 
bool getIsDrawing () const
 
diff --git a/docs/html/class_intelli_toolsettings-members.html b/docs/html/class_intelli_toolsettings-members.html index 0b4ba3b..01786c9 100644 --- a/docs/html/class_intelli_toolsettings-members.html +++ b/docs/html/class_intelli_toolsettings-members.html @@ -89,8 +89,8 @@ $(document).ready(function(){initNavTree('class_intelli_toolsettings.html','');

This is the complete list of members for IntelliToolsettings, including all inherited members.

Additional Inherited Members

- - + + diff --git a/docs/html/class_intelli_toolsettings.html b/docs/html/class_intelli_toolsettings.html index 395f03a..8471e49 100644 --- a/docs/html/class_intelli_toolsettings.html +++ b/docs/html/class_intelli_toolsettings.html @@ -98,12 +98,12 @@ Public Member Functions - - + + - - + +
getInnerAlpha()IntelliToolsettings
getLineWidth()IntelliToolsettings
getInnerAlpha() constIntelliToolsettings
getLineWidth() constIntelliToolsettings
IntelliToolsettings()IntelliToolsettings
setInnerAlpha(int innerAlpha)IntelliToolsettings
setLineWidth(int LineWidth)IntelliToolsettings
 
virtual ~IntelliToolsettings ()
 
int getLineWidth ()
 
int getLineWidth () const
 
void setLineWidth (int LineWidth)
 
int getInnerAlpha ()
 
int getInnerAlpha () const
 
void setInnerAlpha (int innerAlpha)
 
@@ -158,8 +158,8 @@ Public Member Functions

Member Function Documentation

- -

◆ getInnerAlpha()

+ +

◆ getInnerAlpha()

@@ -168,7 +168,7 @@ Public Member Functions int IntelliToolsettings::getInnerAlpha ( ) - + const
@@ -177,8 +177,8 @@ Public Member Functions
- -

◆ getLineWidth()

+ +

◆ getLineWidth()

@@ -187,7 +187,7 @@ Public Member Functions int IntelliToolsettings::getLineWidth ( ) - + const
diff --git a/docs/html/class_intelli_toolsettings.js b/docs/html/class_intelli_toolsettings.js index 4cb8f44..628d2d8 100644 --- a/docs/html/class_intelli_toolsettings.js +++ b/docs/html/class_intelli_toolsettings.js @@ -2,8 +2,8 @@ var class_intelli_toolsettings = [ [ "IntelliToolsettings", "class_intelli_toolsettings.html#a5560602964ab95380967d63ab7ec6e69", null ], [ "~IntelliToolsettings", "class_intelli_toolsettings.html#a927e50594a459c952d06acd34c0eff56", null ], - [ "getInnerAlpha", "class_intelli_toolsettings.html#a7d6ce2054ec4bcba7629dc2b514b6b5c", null ], - [ "getLineWidth", "class_intelli_toolsettings.html#a68528dd3bad8f39ba19fa6b12a4e415a", null ], + [ "getInnerAlpha", "class_intelli_toolsettings.html#a96d267baa782a32784dbeb1b7cd68cc4", null ], + [ "getLineWidth", "class_intelli_toolsettings.html#abb3ee5a9c8a379167060799d275e65c3", null ], [ "setInnerAlpha", "class_intelli_toolsettings.html#a9a61f3de61efeba2287f8b32941f4271", null ], [ "setLineWidth", "class_intelli_toolsettings.html#a73fa94c85c6c2fdc1a33975a33304a6f", null ] ]; \ No newline at end of file diff --git a/docs/html/functions.html b/docs/html/functions.html index 5355e64..1027e10 100644 --- a/docs/html/functions.html +++ b/docs/html/functions.html @@ -205,7 +205,7 @@ $(document).ready(function(){initNavTree('functions.html',''); initResizable(); , IntelliShapedImage
  • getFirstColor() -: IntelliColorPicker +: IntelliColorPicker
  • getHeightOfActive() : PaintingArea @@ -220,16 +220,16 @@ $(document).ready(function(){initNavTree('functions.html',''); initResizable(); : PaintingArea
  • getInnerAlpha() -: IntelliToolsettings +: IntelliToolsettings
  • getInt() : IntelliInputDialog
  • getIsDrawing() -: IntelliTool +: IntelliTool
  • getLineWidth() -: IntelliToolsettings +: IntelliToolsettings
  • getMaxHeight() : PaintingArea @@ -251,10 +251,10 @@ $(document).ready(function(){initNavTree('functions.html',''); initResizable(); : PaintingArea
  • getSecondColor() -: IntelliColorPicker +: IntelliColorPicker
  • getTooltype() -: IntelliTool +: IntelliTool
  • getTypeOfImage() : IntelliImage @@ -340,7 +340,7 @@ $(document).ready(function(){initNavTree('functions.html',''); initResizable(); : IntelliTool
  • isFastRenderering() -: IntelliRenderSettings +: IntelliRenderSettings
  • diff --git a/docs/html/functions_func.html b/docs/html/functions_func.html index a39c59b..ef3b730 100644 --- a/docs/html/functions_func.html +++ b/docs/html/functions_func.html @@ -166,7 +166,7 @@ $(document).ready(function(){initNavTree('functions_func.html',''); initResizabl , IntelliShapedImage
  • getFirstColor() -: IntelliColorPicker +: IntelliColorPicker
  • getHeightOfActive() : PaintingArea @@ -181,16 +181,16 @@ $(document).ready(function(){initNavTree('functions_func.html',''); initResizabl : PaintingArea
  • getInnerAlpha() -: IntelliToolsettings +: IntelliToolsettings
  • getInt() : IntelliInputDialog
  • getIsDrawing() -: IntelliTool +: IntelliTool
  • getLineWidth() -: IntelliToolsettings +: IntelliToolsettings
  • getMaxHeight() : PaintingArea @@ -212,10 +212,10 @@ $(document).ready(function(){initNavTree('functions_func.html',''); initResizabl : PaintingArea
  • getSecondColor() -: IntelliColorPicker +: IntelliColorPicker
  • getTooltype() -: IntelliTool +: IntelliTool
  • getTypeOfImage() : IntelliImage @@ -279,7 +279,7 @@ $(document).ready(function(){initNavTree('functions_func.html',''); initResizabl : IntelliToolsettings
  • isFastRenderering() -: IntelliRenderSettings +: IntelliRenderSettings
  • diff --git a/docs/html/navtreeindex0.js b/docs/html/navtreeindex0.js index 133c659..52578ef 100644 --- a/docs/html/navtreeindex0.js +++ b/docs/html/navtreeindex0.js @@ -81,10 +81,10 @@ var NAVTREEINDEX0 = "class_intelli_color_picker.html":[1,0,0], "class_intelli_color_picker.html#a0d1247bdd87add1396ea5d9acaad79ae":[1,0,0,0], "class_intelli_color_picker.html#a40b975268a1f05249e8a49dde9a862ff":[1,0,0,1], -"class_intelli_color_picker.html#a55568fbf5dc783f06284b7031ffe9415":[1,0,0,3], "class_intelli_color_picker.html#a7e2ddbbbfbed383f06b24e5bf6b27ae8":[1,0,0,4], "class_intelli_color_picker.html#a86bf4a940e4a0e465e30cbdf28748931":[1,0,0,5], -"class_intelli_color_picker.html#aae2eb27b928fe9388b9398b0556303b7":[1,0,0,2], +"class_intelli_color_picker.html#ab41abe8fb7e184db2c33e792f09792e0":[1,0,0,3], +"class_intelli_color_picker.html#aeb08029a0c946ed0402c9c11a91965b1":[1,0,0,2], "class_intelli_color_picker.html#aec499265ae28ce1b54be88222e74292e":[1,0,0,6], "class_intelli_image.html":[1,0,1], "class_intelli_image.html#a177403ab9585d4ba31984a644c54d310":[1,0,1,16], @@ -130,8 +130,8 @@ var NAVTREEINDEX0 = "class_intelli_raster_image.html#ae43393397b0141a8033fe34d3a1b1884":[1,0,4,4], "class_intelli_raster_image.html#ae779b571372296f1922af818ba003413":[1,0,4,0], "class_intelli_render_settings.html":[1,0,5], +"class_intelli_render_settings.html#a38fd592c4948d2e47b95bb6fabc34073":[1,0,5,1], "class_intelli_render_settings.html#a4a01de6e5e8e516a7eae51d6f1f66529":[1,0,5,0], -"class_intelli_render_settings.html#a5d0eb9a5a3bf788dd87509386dea8dcd":[1,0,5,1], "class_intelli_render_settings.html#a5ffb878b77e5d448ffe4eb03a8397ac2":[1,0,5,2], "class_intelli_shaped_image.html":[1,0,6], "class_intelli_shaped_image.html#a43d63d8a814852d377ee2030658fbab9":[1,0,6,1], @@ -143,7 +143,6 @@ var NAVTREEINDEX0 = "class_intelli_shaped_image.html#ae4518c7f5a105cc4f33fabb60c794a93":[1,0,6,5], "class_intelli_shaped_image.html#aed0b31e0fa771104399d1f5ff39a0337":[1,0,6,2], "class_intelli_tool.html":[1,0,7], -"class_intelli_tool.html#a0020fad2e26315d5c4d96dbc95d1dceb":[1,0,7,3], "class_intelli_tool.html#a08ef094271ce6248b42f888472463526":[1,0,7,1], "class_intelli_tool.html#a144d469cc03584f501194529a1b53c77":[1,0,7,14], "class_intelli_tool.html#a16189b00307c6d7e89f28198f54404b0":[1,0,7,9], @@ -164,11 +163,12 @@ var NAVTREEINDEX0 = "class_intelli_tool.html#a57fb1b27d364c9e3696eb928b75fa9f2":[1,0,7,2], "class_intelli_tool.html#a631388999f36013628e13b9de87a6f7b":[1,0,7,12], "class_intelli_tool.html#a906a2575c16c8a33cb2a5197f8d8cc5b":[1,0,7,6], -"class_intelli_tool.html#aae2a11c5bae4973ed827c60e0c1352b1":[1,0,7,4], "class_intelli_tool.html#ab4c2698a0f9f25fb6639ec760d2d0289":[1,0,7,13], "class_intelli_tool.html#ac10e20414cd8855a2f9b103fb6408639":[1,0,7,7], +"class_intelli_tool.html#adf5c06ad2b2c0d745fb68cf80e7e5694":[1,0,7,4], "class_intelli_tool.html#ae2e0ac394611a361ab4ef2fe55c03fef":[1,0,7,15], "class_intelli_tool.html#aedccdad01b2bc6ec84fad3582251ff5d":[1,0,7,11], +"class_intelli_tool.html#af90f0965efbc5c25126691e998f39ca3":[1,0,7,3], "class_intelli_tool_circle.html":[1,0,8], "class_intelli_tool_circle.html#a29d7b9ed4960e6fe1f31ff620363e429":[1,0,8,5], "class_intelli_tool_circle.html#a7a03b65b95d7b5d72e6a92c95f068954":[1,0,8,1], @@ -234,11 +234,11 @@ var NAVTREEINDEX0 = "class_intelli_tool_rectangle.html#ae03c307ccf66cbe3fd59e3657712368d":[1,0,14,2], "class_intelli_toolsettings.html":[1,0,15], "class_intelli_toolsettings.html#a5560602964ab95380967d63ab7ec6e69":[1,0,15,0], -"class_intelli_toolsettings.html#a68528dd3bad8f39ba19fa6b12a4e415a":[1,0,15,3], "class_intelli_toolsettings.html#a73fa94c85c6c2fdc1a33975a33304a6f":[1,0,15,5], -"class_intelli_toolsettings.html#a7d6ce2054ec4bcba7629dc2b514b6b5c":[1,0,15,2], "class_intelli_toolsettings.html#a927e50594a459c952d06acd34c0eff56":[1,0,15,1], +"class_intelli_toolsettings.html#a96d267baa782a32784dbeb1b7cd68cc4":[1,0,15,2], "class_intelli_toolsettings.html#a9a61f3de61efeba2287f8b32941f4271":[1,0,15,4], +"class_intelli_toolsettings.html#abb3ee5a9c8a379167060799d275e65c3":[1,0,15,3], "class_painting_area.html":[1,0,17], "class_painting_area.html#a0b22e18069b524f3e75857d203baf256":[1,0,17,8], "class_painting_area.html#a132535c4e16052c1472cf1b9f3e096ed":[1,0,17,39], diff --git a/docs/html/search/all_5.js b/docs/html/search/all_5.js index 1ba5d99..d8db878 100644 --- a/docs/html/search/all_5.js +++ b/docs/html/search/all_5.js @@ -2,23 +2,23 @@ var searchData= [ ['getdeepcopy_32',['getDeepCopy',['../class_intelli_image.html#af6381067bdf565669f856bb589008ae9',1,'IntelliImage::getDeepCopy()'],['../class_intelli_raster_image.html#a8f901301b106504de3c27308ade897dc',1,'IntelliRasterImage::getDeepCopy()'],['../class_intelli_shaped_image.html#aed0b31e0fa771104399d1f5ff39a0337',1,'IntelliShapedImage::getDeepCopy()']]], ['getdisplayable_33',['getDisplayable',['../class_intelli_image.html#a21c7e65b59a26db45aac3880133ef21d',1,'IntelliImage::getDisplayable(const QSize &displaySize, int alpha)=0'],['../class_intelli_image.html#a9d4daf3c48c64695105689f61c21bae0',1,'IntelliImage::getDisplayable(int alpha=255)=0'],['../class_intelli_raster_image.html#ae43393397b0141a8033fe34d3a1b1884',1,'IntelliRasterImage::getDisplayable(const QSize &displaySize, int alpha) override'],['../class_intelli_raster_image.html#a612d79124f0e2c158a4f0abbe4b5f97f',1,'IntelliRasterImage::getDisplayable(int alpha=255) override'],['../class_intelli_shaped_image.html#a68cf374247c16f07fd84d50e4cd05630',1,'IntelliShapedImage::getDisplayable(const QSize &displaySize, int alpha=255) override'],['../class_intelli_shaped_image.html#ac6a99e1a96134073bceea252b37636cc',1,'IntelliShapedImage::getDisplayable(int alpha=255) override']]], - ['getfirstcolor_34',['getFirstColor',['../class_intelli_color_picker.html#aae2eb27b928fe9388b9398b0556303b7',1,'IntelliColorPicker']]], + ['getfirstcolor_34',['getFirstColor',['../class_intelli_color_picker.html#aeb08029a0c946ed0402c9c11a91965b1',1,'IntelliColorPicker']]], ['getheightofactive_35',['getHeightOfActive',['../class_painting_area.html#ac576f58aad03b4dcd47611b6a4b9abb4',1,'PaintingArea']]], ['getimagedata_36',['getImageData',['../class_intelli_image.html#ad66fbe380ffe0e073a8cd760f8285fe3',1,'IntelliImage']]], ['getimagedataofactivelayer_37',['getImageDataOfActiveLayer',['../class_painting_area.html#a4f484ff3ca7ae202ab57a00f52551423',1,'PaintingArea']]], ['getimageofactivelayer_38',['getImageOfActiveLayer',['../class_painting_area.html#acab11ad35d07e9081203d8217d2c0855',1,'PaintingArea']]], - ['getinneralpha_39',['getInnerAlpha',['../class_intelli_toolsettings.html#a7d6ce2054ec4bcba7629dc2b514b6b5c',1,'IntelliToolsettings']]], + ['getinneralpha_39',['getInnerAlpha',['../class_intelli_toolsettings.html#a96d267baa782a32784dbeb1b7cd68cc4',1,'IntelliToolsettings']]], ['getint_40',['getInt',['../class_intelli_input_dialog.html#a480ac2f5b8f7b9bc1cd7b30df84c2a62',1,'IntelliInputDialog']]], - ['getisdrawing_41',['getIsDrawing',['../class_intelli_tool.html#a0020fad2e26315d5c4d96dbc95d1dceb',1,'IntelliTool']]], - ['getlinewidth_42',['getLineWidth',['../class_intelli_toolsettings.html#a68528dd3bad8f39ba19fa6b12a4e415a',1,'IntelliToolsettings']]], + ['getisdrawing_41',['getIsDrawing',['../class_intelli_tool.html#af90f0965efbc5c25126691e998f39ca3',1,'IntelliTool']]], + ['getlinewidth_42',['getLineWidth',['../class_intelli_toolsettings.html#abb3ee5a9c8a379167060799d275e65c3',1,'IntelliToolsettings']]], ['getmaxheight_43',['getMaxHeight',['../class_painting_area.html#aa811d142df9239ae248679bd70ad6da7',1,'PaintingArea']]], ['getmaxwidth_44',['getMaxWidth',['../class_painting_area.html#aeb082c1cda3edb6b68d8ee45cf4822f8',1,'PaintingArea']]], ['getnumberofactivelayer_45',['getNumberOfActiveLayer',['../class_painting_area.html#a24280454ebb80db7feba2fd621513353',1,'PaintingArea']]], ['getpixelcolor_46',['getPixelColor',['../class_intelli_image.html#a4576ebb6d863321c816293d7b7f9fd3f',1,'IntelliImage']]], ['getpolygondata_47',['getPolygonData',['../class_intelli_image.html#aaf9f3e8db8666850024bee9aad9966ba',1,'IntelliImage::getPolygonData()'],['../class_intelli_shaped_image.html#ae4518c7f5a105cc4f33fabb60c794a93',1,'IntelliShapedImage::getPolygonData()']]], ['getpolygondataofreallayer_48',['getPolygonDataOfRealLayer',['../class_painting_area.html#a7ae21fd031ee1c04f92e042e86be0a90',1,'PaintingArea']]], - ['getsecondcolor_49',['getSecondColor',['../class_intelli_color_picker.html#a55568fbf5dc783f06284b7031ffe9415',1,'IntelliColorPicker']]], - ['gettooltype_50',['getTooltype',['../class_intelli_tool.html#aae2a11c5bae4973ed827c60e0c1352b1',1,'IntelliTool']]], + ['getsecondcolor_49',['getSecondColor',['../class_intelli_color_picker.html#ab41abe8fb7e184db2c33e792f09792e0',1,'IntelliColorPicker']]], + ['gettooltype_50',['getTooltype',['../class_intelli_tool.html#adf5c06ad2b2c0d745fb68cf80e7e5694',1,'IntelliTool']]], ['gettypeofimage_51',['getTypeOfImage',['../class_intelli_image.html#af6b09c8d1d6b54a7e8a4e7286f3e503f',1,'IntelliImage']]], ['gettypeofimagereallayer_52',['getTypeOfImageRealLayer',['../class_painting_area.html#ae92b27dfd09573c224d2ae1958d3bead',1,'PaintingArea']]], ['getwidthofactive_53',['getWidthOfActive',['../class_painting_area.html#a675ee91b26b1c58be6d833f279d81597',1,'PaintingArea']]] diff --git a/docs/html/search/all_7.js b/docs/html/search/all_7.js index 29d4e96..42865e3 100644 --- a/docs/html/search/all_7.js +++ b/docs/html/search/all_7.js @@ -55,7 +55,7 @@ var searchData= ['intellitriangulation_2ecpp_108',['IntelliTriangulation.cpp',['../_intelli_triangulation_8cpp.html',1,'']]], ['intellitriangulation_2eh_109',['IntelliTriangulation.h',['../_intelli_triangulation_8h.html',1,'']]], ['isdrawing_110',['isDrawing',['../class_intelli_tool.html#a555aa8a74992327f740dd69b3bb0ccca',1,'IntelliTool']]], - ['isfastrenderering_111',['isFastRenderering',['../class_intelli_render_settings.html#a5d0eb9a5a3bf788dd87509386dea8dcd',1,'IntelliRenderSettings']]], + ['isfastrenderering_111',['isFastRenderering',['../class_intelli_render_settings.html#a38fd592c4948d2e47b95bb6fabc34073',1,'IntelliRenderSettings']]], ['isinpolygon_112',['isInPolygon',['../namespace_intelli_triangulation.html#ac276696f29d141ed34614c1c3b1c040f',1,'IntelliTriangulation']]], ['isintriangle_113',['isInTriangle',['../namespace_intelli_triangulation.html#ac150fee67fd41a451bd2592f10e00197',1,'IntelliTriangulation']]] ]; diff --git a/docs/html/search/functions_3.js b/docs/html/search/functions_3.js index 46edeb3..b82be64 100644 --- a/docs/html/search/functions_3.js +++ b/docs/html/search/functions_3.js @@ -2,23 +2,23 @@ var searchData= [ ['getdeepcopy_270',['getDeepCopy',['../class_intelli_image.html#af6381067bdf565669f856bb589008ae9',1,'IntelliImage::getDeepCopy()'],['../class_intelli_raster_image.html#a8f901301b106504de3c27308ade897dc',1,'IntelliRasterImage::getDeepCopy()'],['../class_intelli_shaped_image.html#aed0b31e0fa771104399d1f5ff39a0337',1,'IntelliShapedImage::getDeepCopy()']]], ['getdisplayable_271',['getDisplayable',['../class_intelli_image.html#a21c7e65b59a26db45aac3880133ef21d',1,'IntelliImage::getDisplayable(const QSize &displaySize, int alpha)=0'],['../class_intelli_image.html#a9d4daf3c48c64695105689f61c21bae0',1,'IntelliImage::getDisplayable(int alpha=255)=0'],['../class_intelli_raster_image.html#ae43393397b0141a8033fe34d3a1b1884',1,'IntelliRasterImage::getDisplayable(const QSize &displaySize, int alpha) override'],['../class_intelli_raster_image.html#a612d79124f0e2c158a4f0abbe4b5f97f',1,'IntelliRasterImage::getDisplayable(int alpha=255) override'],['../class_intelli_shaped_image.html#a68cf374247c16f07fd84d50e4cd05630',1,'IntelliShapedImage::getDisplayable(const QSize &displaySize, int alpha=255) override'],['../class_intelli_shaped_image.html#ac6a99e1a96134073bceea252b37636cc',1,'IntelliShapedImage::getDisplayable(int alpha=255) override']]], - ['getfirstcolor_272',['getFirstColor',['../class_intelli_color_picker.html#aae2eb27b928fe9388b9398b0556303b7',1,'IntelliColorPicker']]], + ['getfirstcolor_272',['getFirstColor',['../class_intelli_color_picker.html#aeb08029a0c946ed0402c9c11a91965b1',1,'IntelliColorPicker']]], ['getheightofactive_273',['getHeightOfActive',['../class_painting_area.html#ac576f58aad03b4dcd47611b6a4b9abb4',1,'PaintingArea']]], ['getimagedata_274',['getImageData',['../class_intelli_image.html#ad66fbe380ffe0e073a8cd760f8285fe3',1,'IntelliImage']]], ['getimagedataofactivelayer_275',['getImageDataOfActiveLayer',['../class_painting_area.html#a4f484ff3ca7ae202ab57a00f52551423',1,'PaintingArea']]], ['getimageofactivelayer_276',['getImageOfActiveLayer',['../class_painting_area.html#acab11ad35d07e9081203d8217d2c0855',1,'PaintingArea']]], - ['getinneralpha_277',['getInnerAlpha',['../class_intelli_toolsettings.html#a7d6ce2054ec4bcba7629dc2b514b6b5c',1,'IntelliToolsettings']]], + ['getinneralpha_277',['getInnerAlpha',['../class_intelli_toolsettings.html#a96d267baa782a32784dbeb1b7cd68cc4',1,'IntelliToolsettings']]], ['getint_278',['getInt',['../class_intelli_input_dialog.html#a480ac2f5b8f7b9bc1cd7b30df84c2a62',1,'IntelliInputDialog']]], - ['getisdrawing_279',['getIsDrawing',['../class_intelli_tool.html#a0020fad2e26315d5c4d96dbc95d1dceb',1,'IntelliTool']]], - ['getlinewidth_280',['getLineWidth',['../class_intelli_toolsettings.html#a68528dd3bad8f39ba19fa6b12a4e415a',1,'IntelliToolsettings']]], + ['getisdrawing_279',['getIsDrawing',['../class_intelli_tool.html#af90f0965efbc5c25126691e998f39ca3',1,'IntelliTool']]], + ['getlinewidth_280',['getLineWidth',['../class_intelli_toolsettings.html#abb3ee5a9c8a379167060799d275e65c3',1,'IntelliToolsettings']]], ['getmaxheight_281',['getMaxHeight',['../class_painting_area.html#aa811d142df9239ae248679bd70ad6da7',1,'PaintingArea']]], ['getmaxwidth_282',['getMaxWidth',['../class_painting_area.html#aeb082c1cda3edb6b68d8ee45cf4822f8',1,'PaintingArea']]], ['getnumberofactivelayer_283',['getNumberOfActiveLayer',['../class_painting_area.html#a24280454ebb80db7feba2fd621513353',1,'PaintingArea']]], ['getpixelcolor_284',['getPixelColor',['../class_intelli_image.html#a4576ebb6d863321c816293d7b7f9fd3f',1,'IntelliImage']]], ['getpolygondata_285',['getPolygonData',['../class_intelli_image.html#aaf9f3e8db8666850024bee9aad9966ba',1,'IntelliImage::getPolygonData()'],['../class_intelli_shaped_image.html#ae4518c7f5a105cc4f33fabb60c794a93',1,'IntelliShapedImage::getPolygonData()']]], ['getpolygondataofreallayer_286',['getPolygonDataOfRealLayer',['../class_painting_area.html#a7ae21fd031ee1c04f92e042e86be0a90',1,'PaintingArea']]], - ['getsecondcolor_287',['getSecondColor',['../class_intelli_color_picker.html#a55568fbf5dc783f06284b7031ffe9415',1,'IntelliColorPicker']]], - ['gettooltype_288',['getTooltype',['../class_intelli_tool.html#aae2a11c5bae4973ed827c60e0c1352b1',1,'IntelliTool']]], + ['getsecondcolor_287',['getSecondColor',['../class_intelli_color_picker.html#ab41abe8fb7e184db2c33e792f09792e0',1,'IntelliColorPicker']]], + ['gettooltype_288',['getTooltype',['../class_intelli_tool.html#adf5c06ad2b2c0d745fb68cf80e7e5694',1,'IntelliTool']]], ['gettypeofimage_289',['getTypeOfImage',['../class_intelli_image.html#af6b09c8d1d6b54a7e8a4e7286f3e503f',1,'IntelliImage']]], ['gettypeofimagereallayer_290',['getTypeOfImageRealLayer',['../class_painting_area.html#ae92b27dfd09573c224d2ae1958d3bead',1,'PaintingArea']]], ['getwidthofactive_291',['getWidthOfActive',['../class_painting_area.html#a675ee91b26b1c58be6d833f279d81597',1,'PaintingArea']]] diff --git a/docs/html/search/functions_4.js b/docs/html/search/functions_4.js index ea9b7cc..085a772 100644 --- a/docs/html/search/functions_4.js +++ b/docs/html/search/functions_4.js @@ -16,7 +16,7 @@ var searchData= ['intellitoolpolygon_305',['IntelliToolPolygon',['../class_intelli_tool_polygon.html#a63b8c7514a87d4608533fbb557ee0db5',1,'IntelliToolPolygon']]], ['intellitoolrectangle_306',['IntelliToolRectangle',['../class_intelli_tool_rectangle.html#ada06457247d5b173888a9a520b31ec5c',1,'IntelliToolRectangle']]], ['intellitoolsettings_307',['IntelliToolsettings',['../class_intelli_toolsettings.html#a5560602964ab95380967d63ab7ec6e69',1,'IntelliToolsettings']]], - ['isfastrenderering_308',['isFastRenderering',['../class_intelli_render_settings.html#a5d0eb9a5a3bf788dd87509386dea8dcd',1,'IntelliRenderSettings']]], + ['isfastrenderering_308',['isFastRenderering',['../class_intelli_render_settings.html#a38fd592c4948d2e47b95bb6fabc34073',1,'IntelliRenderSettings']]], ['isinpolygon_309',['isInPolygon',['../namespace_intelli_triangulation.html#ac276696f29d141ed34614c1c3b1c040f',1,'IntelliTriangulation']]], ['isintriangle_310',['isInTriangle',['../namespace_intelli_triangulation.html#ac150fee67fd41a451bd2592f10e00197',1,'IntelliTriangulation']]] ]; diff --git a/docs/html/tst__unittest_8cpp_source.html b/docs/html/tst__unittest_8cpp_source.html index 5189812..c3292b4 100644 --- a/docs/html/tst__unittest_8cpp_source.html +++ b/docs/html/tst__unittest_8cpp_source.html @@ -773,8 +773,8 @@ $(document).ready(function(){initNavTree('tst__unittest_8cpp_source.html',''); i
    687  area->Tool->onMouseLeftReleased(point2.x(), point2.y());
    688 
    689 
    -
    690  QVERIFY(area->layerBundle[0].image->getPixelColor(point1)==area->colorPicker.getSecondColor());
    -
    691  QVERIFY(area->layerBundle[0].image->getPixelColor(point2)==area->colorPicker.getFirstColor());
    +
    690  QVERIFY(area->layerBundle[0].image->getPixelColor(point1)==area->colorPicker.getSecondColor());
    +
    691  QVERIFY(area->layerBundle[0].image->getPixelColor(point2)==area->colorPicker.getFirstColor());
    692 
    693  area->deleteLayer(0);
    694 }
    @@ -817,8 +817,8 @@ $(document).ready(function(){initNavTree('tst__unittest_8cpp_source.html',''); i
    731  area->Tool->onMouseLeftReleased(point2.x(), point2.y());
    732 
    733 
    -
    734  QVERIFY(area->layerBundle[0].image->getPixelColor(point1)==area->colorPicker.getFirstColor());
    -
    735  QVERIFY(area->layerBundle[0].image->getPixelColor(point2)==area->colorPicker.getFirstColor());
    +
    734  QVERIFY(area->layerBundle[0].image->getPixelColor(point1)==area->colorPicker.getFirstColor());
    +
    735  QVERIFY(area->layerBundle[0].image->getPixelColor(point2)==area->colorPicker.getFirstColor());
    736 
    737  area->deleteLayer(0);
    738 }
    @@ -860,8 +860,8 @@ $(document).ready(function(){initNavTree('tst__unittest_8cpp_source.html',''); i
    774  area->Tool->onMouseLeftReleased(point2.x(), point2.y());
    775 
    776 
    -
    777  QVERIFY(area->layerBundle[0].image->getPixelColor(point1)==area->colorPicker.getFirstColor());
    -
    778  QVERIFY(area->layerBundle[0].image->getPixelColor(point2)==area->colorPicker.getFirstColor());
    +
    777  QVERIFY(area->layerBundle[0].image->getPixelColor(point1)==area->colorPicker.getFirstColor());
    +
    778  QVERIFY(area->layerBundle[0].image->getPixelColor(point2)==area->colorPicker.getFirstColor());
    779 
    780  area->deleteLayer(0);
    781 }
    @@ -902,8 +902,8 @@ $(document).ready(function(){initNavTree('tst__unittest_8cpp_source.html',''); i
    816  area->Tool->onMouseLeftReleased(point2.x(), point2.y());
    817 
    818 
    -
    819  QVERIFY(area->layerBundle[0].image->getPixelColor(point1)==area->colorPicker.getFirstColor());
    -
    820  QVERIFY(area->layerBundle[0].image->getPixelColor(point2)==area->colorPicker.getFirstColor());
    +
    819  QVERIFY(area->layerBundle[0].image->getPixelColor(point1)==area->colorPicker.getFirstColor());
    +
    820  QVERIFY(area->layerBundle[0].image->getPixelColor(point2)==area->colorPicker.getFirstColor());
    821 
    822  area->deleteLayer(0);
    823 }
    @@ -944,8 +944,8 @@ $(document).ready(function(){initNavTree('tst__unittest_8cpp_source.html',''); i
    858  area->Tool->onMouseLeftReleased(point2.x(), point2.y());
    859 
    860 
    -
    861  QVERIFY(area->layerBundle[0].image->getPixelColor(point1)==area->colorPicker.getFirstColor());
    -
    862  QVERIFY(area->layerBundle[0].image->getPixelColor(point2)==area->colorPicker.getFirstColor());
    +
    861  QVERIFY(area->layerBundle[0].image->getPixelColor(point1)==area->colorPicker.getFirstColor());
    +
    862  QVERIFY(area->layerBundle[0].image->getPixelColor(point2)==area->colorPicker.getFirstColor());
    863 
    864  area->deleteLayer(0);
    865 }
    @@ -1013,13 +1013,13 @@ $(document).ready(function(){initNavTree('tst__unittest_8cpp_source.html',''); i
    927  area->Tool->onMouseLeftPressed(points[0].x(), points[0].y());
    928  area->Tool->onMouseLeftReleased(points[0].x(), points[0].y());
    929 
    -
    930  QVERIFY(area->layerBundle[0].image->getPixelColor(points[0])==area->colorPicker.getFirstColor());
    -
    931  QVERIFY(area->layerBundle[0].image->getPixelColor(points[1])==area->colorPicker.getFirstColor());
    -
    932  QVERIFY(area->layerBundle[0].image->getPixelColor(points[2])==area->colorPicker.getFirstColor());
    -
    933  QVERIFY(area->layerBundle[0].image->getPixelColor(points[3])==area->colorPicker.getFirstColor());
    +
    930  QVERIFY(area->layerBundle[0].image->getPixelColor(points[0])==area->colorPicker.getFirstColor());
    +
    931  QVERIFY(area->layerBundle[0].image->getPixelColor(points[1])==area->colorPicker.getFirstColor());
    +
    932  QVERIFY(area->layerBundle[0].image->getPixelColor(points[2])==area->colorPicker.getFirstColor());
    +
    933  QVERIFY(area->layerBundle[0].image->getPixelColor(points[3])==area->colorPicker.getFirstColor());
    934 
    935 
    -
    936  QVERIFY(area->layerBundle[0].image->getPixelColor(test[4])==area->colorPicker.getSecondColor());
    +
    936  QVERIFY(area->layerBundle[0].image->getPixelColor(test[4])==area->colorPicker.getSecondColor());
    937  QVERIFY(area->layerBundle[0].image->getPixelColor(test[0])==QColor(255,0,0,255));
    938  QVERIFY(area->layerBundle[0].image->getPixelColor(test[1])==QColor(255,0,0,255));
    939  QVERIFY(area->layerBundle[0].image->getPixelColor(test[2])==QColor(255,0,0,255));
    @@ -1100,9 +1100,9 @@ $(document).ready(function(){initNavTree('tst__unittest_8cpp_source.html',''); i
    1014  area->Tool->onMouseLeftReleased(point2.x(), point2.y());
    1015 
    1016 
    -
    1017  QVERIFY(area->layerBundle[0].image->getPixelColor(point1)==area->colorPicker.getFirstColor());
    -
    1018  QVERIFY(area->layerBundle[0].image->getPixelColor(point2)==area->colorPicker.getFirstColor());
    -
    1019  QVERIFY(area->layerBundle[0].image->getPixelColor(point3)==area->colorPicker.getSecondColor());
    +
    1017  QVERIFY(area->layerBundle[0].image->getPixelColor(point1)==area->colorPicker.getFirstColor());
    +
    1018  QVERIFY(area->layerBundle[0].image->getPixelColor(point2)==area->colorPicker.getFirstColor());
    +
    1019  QVERIFY(area->layerBundle[0].image->getPixelColor(point3)==area->colorPicker.getSecondColor());
    1020 
    1021  area->deleteLayer(0);
    1022 }
    @@ -1784,6 +1784,7 @@ $(document).ready(function(){initNavTree('tst__unittest_8cpp_source.html',''); i
    void createCircleTool()
    virtual void onMouseRightPressed(int x, int y)
    A function managing the right click Pressed of a Mouse. Constructing the Canvas to draw on....
    Definition: IntelliTool.cpp:18
    +
    QColor getFirstColor() const
    A function to read the primary selected color.
    virtual void onMouseLeftReleased(int x, int y)
    A function managing the left click Released of a Mouse. Call this in child classes!
    Definition: IntelliTool.cpp:36
    void createRectangleTool()
    @@ -1802,7 +1803,6 @@ $(document).ready(function(){initNavTree('tst__unittest_8cpp_source.html',''); i
    void setSecondColor(QColor Color)
    A function to set the secondary color.
    The IntelliToolPlainTool class represents a tool to fill the whole canvas with one color.
    The IntelliShapedImage manages a Shapedimage.
    -
    QColor getSecondColor()
    A function to read the secondary selected color.
    UnitTest()
    void createPlainTool()
    @@ -1810,6 +1810,7 @@ $(document).ready(function(){initNavTree('tst__unittest_8cpp_source.html',''); i
    void createPenTool()
    +
    QColor getSecondColor() const
    A function to read the secondary selected color.
    The IntelliToolRectangle class represents a tool to draw a rectangle.
    void createLineTool()
    @@ -1824,7 +1825,6 @@ $(document).ready(function(){initNavTree('tst__unittest_8cpp_source.html',''); i
    void moveActiveLayer(int idx)
    The moveActiveLayer moves the active layer to a specific position in the layer stack.
    IntelliColorPicker colorPicker
    Definition: PaintingArea.h:202
    -
    QColor getFirstColor()
    A function to read the primary selected color.
    void createFloodFillTool()
    @ RASTERIMAGE
    Definition: mainUnitTest.cpp:8
    diff --git a/knownBugs.txt b/knownBugs.txt new file mode 100644 index 0000000..8314056 --- /dev/null +++ b/knownBugs.txt @@ -0,0 +1 @@ +history tool doesnt load polygon data on undo iff project was loaded \ No newline at end of file diff --git a/src/GUI/IntelliPhotoGui.cpp b/src/GUI/IntelliPhotoGui.cpp index 5237ee0..44cdf63 100644 --- a/src/GUI/IntelliPhotoGui.cpp +++ b/src/GUI/IntelliPhotoGui.cpp @@ -3,6 +3,11 @@ #include "IntelliPhotoGui.h" #include "Layer/PaintingArea.h" +#include +#include +#include +#include + // IntelliPhotoGui constructor IntelliPhotoGui::IntelliPhotoGui(){ // create Gui elements and lay them out @@ -15,8 +20,7 @@ IntelliPhotoGui::IntelliPhotoGui(){ setIntelliStyle(); // Size the app resize(600,600); - showMaximized(); - setDefaultToolValue(); + setDefaultValues(); } // User tried to close the app @@ -47,10 +51,28 @@ void IntelliPhotoGui::slotOpen(){ // If we have a file name load the image and place // it in the paintingArea if (!fileName.isEmpty()) { - paintingArea->open(fileName); - UpdateGui(); - } - } + bool rightFileType =true; + if(fileName.size()>=4){ + QString endung(".idf"); + int length = fileName.size(); + for(int i=0; i<4; i++){ + if(endung[i]!=fileName[length-4+i]){ + rightFileType = false; + break; + } + } + } + + if(rightFileType){ + IntelliDatamanager::loadProject(paintingArea,fileName); + UpdateGui(); + + } + else{ + paintingArea->open(fileName); + } + } + } } // Called when the user clicks Save As in the menu @@ -79,7 +101,7 @@ void IntelliPhotoGui::slotCreateNewRasterLayer(){ // Create New Layer if (ok1&&ok2) { - paintingArea->addLayer(width,height,0,0,IntelliImage::ImageType::RASTERIMAGE); + paintingArea->addLayer(width,height,0,0,255,ImageType::RASTERIMAGE); UpdateGui(); } } @@ -98,7 +120,7 @@ void IntelliPhotoGui::slotCreateNewShapedLayer(){ // Create New Layer if (ok1&&ok2) { - paintingArea->addLayer(width, height, 0, 0, IntelliImage::ImageType::SHAPEDIMAGE); + paintingArea->addLayer(width, height, 0, 0,255, ImageType::SHAPEDIMAGE); UpdateGui(); } } @@ -115,6 +137,8 @@ void IntelliPhotoGui::slotChangeDim(){ int height = IntelliInputDialog::getInt("New Canvas Size", "Height:", 600, 1, 50000, 1, &ok2); + + // Change dimension if (ok1&&ok2) { paintingArea->setLayerDimensions(width,height); @@ -324,6 +348,14 @@ void IntelliPhotoGui::slotSetInnerAlpha(){ } } +void IntelliPhotoGui::slotGoBack(){ + paintingArea->historyGoBack(); +} + +void IntelliPhotoGui::slotGoForward(){ + paintingArea->historyGoForward(); +} + // Define menu actions that call functions void IntelliPhotoGui::createActions(){ // Get a list of the supported file formats @@ -353,6 +385,14 @@ void IntelliPhotoGui::createActions(){ actionSaveAs.append(pngSaveAction); pngSaveAction->setShortcut(QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_S)); + QAction*projectSaveAction = new QAction("Projekt", this); + projectSaveAction->setData("idf"); + // When clicked call IntelliPhotoGui::save() + connect(projectSaveAction, SIGNAL(triggered()), this, SLOT(slotSave())); + // Attach each PNG in save Menu + actionSaveAs.append(projectSaveAction); + projectSaveAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_S)); + // Create exit action and tie to IntelliPhotoGui::close() actionExit = new QAction(tr("&Exit"), this); actionExit->setShortcuts(QKeySequence::Quit); @@ -522,6 +562,14 @@ void IntelliPhotoGui::createActions(){ actionSetInnerAlpha = new QAction(tr("&Set Inner Alpha"),this); actionSetInnerAlpha->setShortcut(QKeySequence(Qt::ALT + Qt::Key_A)); connect(actionSetInnerAlpha, SIGNAL(triggered()), this, SLOT(slotSetInnerAlpha())); + + actionGoBack = new QAction(tr("&Go back"),this); + actionGoBack->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Z)); + connect(actionGoBack, SIGNAL(triggered()), this, SLOT(slotGoBack())); + + actionGoForward = new QAction(tr("&Go forward"),this); + actionGoForward->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Y)); + connect(actionGoForward, SIGNAL(triggered()), this, SLOT(slotGoForward())); } // Create the menubar @@ -547,6 +595,7 @@ void IntelliPhotoGui::createMenus(){ layerCreationMenu = new QMenu(tr("&Create new Layer"), this); layerCreationMenu->addAction(actionCreateNewRasterLayer); layerCreationMenu->addAction(actionCreateNewShapedLayer); + // Attach all actions to Layer layerMenu = new QMenu(tr("&Layer"), this); layerMenu->addMenu(layerCreationMenu); @@ -594,6 +643,8 @@ void IntelliPhotoGui::createMenus(){ // Attach all actions to Options optionMenu = new QMenu(tr("&Options"), this); + optionMenu->addAction(actionGoBack); + optionMenu->addAction(actionGoForward); optionMenu->addMenu(layerMenu); optionMenu->addMenu(toolMenu); optionMenu->addSeparator(); @@ -623,7 +674,7 @@ void IntelliPhotoGui::createGui(){ // create Gui elements // get and set max width and height paintingArea = new PaintingArea(1280, 720); - paintingArea->DummyGui = this; + paintingArea->guiReference = this; preview = QPixmap(":/Icons/Buttons/icons/circle-tool.svg"); CircleButton = new QPushButton(); @@ -737,8 +788,14 @@ void IntelliPhotoGui::createGui(){ QString String = QString("%1x%2").arg(paintingArea->Canvas->width()).arg(paintingArea->Canvas->height()); dimCanvas->setText(String); + ScrollArea = new QScrollArea(this); + ScrollArea->setBackgroundRole(QPalette::Dark); + ScrollArea->setWidget(paintingArea); + ScrollArea->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOn); + ScrollArea->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn); + // set gui elements - mainLayout->addWidget(paintingArea,1,1,20,1); + mainLayout->addWidget(ScrollArea,1,1,20,1); mainLayout->addWidget(CircleButton,1,2,1,1); mainLayout->addWidget(FloodFillButton,1,3,1,1); mainLayout->addWidget(LineButton,2,2,1,1); @@ -758,6 +815,7 @@ void IntelliPhotoGui::createGui(){ mainLayout->addWidget(dimActive,13,2,1,2); mainLayout->addWidget(dimCanvas,14,2,1,2); mainLayout->setHorizontalSpacing(0); + } void IntelliPhotoGui::setIntelliStyle(){ @@ -774,28 +832,26 @@ void IntelliPhotoGui::setIntelliStyle(){ bool IntelliPhotoGui::maybeSave(){ // Check for changes since last save +#ifdef QT_NO_DEBUG + QMessageBox::StandardButton ret; - // TODO insert variable for modified status here to make an save exit message - if (false) { - QMessageBox::StandardButton ret; + // Painting is the title of the window + // Add text and the buttons + ret = QMessageBox::warning(this, tr("Painting"), + tr("The image has been modified.\n" + "Do you want to save your changes?"), + QMessageBox::Save | QMessageBox::Discard + | QMessageBox::Cancel); - // Painting is the title of the window - // Add text and the buttons - ret = QMessageBox::warning(this, tr("Painting"), - tr("The image has been modified.\n" - "Do you want to save your changes?"), - QMessageBox::Save | QMessageBox::Discard - | QMessageBox::Cancel); + // If save button clicked call for file to be saved + if (ret == QMessageBox::Save) { + return saveFile("png"); - // If save button clicked call for file to be saved - if (ret == QMessageBox::Save) { - return saveFile("png"); - - // If cancel do nothing - } else if (ret == QMessageBox::Cancel) { - return false; - } + // If cancel do nothing + } else if (ret == QMessageBox::Cancel) { + return false; } +#endif return true; } @@ -816,11 +872,15 @@ bool IntelliPhotoGui::saveFile(const QByteArray &fileFormat){ return false; } else { // Call for the file to be saved + if(fileFormat == "idf"){ + return IntelliDatamanager::saveProject(paintingArea, fileName); + + } return paintingArea->save(fileName, fileFormat.constData()); } } -void IntelliPhotoGui::setDefaultToolValue(){ +void IntelliPhotoGui::setDefaultValues(){ slotEnterPressed(); } @@ -845,7 +905,9 @@ void IntelliPhotoGui::UpdateGui(){ tmp.fill(Qt::transparent); preview = preview.fromImage(tmp); } - ActiveLayerImageLabel->setPixmap(preview.scaled(Buttonsize * 2)); + + + ActiveLayerImageLabel->setPixmap(preview.scaled(Buttonsize * 2)); string = QString("background-color: %1").arg(paintingArea->colorPicker.getFirstColor().name()); FirstColorButton->setStyleSheet(string); @@ -856,7 +918,9 @@ void IntelliPhotoGui::UpdateGui(){ dimCanvas->setText(string); if(paintingArea->layerBundle.size() != 0) { - string = QString("%1x%2").arg(paintingArea->layerBundle[static_cast(paintingArea->getNumberOfActiveLayer())].width).arg(paintingArea->layerBundle[static_cast(paintingArea->getNumberOfActiveLayer())].height); + string = QString("%1x%2").arg(paintingArea->layerBundle[static_cast + (paintingArea->getNumberOfActiveLayer())].width).arg(paintingArea->layerBundle[static_cast + (paintingArea->getNumberOfActiveLayer())].height); dimActive->setText(string); } else{ diff --git a/src/GUI/IntelliPhotoGui.h b/src/GUI/IntelliPhotoGui.h index 8d164a4..8c1b000 100644 --- a/src/GUI/IntelliPhotoGui.h +++ b/src/GUI/IntelliPhotoGui.h @@ -14,7 +14,9 @@ #include #include #include +#include #include "IntelliInputDialog.h" +#include "IntelliHelper/IntelliDatamanager.h" //for unit testing class UnitTest; @@ -95,11 +97,15 @@ void slotSetInnerAlpha(); void slotResetTools(); +void slotGoBack(); +void slotGoForward(); + private: + +//setup functions for gui void createActions(); void createMenus(); void createGui(); -// Set the style of the GUI void setIntelliStyle(); // Will check if changes have occurred since last save @@ -107,13 +113,19 @@ bool maybeSave(); // Opens the Save dialog and saves bool saveFile(const QByteArray &fileFormat); -void setDefaultToolValue(); +//basic to set tool values to begin +void setDefaultValues(); // What we'll draw on PaintingArea* paintingArea; -const QSize Buttonsize = QSize(35,35); +//used to display a preview of the active layer QPixmap preview; + +//size of all buttons +const QSize Buttonsize = QSize(35,35); + +//buttons used for gui QPushButton* CircleButton; QPushButton* FloodFillButton; QPushButton* LineButton; @@ -121,35 +133,42 @@ QPushButton* PenButton; QPushButton* PlainButton; QPushButton* PolygonButton; QPushButton* RectangleButton; -QLabel* WidthLine; -QLabel* innerAlphaLine; -QLineEdit* EditLineWidth; -QLineEdit* EditLineInnerAlpha; -QIntValidator* ValidatorLineWidth; -QIntValidator* ValidatorInnerAlpha; - QPushButton* FirstColorButton; QPushButton* SecondColorButton; QPushButton* SwitchColorButton; - -QLabel* ActiveLayerLine; -QLabel* ActiveLayerImageLabel; - QPushButton* dimActive; QPushButton* dimCanvas; +//labels used for gui +QLabel* WidthLine; +QLabel* innerAlphaLine; +QLabel* ActiveLayerLine; +QLabel* ActiveLayerImageLabel; + +//scroll area to display canvas +QScrollArea* ScrollArea; + +//line edits used for gui +QLineEdit* EditLineWidth; +QLineEdit* EditLineInnerAlpha; + +//int validator used for gui +QIntValidator* ValidatorLineWidth; +QIntValidator* ValidatorInnerAlpha; + + // The menu widgets -QMenu*saveAsMenu; -QMenu*fileMenu; -QMenu*renderMenu; -QMenu*optionMenu; -QMenu*layerCreationMenu; -QMenu*layerMenu; -QMenu*colorMenu; -QMenu*toolCreationMenu; -QMenu*toolSettingsMenu; -QMenu*toolMenu; -QMenu*helpMenu; +QMenu* saveAsMenu; +QMenu* fileMenu; +QMenu* renderMenu; +QMenu* optionMenu; +QMenu* layerCreationMenu; +QMenu* layerMenu; +QMenu* colorMenu; +QMenu* toolCreationMenu; +QMenu* toolSettingsMenu; +QMenu* toolMenu; +QMenu* helpMenu; // All the actions that can occur // meta image actions (need further modularisation) @@ -175,7 +194,9 @@ QAction* actionCreatePolygonTool; QAction* actionCreateFloodFillTool; // dimension actions -QAction*actionChangeDim; +QAction* actionChangeDim; +QAction* actionSetWidth; +QAction* actionSetInnerAlpha; // dialog actions QAction* actionAboutDialog; @@ -195,11 +216,14 @@ QAction* actionMovePositionRight; QAction* actionMoveLayerUp; QAction* actionMoveLayerDown; -// Actions tied to specific file formats +// actions tied to specific file formats QList actionSaveAs; -QAction* actionSetWidth; -QAction* actionSetInnerAlpha; + + +// history actions +QAction* actionGoBack; +QAction* actionGoForward; // main GUI elements QWidget* centralGuiWidget; diff --git a/src/Image/IntelliImage.cpp b/src/Image/IntelliImage.cpp index 0017877..446997d 100644 --- a/src/Image/IntelliImage.cpp +++ b/src/Image/IntelliImage.cpp @@ -2,7 +2,7 @@ #include #include -IntelliImage::IntelliImage(int width, int height, bool fastRendererOn) +IntelliImage:: IntelliImage(int width, int height, bool fastRendererOn) : imageData(QSize(width, height), fastRendererOn ? QImage::Format_Indexed8 : QImage::Format_ARGB32){ if(fastRendererOn) { imageData = imageData.convertToFormat(QImage::Format_ARGB32); @@ -15,6 +15,7 @@ IntelliImage::IntelliImage(int width, int height, bool fastRendererOn) } + IntelliImage::~IntelliImage(){ } @@ -158,3 +159,15 @@ void IntelliImage::updateRendererSetting(bool fastRendererOn){ this->imageData = imageData.convertToFormat(QImage::Format_ARGB32); } } + +int IntelliImage::getWidth() const{ + return imageData.width(); +} + +int IntelliImage::getHeight() const{ + return imageData.height(); +} + +bool IntelliImage::isFastRendering() const{ + return this->fastRenderering; +} diff --git a/src/Image/IntelliImage.h b/src/Image/IntelliImage.h index 5c19186..a767c54 100644 --- a/src/Image/IntelliImage.h +++ b/src/Image/IntelliImage.h @@ -16,6 +16,14 @@ class UnitTest; class IntelliTool; +/*! + * \brief The Types, which an Image can be. + */ +enum class ImageType { + RASTERIMAGE, + SHAPEDIMAGE +}; + /*! * \brief An abstract class which manages the basic IntelliImage operations. */ @@ -24,14 +32,6 @@ friend UnitTest; friend IntelliTool; public: -/*! - * \brief The Types, which an Image can be. - */ -enum class ImageType { - RASTERIMAGE, - SHAPEDIMAGE -}; - protected: void resizeImage(QImage*image, const QSize &newSize); @@ -59,6 +59,7 @@ public: */ IntelliImage(int width, int height, bool fastRendererOn); + /*! * \brief An Abstract Destructor. */ @@ -170,6 +171,12 @@ virtual QImage getImageData(); */ virtual void setImageData(const QImage& newData); +virtual int getWidth() const; + +virtual int getHeight() const; + +virtual bool isFastRendering() const; + }; #endif diff --git a/src/Image/IntelliRasterImage.cpp b/src/Image/IntelliRasterImage.cpp index 3106e36..de9412f 100644 --- a/src/Image/IntelliRasterImage.cpp +++ b/src/Image/IntelliRasterImage.cpp @@ -5,18 +5,28 @@ IntelliRasterImage::IntelliRasterImage(int width, int height, bool fastRendererOn) : IntelliImage(width, height, fastRendererOn){ - TypeOfImage = IntelliImage::ImageType::RASTERIMAGE; + TypeOfImage = ImageType::RASTERIMAGE; this->fastRenderering = fastRendererOn; } + +IntelliRasterImage* IntelliRasterImage::copy(const IntelliRasterImage& image){ + this->TypeOfImage = ImageType::RASTERIMAGE; + IntelliRasterImage* raster = new IntelliRasterImage(imageData.width(), imageData.height(), this->fastRenderering); + raster->imageData.copy(0,0,image.getWidth(),image.getWidth()); + return raster; +} + + + IntelliRasterImage::~IntelliRasterImage(){ } IntelliImage* IntelliRasterImage::getDeepCopy(){ - IntelliRasterImage* raster = new IntelliRasterImage(imageData.width(), imageData.height(), false); + IntelliRasterImage* raster = new IntelliRasterImage(imageData.width(), imageData.height(), this->fastRenderering); raster->imageData.fill(Qt::transparent); - raster->TypeOfImage = IntelliImage::ImageType::RASTERIMAGE; + raster->TypeOfImage = ImageType::RASTERIMAGE; return raster; } @@ -49,3 +59,7 @@ QImage IntelliRasterImage::getDisplayable(const QSize& displaySize, int alpha){ void IntelliRasterImage::setPolygon(const std::vector& polygonData){ return; } + +std::vector IntelliRasterImage::getPolygon(){ + return std::vector(); +} diff --git a/src/Image/IntelliRasterImage.h b/src/Image/IntelliRasterImage.h index a67472a..5b224dc 100644 --- a/src/Image/IntelliRasterImage.h +++ b/src/Image/IntelliRasterImage.h @@ -26,6 +26,8 @@ public: */ IntelliRasterImage(int width, int height, bool fastRendererOn); +IntelliRasterImage* copy(const IntelliRasterImage& image); + /*! * \brief An Destructor. */ @@ -57,6 +59,12 @@ virtual IntelliImage* getDeepCopy() override; * \param polygonData - The Vertices of the Polygon. Nothing happens. */ virtual void setPolygon(const std::vector& polygonData) override; + +/*! + * \brief getPolygon + * \return returns the points of the polygon + */ +virtual std::vector getPolygon(); }; #endif diff --git a/src/Image/IntelliShapedImage.cpp b/src/Image/IntelliShapedImage.cpp index 14c7b71..6aca975 100644 --- a/src/Image/IntelliShapedImage.cpp +++ b/src/Image/IntelliShapedImage.cpp @@ -6,10 +6,17 @@ IntelliShapedImage::IntelliShapedImage(int width, int height, bool fastRendererOn) : IntelliRasterImage(width, height, fastRendererOn){ - TypeOfImage = IntelliImage::ImageType::SHAPEDIMAGE; + TypeOfImage = ImageType::SHAPEDIMAGE; this->fastRenderering = fastRendererOn; } +IntelliShapedImage* IntelliShapedImage::copy(const IntelliShapedImage& image){ + this->TypeOfImage = ImageType::SHAPEDIMAGE; + IntelliShapedImage* shaped = new IntelliShapedImage(imageData.width(), imageData.height(), this->fastRenderering); + shaped->imageData.copy(0,0,image.getWidth(),image.getWidth()); + return shaped; +} + IntelliShapedImage::~IntelliShapedImage(){ } @@ -19,10 +26,10 @@ QImage IntelliShapedImage::getDisplayable(int alpha){ } IntelliImage* IntelliShapedImage::getDeepCopy(){ - IntelliShapedImage* shaped = new IntelliShapedImage(imageData.width(), imageData.height(), false); + IntelliShapedImage* shaped = new IntelliShapedImage(imageData.width(), imageData.height(), this->fastRenderering); shaped->setPolygon(this->polygonData); shaped->imageData.fill(Qt::transparent); - shaped->TypeOfImage = IntelliImage::ImageType::SHAPEDIMAGE; + shaped->TypeOfImage = ImageType::SHAPEDIMAGE; return shaped; } @@ -111,3 +118,7 @@ void IntelliShapedImage::setPolygon(const std::vector& polygonData){ calculateVisiblity(); return; } + +std::vector IntelliShapedImage::getPolygon(){ + return polygonData; +} diff --git a/src/Image/IntelliShapedImage.h b/src/Image/IntelliShapedImage.h index 32c4c9f..6f236ab 100644 --- a/src/Image/IntelliShapedImage.h +++ b/src/Image/IntelliShapedImage.h @@ -38,6 +38,7 @@ public: */ IntelliShapedImage(int width, int height, bool fastRendererOn); +IntelliShapedImage* copy(const IntelliShapedImage& image); /*! * \brief An Destructor. */ @@ -77,6 +78,14 @@ virtual std::vector getPolygonData() override { * \param polygonData - The Vertices of the Polygon. Just Planar Polygons are allowed. */ virtual void setPolygon(const std::vector& polygonData) override; + + +/*! + * \brief getPolygon + * \return returns the data of the polygon as points + */ +virtual std::vector getPolygon() override; }; + #endif diff --git a/src/IntelliHelper/IntelliColorPicker.cpp b/src/IntelliHelper/IntelliColorPicker.cpp index b13ca02..3cf60db 100644 --- a/src/IntelliHelper/IntelliColorPicker.cpp +++ b/src/IntelliHelper/IntelliColorPicker.cpp @@ -12,11 +12,11 @@ void IntelliColorPicker::swapColors(){ std::swap(firstColor, secondColor); } -QColor IntelliColorPicker::getFirstColor(){ +QColor IntelliColorPicker::getFirstColor() const { return this->firstColor; } -QColor IntelliColorPicker::getSecondColor(){ +QColor IntelliColorPicker::getSecondColor() const { return this->secondColor; } diff --git a/src/IntelliHelper/IntelliColorPicker.h b/src/IntelliHelper/IntelliColorPicker.h index 401d74d..06bd89f 100644 --- a/src/IntelliHelper/IntelliColorPicker.h +++ b/src/IntelliHelper/IntelliColorPicker.h @@ -33,13 +33,13 @@ void swapColors(); * \brief A function to read the primary selected color. * \return Returns the primary color. */ -QColor getFirstColor(); +QColor getFirstColor() const; /*! * \brief A function to read the secondary selected color. * \return Returns the secondary color. */ -QColor getSecondColor(); +QColor getSecondColor() const; /*! * \brief A function to set the primary color. diff --git a/src/IntelliHelper/IntelliDatamanager.cpp b/src/IntelliHelper/IntelliDatamanager.cpp new file mode 100644 index 0000000..bce95f6 --- /dev/null +++ b/src/IntelliHelper/IntelliDatamanager.cpp @@ -0,0 +1,101 @@ +#include "IntelliDatamanager.h" +#include "Layer/PaintingArea.h" + +bool IntelliDatamanager::saveProject(PaintingArea* Canvas, QString filePath){ + QFile openFile(filePath); + + if(openFile.open(QIODevice::WriteOnly)){ + + QTextStream out(&openFile); + std::vector* layerBundle = Canvas->getLayerBundle(); + size_t numberOfLayers = layerBundle->size(); + out << 7 << endl; //version tag + out << Canvas->getRenderSettings() << " "; + out << Canvas->getMaxWidth() << " " << Canvas->getMaxHeight() << endl; //dimensions of canvas + out << numberOfLayers << endl; //number of layers + for(size_t i = 0; iat(i).width; + int height = layerBundle->at(i).height; + out << width << endl; //width + out << height << endl; //height + out << layerBundle->at(i).widthOffset << endl; //widthOffset + out << layerBundle->at(i).heightOffset << endl; //HeightOffset + out << layerBundle->at(i).alpha << endl; //alpha of layer + if(layerBundle->at(i).image->getTypeOfImage() == ImageType::RASTERIMAGE){ + out << 0 << " "; + }else{ + out << 1 << " "; + } + std::vector points = layerBundle->at(i).image->getPolygonData(); + out << points.size() << " "; + for(size_t j = 0; jat(i).image->getImageData().pixelColor(j,k); + out << pixColor.red() << " " << pixColor.green() << " " << pixColor.blue() << " " << pixColor.alpha() << " "; + } + } + + } + out << "\nFormat designed and approved by IntelliPhoto Team 7. All rigths reserved."; + openFile.close(); + return true; + } + + return false; +} + +bool IntelliDatamanager::loadProject(PaintingArea* Canvas, QString filePath){ + QFile openFile(filePath); + Canvas->deleteAllLayers(); + if(openFile.open(QIODevice::ReadOnly)){ + QTextStream in(&openFile); + + float version; + int rendersetting; + int widthCanvas, heightCanvas, numberOffLayers; + in >> version; + in >> rendersetting; + in >> widthCanvas >> heightCanvas; + in >> numberOffLayers; + + Canvas->setLayerDimensions(widthCanvas, heightCanvas); + for(int i=0; i> width >> height >> widthOffset >> heightOffset >> alpha; + + int typeFlag; + size_t numberOfPoints; + std::vector polyPoints; + + in >> typeFlag >> numberOfPoints; + if(typeFlag==0){ + Canvas->addLayer(width, height, widthOffset, heightOffset, alpha, ImageType::RASTERIMAGE); + }else{ + Canvas->addLayer(width, height, widthOffset, heightOffset, alpha, ImageType::SHAPEDIMAGE); + } + polyPoints.reserve(numberOfPoints); + for(size_t j=0; j> x >> y; + polyPoints.push_back(QPoint(x,y)); + } + Canvas->setPolygonDataToActive(polyPoints); + + for(int j=0; j> red >> green >> blue >> alpha; + Canvas->setPixelToActive(QColor(red, green, blue, alpha), QPoint(j, k)); + } + } + } + Canvas->setRenderSettings(static_cast(rendersetting)); + openFile.close(); + return true; + } + + return false; +} diff --git a/src/IntelliHelper/IntelliDatamanager.h b/src/IntelliHelper/IntelliDatamanager.h new file mode 100644 index 0000000..eb121d9 --- /dev/null +++ b/src/IntelliHelper/IntelliDatamanager.h @@ -0,0 +1,16 @@ +#ifndef INTELLIDATAMANAGER_H +#define INTELLIDATAMANAGER_H + +#include +#include + +class PaintingArea; + +namespace IntelliDatamanager{ + + bool loadProject(PaintingArea* Canvas, QString filePath = "unnamed.idf"); + bool saveProject(PaintingArea* Canvas, QString filePath = "unnamed.idf"); + +} + +#endif // INTELLIDATAMANAGER_H diff --git a/src/IntelliHelper/IntelliRenderSettings.cpp b/src/IntelliHelper/IntelliRenderSettings.cpp index c1f6b19..88c3163 100644 --- a/src/IntelliHelper/IntelliRenderSettings.cpp +++ b/src/IntelliHelper/IntelliRenderSettings.cpp @@ -9,6 +9,6 @@ void IntelliRenderSettings::setFastRendering(bool Updatedsetting){ this->fastRenderering = Updatedsetting; } -bool IntelliRenderSettings::isFastRenderering(){ +bool IntelliRenderSettings::isFastRenderering() const { return fastRenderering; } diff --git a/src/IntelliHelper/IntelliRenderSettings.h b/src/IntelliHelper/IntelliRenderSettings.h index b8b1a87..296c186 100644 --- a/src/IntelliHelper/IntelliRenderSettings.h +++ b/src/IntelliHelper/IntelliRenderSettings.h @@ -20,7 +20,7 @@ void setFastRendering(bool Updatedsetting); * \brief The getfastRenderer gets the value of the flag for the fastRenderer setting. * \return Returns true if fastRenderer is active else false */ -bool isFastRenderering(); +bool isFastRenderering() const; private: bool fastRenderering = true; diff --git a/src/IntelliHelper/IntelliToolsettings.cpp b/src/IntelliHelper/IntelliToolsettings.cpp index c6a7cfc..528e3e0 100644 --- a/src/IntelliHelper/IntelliToolsettings.cpp +++ b/src/IntelliHelper/IntelliToolsettings.cpp @@ -11,7 +11,7 @@ IntelliToolsettings::~IntelliToolsettings(){ } -int IntelliToolsettings::getLineWidth(){ +int IntelliToolsettings::getLineWidth() const { return lineWidth; } @@ -25,7 +25,7 @@ void IntelliToolsettings::setLineWidth(int LineWidth){ lineWidth = LineWidth; } -int IntelliToolsettings::getInnerAlpha(){ +int IntelliToolsettings::getInnerAlpha() const { return this->innerAlpha; } diff --git a/src/IntelliHelper/IntelliToolsettings.h b/src/IntelliHelper/IntelliToolsettings.h index 1b0f90c..c2fd2bb 100644 --- a/src/IntelliHelper/IntelliToolsettings.h +++ b/src/IntelliHelper/IntelliToolsettings.h @@ -10,10 +10,10 @@ public: IntelliToolsettings(); virtual ~IntelliToolsettings(); -int getLineWidth(); +int getLineWidth() const; void setLineWidth(int LineWidth); -int getInnerAlpha(); +int getInnerAlpha() const; void setInnerAlpha(int innerAlpha); private: diff --git a/src/IntelliPhoto.pro b/src/IntelliPhoto.pro index faf6c86..2b1d4d5 100755 --- a/src/IntelliPhoto.pro +++ b/src/IntelliPhoto.pro @@ -22,6 +22,7 @@ SOURCES += \ Image/IntelliRasterImage.cpp \ Image/IntelliShapedImage.cpp \ IntelliHelper/IntelliColorPicker.cpp \ + IntelliHelper/IntelliDatamanager.cpp \ IntelliHelper/IntelliRenderSettings.cpp \ IntelliHelper/IntelliToolsettings.cpp \ IntelliHelper/IntelliTriangulation.cpp \ @@ -43,6 +44,7 @@ HEADERS += \ Image/IntelliRasterImage.h \ Image/IntelliShapedImage.h \ IntelliHelper/IntelliColorPicker.h \ + IntelliHelper/IntelliDatamanager.h \ IntelliHelper/IntelliRenderSettings.h \ IntelliHelper/IntelliToolsettings.h \ IntelliHelper/IntelliTriangulation.h \ diff --git a/src/Layer/PaintingArea.cpp b/src/Layer/PaintingArea.cpp index 0bf6a0e..d147488 100644 --- a/src/Layer/PaintingArea.cpp +++ b/src/Layer/PaintingArea.cpp @@ -17,10 +17,27 @@ #include "Tool/IntelliToolRectangle.h" #include "Tool/IntelliToolFloodFill.h" #include "Tool/IntelliToolPolygon.h" +#include "GUI/IntelliPhotoGui.h" +LayerObject::LayerObject(){ + +} + +LayerObject::LayerObject(const LayerObject& layer){ + if(layer.image->getTypeOfImage()==ImageType::RASTERIMAGE){ + this->image = new IntelliRasterImage(*dynamic_cast(layer.image)); + }else if(layer.image->getTypeOfImage()==ImageType::SHAPEDIMAGE){ + this->image = new IntelliShapedImage(*dynamic_cast(layer.image)); + } + this->width = layer.width; + this->height = layer.height; + this->widthOffset = layer.widthOffset; + this->heightOffset = layer.heightOffset; + this->alpha = layer.alpha; +} PaintingArea::PaintingArea(int maxWidth, int maxHeight, QWidget*parent) - : QWidget(parent){ + : QLabel(parent){ this->Tool = nullptr; this->setLayerDimensions(maxWidth, maxHeight); @@ -48,32 +65,48 @@ void PaintingArea::setRenderSettings(bool isFastRenderingOn){ } } +bool PaintingArea::getRenderSettings(){ + return this->renderSettings.isFastRenderering(); +} + void PaintingArea::setLayerDimensions(int maxWidth, int maxHeight){ //set standart parameter this->maxWidth = maxWidth; this->maxHeight = maxHeight; Canvas = new QImage(maxWidth,maxHeight, QImage::Format_ARGB32); + this->offsetXDimension = maxWidth/2; + this->offsetYDimension = maxHeight/2; + // Roots the widget to the top left even if resized setAttribute(Qt::WA_StaticContents); } -int PaintingArea::addLayer(int width, int height, int widthOffset, int heightOffset, IntelliImage::ImageType type){ +void PaintingArea::setPixelToActive(QColor color, QPoint point){ + layerBundle[static_cast(activeLayer)].image->drawPixel(point, color); +} + +void PaintingArea::setPolygonDataToActive(std::vector points){ + layerBundle[static_cast(activeLayer)].image->setPolygon(points); +} + +int PaintingArea::addLayer(int width, int height, int widthOffset, int heightOffset,int alpha, ImageType type){ LayerObject newLayer; updateTools(); newLayer.width = width; newLayer.height = height; newLayer.widthOffset = widthOffset; newLayer.heightOffset = heightOffset; - if(type==IntelliImage::ImageType::RASTERIMAGE) { + newLayer.alpha = alpha; + if(type==ImageType::RASTERIMAGE) { newLayer.image = new IntelliRasterImage(width,height,renderSettings.isFastRenderering()); - }else if(type==IntelliImage::ImageType::SHAPEDIMAGE) { + }else if(type==ImageType::SHAPEDIMAGE) { newLayer.image = new IntelliShapedImage(width, height, renderSettings.isFastRenderering()); } - newLayer.alpha = 255; this->layerBundle.push_back(newLayer); activeLayer = static_cast(layerBundle.size()) - 1; + historyadd(); return activeLayer; } @@ -98,6 +131,7 @@ void PaintingArea::slotDeleteActiveLayer(){ this->layerBundle.erase(layerBundle.begin() + activeLayer); activeLayer--; } + historyadd(); } void PaintingArea::setLayerActive(int idx){ @@ -116,11 +150,11 @@ void PaintingArea::setLayerAlpha(int idx, int alpha){ } void PaintingArea::setPolygon(int idx){ if(idx>=0&&idx(layerBundle.size())) { - if(layerBundle[static_cast(idx)].image->getTypeOfImage()==IntelliImage::ImageType::SHAPEDIMAGE) { + if(layerBundle[static_cast(idx)].image->getTypeOfImage()==ImageType::SHAPEDIMAGE) { delete this->Tool; this->Tool = new IntelliToolPolygon(this,&colorPicker,&Toolsettings, true); isSettingPolygon = true; - this->DummyGui->setToolWidth(5); + this->guiReference->setToolWidth(5); } } } @@ -137,6 +171,13 @@ bool PaintingArea::open(const QString &filePath){ return open; } +void PaintingArea::deleteAllLayers(){ + for(auto layer: layerBundle){ + delete layer.image; + } + layerBundle.clear(); +} + // Save the current image bool PaintingArea::save(const QString &filePath, const char*fileFormat){ if(layerBundle.size()==0) { @@ -165,6 +206,7 @@ void PaintingArea::movePositionActive(int x, int y){ updateTools(); layerBundle[static_cast(activeLayer)].widthOffset += x; layerBundle[static_cast(activeLayer)].heightOffset += y; + historyadd(); } void PaintingArea::moveActiveLayer(int idx){ @@ -174,7 +216,8 @@ void PaintingArea::moveActiveLayer(int idx){ }else if(idx==-1) { this->selectLayerDown(); } - DummyGui->UpdateGui(); + guiReference->UpdateGui(); + historyadd(); } void PaintingArea::slotActivateLayer(int a){ @@ -233,11 +276,11 @@ void PaintingArea::createFloodFillTool(){ } int PaintingArea::getWidthOfActive(){ - return this->layerBundle[static_cast(activeLayer)].width; + return this->layerBundle[static_cast(activeLayer)].width; } int PaintingArea::getHeightOfActive(){ - return this->layerBundle[static_cast(activeLayer)].height; + return this->layerBundle[static_cast(activeLayer)].height; } int PaintingArea::getMaxWidth(){ @@ -248,12 +291,12 @@ int PaintingArea::getMaxHeight(){ return this->maxHeight; } -IntelliImage::ImageType PaintingArea::getTypeOfImageRealLayer(){ - return this->layerBundle[static_cast(activeLayer)].image->getTypeOfImage(); +ImageType PaintingArea::getTypeOfImageRealLayer(){ + return this->layerBundle[static_cast(activeLayer)].image->getTypeOfImage(); } std::vector PaintingArea::getPolygonDataOfRealLayer(){ - return this->layerBundle[static_cast(activeLayer)].image->getPolygonData(); + return this->layerBundle[static_cast(activeLayer)].image->getPolygonData(); } // If a mouse button is pressed check if it was the @@ -265,12 +308,12 @@ void PaintingArea::mousePressEvent(QMouseEvent*event){ } if(Tool == nullptr) return; - int x = event->x() - layerBundle[static_cast(activeLayer)].widthOffset; - int y = event->y() - layerBundle[static_cast(activeLayer)].heightOffset; + int x = event->x() - layerBundle[static_cast(activeLayer)].widthOffset-offsetXDimension; + int y = event->y() - layerBundle[static_cast(activeLayer)].heightOffset-offsetYDimension; if(event->button() == Qt::LeftButton) { - Tool->onMouseLeftPressed(x, y); + Tool->onMouseLeftPressed(x, y); }else if(event->button() == Qt::RightButton) { - Tool->onMouseRightPressed(x, y); + Tool->onMouseRightPressed(x, y); } update(); } @@ -284,8 +327,8 @@ void PaintingArea::mouseMoveEvent(QMouseEvent*event){ } if(Tool == nullptr) return; - int x = event->x() - layerBundle[static_cast(activeLayer)].widthOffset; - int y = event->y() - layerBundle[static_cast(activeLayer)].heightOffset; + int x = event->x() - layerBundle[static_cast(activeLayer)].widthOffset-offsetXDimension; + int y = event->y() - layerBundle[static_cast(activeLayer)].heightOffset-offsetYDimension; Tool->onMouseMoved(x, y); update(); } @@ -296,8 +339,8 @@ void PaintingArea::mouseReleaseEvent(QMouseEvent*event){ return; if(Tool == nullptr) return; - int x = event->x() - layerBundle[static_cast(activeLayer)].widthOffset; - int y = event->y() - layerBundle[static_cast(activeLayer)].heightOffset; + int x = event->x() - layerBundle[static_cast(activeLayer)].widthOffset-offsetXDimension; + int y = event->y() - layerBundle[static_cast(activeLayer)].heightOffset-offsetYDimension; if(event->button() == Qt::LeftButton) { Tool->onMouseLeftReleased(x, y); }else if(event->button() == Qt::RightButton) { @@ -322,11 +365,17 @@ void PaintingArea::wheelEvent(QWheelEvent*event){ // The QPaintEvent is sent to widgets that need to // update themselves void PaintingArea::paintEvent(QPaintEvent*event){ + this->setFixedSize(QSize(maxWidth*2,maxHeight*2)); this->drawLayers(); - QPainter painter(this); - QRect dirtyRec = event->rect(); - painter.drawImage(dirtyRec, *Canvas, dirtyRec); + QPainter painter(this); + + //insert zoom factor here + painter.scale(1,1); + + //calulate image here for scroll + //Todo set offset in first to parameters and calulate them into mouse position + painter.drawImage(0, 0, *Canvas, -offsetXDimension, -offsetYDimension); update(); } @@ -341,7 +390,7 @@ void PaintingArea::selectLayerUp(){ void PaintingArea::selectLayerDown(){ updateTools(); if(activeLayer>0) { - std::swap(layerBundle[static_cast(activeLayer)], layerBundle[static_cast(activeLayer - 1)]); + std::swap(layerBundle[static_cast(activeLayer)], layerBundle[static_cast(activeLayer - 1)]); activeLayer--; } } @@ -385,11 +434,11 @@ bool PaintingArea::createTempTopLayer(int idx){ if(idx>=0) { LayerObject newLayer; newLayer.alpha = 255; - newLayer.height = layerBundle[static_cast(idx)].height; - newLayer.width = layerBundle[static_cast(idx)].width; - newLayer.heightOffset = layerBundle[static_cast(idx)].heightOffset; - newLayer.widthOffset = layerBundle[static_cast(idx)].widthOffset; - newLayer.image = layerBundle[static_cast(idx)].image->getDeepCopy(); + newLayer.height = layerBundle[static_cast(idx)].height; + newLayer.width = layerBundle[static_cast(idx)].width; + newLayer.heightOffset = layerBundle[static_cast(idx)].heightOffset; + newLayer.widthOffset = layerBundle[static_cast(idx)].widthOffset; + newLayer.image = layerBundle[static_cast(idx)].image->getDeepCopy(); layerBundle.insert(layerBundle.begin() + idx + 1,newLayer); return true; } @@ -435,6 +484,10 @@ QImage PaintingArea::getImageDataOfActiveLayer(){ return returnImage; } +std::vector* PaintingArea::getLayerBundle(){ + return &layerBundle; +} + void PaintingArea::updateTools(){ if(Tool!=nullptr) { if(Tool->getIsDrawing()) { @@ -449,3 +502,33 @@ void PaintingArea::updateTools(){ } } } + +void PaintingArea::historyadd(){ + + if (++historyPresent == 100){ + historyPresent = 0; + } + historyMaxFuture = historyPresent; + if (historyPresent == historyMaxPast) + if (++historyMaxPast == 100) + historyMaxPast = 0; + history[static_cast(historyPresent)] = layerBundle; +} + +void PaintingArea::historyGoBack(){ + if (historyPresent != historyMaxPast){ + if (--historyPresent == -1) + historyPresent = 99; + layerBundle = history[static_cast(historyPresent)]; + } + this->guiReference->UpdateGui(); +} + +void PaintingArea::historyGoForward(){ + if (historyPresent != historyMaxFuture){ + if (++historyPresent == 100) + historyPresent = 0; + layerBundle = history[static_cast(historyPresent)]; + } + this->guiReference->UpdateGui(); +} diff --git a/src/Layer/PaintingArea.h b/src/Layer/PaintingArea.h index 58eb411..4c6d109 100644 --- a/src/Layer/PaintingArea.h +++ b/src/Layer/PaintingArea.h @@ -7,7 +7,7 @@ #include #include #include -#include "GUI/IntelliPhotoGui.h" +#include #include "Image/IntelliImage.h" #include "Image/IntelliRasterImage.h" #include "Image/IntelliShapedImage.h" @@ -16,7 +16,7 @@ //for unit testing class UnitTest; - +class IntelliPhotoGui; /*! * \brief The LayerObject struct holds all the information needed to construct a layer */ @@ -45,12 +45,16 @@ struct LayerObject { * \brief alpha - Stores the alpha value of the layer (default=255). */ int alpha = 255; + + LayerObject(); + + LayerObject(const LayerObject& layer); }; /*! * \brief The PaintingArea class manages the methods and stores information about the current painting area, which is the currently opened project */ -class PaintingArea : public QWidget +class PaintingArea : public QLabel { friend UnitTest; // Declares our class as a QObject which is the base class @@ -79,6 +83,12 @@ PaintingArea(int maxWidth = 600, int maxHeight = 600, QWidget*parent = nullptr); */ void setRenderSettings(bool isFastRenderingOn); +/*! + * \brief getRenderSettings updates all Images to the new Rendersetting. + * \param isFastRenderingOn is the new given flag for the FastRenderer. + */ +bool getRenderSettings(); + /*! * \brief The open method is used for loading a picture into the current layer. * \param filePath - Path and Name which are used to determine where the to-be-opened file is stored. @@ -93,16 +103,21 @@ bool open(const QString &filePath); */ bool save(const QString &filePath, const char*fileFormat); +/*! + * \brief deleteAllLayers deletes all layers + */ +void deleteAllLayers(); /*! * \brief The addLayer adds a layer to the current project/ painting area * \param width - Width of the layer in pixles * \param height - Height of the layer in pixles * \param widthOffset - Offset of the layer measured to the left border of the painting area in pixles * \param heightOffset - Offset of the layer measured to the top border of the painting area in pixles + * \param alpha - Transparence of the layer * \param type - Defining the ImageType of the new layer * \return Returns the number of layers in the project */ -int addLayer(int width, int height, int widthOffset = 0, int heightOffset = 0, IntelliImage::ImageType type = IntelliImage::ImageType::RASTERIMAGE); +int addLayer(int width, int height, int widthOffset = 0, int heightOffset = 0, int alpha=255, ImageType type = ImageType::RASTERIMAGE); /*! * \brief The addLayerAt adds a layer to the current project/ painting area at a specific position in the layer stack * \param idx - Index of the position the new layer should be added @@ -113,7 +128,7 @@ int addLayer(int width, int height, int widthOffset = 0, int heightOffset = 0, I * \param type - Defining the ImageType of the new layer * \return Returns the id of the layer position */ -int addLayerAt(int idx, int width, int height, int widthOffset = 0, int heightOffset = 0, IntelliImage::ImageType type = IntelliImage::ImageType::RASTERIMAGE); +int addLayerAt(int idx, int width, int height, int widthOffset = 0, int heightOffset = 0, ImageType type = ImageType::RASTERIMAGE); /*! * \brief The deleteLayer method removes a layer at a given idx * \param idx - The index of the layer to be removed @@ -184,7 +199,7 @@ int getMaxWidth(); int getMaxHeight(); -IntelliImage::ImageType getTypeOfImageRealLayer(); +ImageType getTypeOfImageRealLayer(); std::vector getPolygonDataOfRealLayer(); @@ -198,9 +213,23 @@ IntelliImage* getImageOfActiveLayer(); */ QImage getImageDataOfActiveLayer(); +/*! + * \brief getLayerBundle returns the real active layerbundle (care!) + * \return the reference of the currentLayerBundle + */ +std::vector* getLayerBundle(); + IntelliToolsettings Toolsettings; IntelliColorPicker colorPicker; +void historyGoBack(); +void historyGoForward(); + +void setLayerDimensions(int maxWidth, int maxHeight); + +void setPixelToActive(QColor color, QPoint point); + +void setPolygonDataToActive(std::vector points); public slots: /*! * \brief The slotActivateLayer method handles the event of selecting one layer as active @@ -222,12 +251,16 @@ void wheelEvent(QWheelEvent*event) override; void paintEvent(QPaintEvent*event) override; private: -void setLayerDimensions(int maxWidth, int maxHeight); +//offset for the displayable +int offsetXDimension; +int offsetYDimension; + void selectLayerUp(); void selectLayerDown(); IntelliTool* copyActiveTool(); QImage* Canvas; +QImage ScaledCanvas; int maxWidth; int maxHeight; @@ -235,7 +268,7 @@ bool isSettingPolygon = false; IntelliRenderSettings renderSettings; IntelliTool* Tool; -IntelliPhotoGui* DummyGui; +IntelliPhotoGui* guiReference; std::vector layerBundle; int activeLayer = -1; @@ -245,6 +278,14 @@ void drawLayers(bool forSaving = false); bool createTempTopLayer(int idx); void updateTools(); + +std::vector history[100] = {layerBundle}; +int historyMaxPast = 0; +int historyMaxFuture = 0; +int historyPresent = 0; + +void historyadd(); + }; #endif diff --git a/src/Tool/IntelliTool.cpp b/src/Tool/IntelliTool.cpp index 07ed62b..d113410 100644 --- a/src/Tool/IntelliTool.cpp +++ b/src/Tool/IntelliTool.cpp @@ -1,5 +1,6 @@ #include "IntelliTool.h" #include "Layer/PaintingArea.h" +#include "GUI/IntelliPhotoGui.h" IntelliTool::IntelliTool(PaintingArea* Area, IntelliColorPicker* colorPicker, IntelliToolsettings* Toolsettings){ this->Area = Area; @@ -50,7 +51,7 @@ void IntelliTool::onMouseMoved(int x, int y){ void IntelliTool::onWheelScrolled(int value){ //if needed for future general tasks implement in here - Area->DummyGui->setToolWidth(value + Toolsettings->getLineWidth()); + Area->guiReference->setToolWidth(value + Toolsettings->getLineWidth()); } bool IntelliTool::createToolLayer(){ @@ -88,7 +89,8 @@ void IntelliTool::mergeToolLayer(){ if(Canvas->image->getPolygonData().size() > 0) { activeLayer->image->setPolygon(Canvas->image->getPolygonData()); } - Area->DummyGui->UpdateGui(); + Area->guiReference->UpdateGui(); + Area->historyadd(); } void IntelliTool::deleteToolLayer(){ @@ -96,10 +98,10 @@ void IntelliTool::deleteToolLayer(){ this->Canvas = nullptr; } -IntelliTool::Tooltype IntelliTool::getTooltype(){ +IntelliTool::Tooltype IntelliTool::getTooltype() const { return ActiveType; } -bool IntelliTool::getIsDrawing(){ +bool IntelliTool::getIsDrawing() const { return isDrawing; } diff --git a/src/Tool/IntelliTool.h b/src/Tool/IntelliTool.h index 07b78bf..40901f0 100644 --- a/src/Tool/IntelliTool.h +++ b/src/Tool/IntelliTool.h @@ -127,9 +127,9 @@ virtual void onWheelScrolled(int value); */ virtual void onMouseMoved(int x, int y); -Tooltype getTooltype(); +Tooltype getTooltype() const; -bool getIsDrawing(); +bool getIsDrawing() const; }; #endif diff --git a/src/Tool/IntelliToolPolygon.cpp b/src/Tool/IntelliToolPolygon.cpp index 507ffb7..d8dc357 100644 --- a/src/Tool/IntelliToolPolygon.cpp +++ b/src/Tool/IntelliToolPolygon.cpp @@ -24,7 +24,7 @@ IntelliToolPolygon::~IntelliToolPolygon(){ } void IntelliToolPolygon::onMouseLeftPressed(int x, int y){ - if(!drawingOfPolygon && Area->getTypeOfImageRealLayer() == IntelliImage::ImageType::SHAPEDIMAGE && x > 0 && y > 0 && xgetWidthOfActive() && ygetHeightOfActive()) { + if(!drawingOfPolygon && Area->getTypeOfImageRealLayer() == ImageType::SHAPEDIMAGE && x > 0 && y > 0 && xgetWidthOfActive() && ygetHeightOfActive()) { if(Area->getPolygonDataOfRealLayer().size()>2) { std::vector Triangles = IntelliTriangulation::calculateTriangles(Area->getPolygonDataOfRealLayer()); QPoint Point(x,y); @@ -37,7 +37,7 @@ void IntelliToolPolygon::onMouseLeftPressed(int x, int y){ isInside = true; } } - else if(!drawingOfPolygon && Area->getTypeOfImageRealLayer() == IntelliImage::ImageType::RASTERIMAGE && x >= 0 && y >= 0 && xgetWidthOfActive() && ygetHeightOfActive()) { + else if(!drawingOfPolygon && Area->getTypeOfImageRealLayer() == ImageType::RASTERIMAGE && x >= 0 && y >= 0 && xgetWidthOfActive() && ygetHeightOfActive()) { isInside = true; } diff --git a/src/main.cpp b/src/main.cpp index 30adab2..dc5caa5 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -2,11 +2,11 @@ #include #include #include +#include int main(int argc, char*argv[]){ // The main application QApplication app(argc, argv); - // Create and open the main window IntelliPhotoGui window; window.show();