For one C ++ programmer, how long does it take to write a graphical interface from scratch?
Rough specification:
- You have access to enhancement functions, image loading, font subroutine, signal slot, unicode string lines, varaint classes. (basically Qt 4 minus the actual gui (everything comes from QWidget)).
- You will need to implement standard controls such as tree structures, table views, text editors, a list, a combo box, buttons, radio buttons, panels, etc.
- The structure is separate from the operating system and does not use any OS objects (window descriptors). That is, you work on a bitmap or in an OpenGL window and receive mouse / keyboard events from the OS that you must send / interpret.
- There are several windows that can be moved / minimized / maximized, delivered to the fore.
- It should be possible to use a library to override any rectangular window using this library (think of a Win98 gui with animation effects disabled).
- You do not need to display html pages.
- You cannot cut corners, make a bitmap in the ms mask, split it on the screen and say "this window". The components have geometry, a custom color, can be changed, βtiedβ to different sides of the window, connected to each other and affect each other in size and geometry (think about the Qt 4 layout system).
- Programmer's knowledge - the average value is above average, at least 3 years of experience with C ++.
Basically, a "Windows desktop" without using gdi windows.
I ask because I work on guys who develop something similar from scratch (their needs are very unusual, and afaik no existing gui structure that I know matches them), and I have a suspicion that I too can work slowly, which negatively affects my "morale".
Previous people spent 3 years on this project (they wrote it in Delphi) and could not complete it, so the responsible guy decided to abandon it and start from scratch. The project is very different from traditional guis, but should have somewhat identical complexity.
For comparison, I need a rough estimate (with arguments or based on work experience) from another programmer.
My assessment is that it will take about 1 year or longer, but I would like to know if it takes too long.
source share