Summary Files Commits Branches @commit @diff @stats
path: root / Year 1 / Object-oriented Programming / 13-Practice-31.05.2022 / Form.h
diff options
context:
space:
mode:
Commitccedf6f5d89f375580ff6af40296aab953f9cd09 (patch)
Author
 Syndamia <kamen.d.mladenov@protonmail.com>
2022-05-31 20:52:26 +0300
Committer
 Syndamia <kamen.d.mladenov@protonmail.com>
2022-05-31 20:52:26 +0300
Files2b2881b8fb473b1892238b63b82c76b85fa8357d /Year 1/Object-oriented Programming/13-Practice-31.05.2022/Form.h
uni-projects-ccedf6f5d89f375580ff6af40296aab953f9cd09.tar
uni-projects-ccedf6f5d89f375580ff6af40296aab953f9cd09.tar.gz
uni-projects-ccedf6f5d89f375580ff6af40296aab953f9cd09.zip
Parent24bdf39e6c21ab846f6c86803761d78a094e05c0 (diff)
Added work from today's practice
1 files changed, 29 insertions, 0 deletions
-rw-r--r--Year 1/Object-oriented Programming/13-Practice-31.05.2022/Form.h29
diff --git a/Year 1/Object-oriented Programming/13-Practice-31.05.2022/Form.h b/Year 1/Object-oriented Programming/13-Practice-31.05.2022/Form.h
new file mode 100644
index 0000000..7818d58
--- /dev/null
+++ b/Year 1/Object-oriented Programming/13-Practice-31.05.2022/Form.h
@@ -0,0 +1,29 @@
+#include "String.h"
+#include "List.hpp"
+#include "Control.h"
+#include "Size.h"
+
+class Form {
+ Size size;
+ String name;
+ List<Control*> controls;
+
+public:
+ void addControl(Control& newControl) {
+ controls.add(&newControl);
+ }
+ void changeSize(Size newSize);
+ Control& operator[](unsigned index) {
+ return *controls[index];
+ }
+ bool changeControlLocation(unsigned index, Location newLoc) {
+ if (newLoc.x >= 0 && newLoc.x <= size.width && newLoc.y >= 0 && newLoc.y <= size.height) {
+ controls[index]->get_loc() = newLoc;
+ return true;
+ }
+ return false;
+ }
+ void change(unsigned index) {
+ controls[index]->setDataDialog();
+ }
+};