Я разработал рабочую среду для окон в школе, в которой есть все классы и методы, необходимые для работы окна. Вот пример части нескольких классов, я не собираюсь вставлять сюда весь код.
Widget.h (базовый класс)
class Widget {
public:
Widget(...);
...
virtual std::string getLabel() const;
virtual void setLabel(const std::string label);
...
private:
std::string m_label;
Widget* m_parent;
Measure m_position; // struct: int x, int y
Measure m_size;
};
Button.h
class Button : public Widget {
public:
Button(...);
...
virtual void setTarget(Widget* target);
...
private:
Widget* m_target;
};
LineEdit.h
class LineEdit : public Widget {
public:
LineEdit(...);
...
virtual void setMaximumLenght(int lenght);
...
private:
int m_maximumLength;
};
И так далее ... Это все просто файлы заголовков, и я реализовал методы и т.д. внутри соответствующего .cpp
файла.
Моя домашняя работа на этот период - реализовать их для Mac OS-X в Objective-C и Cocoa, чтобы заголовки работали как в OS-X, так и в Windows. Я могу отдыхать сам, но мне хотелось бы знать, как использовать эти файлы заголовков в OS-X, и поэтому просто переписать реализации в файл .m
вместо .cpp
. Любые идеи? Я новичок в этом деле.