]>
Commit | Line | Data |
---|---|---|
1 | wxMotif TODO | |
2 | ------------ | |
3 | ||
4 | Updated: 12/11/98 | |
5 | ||
6 | -------------------------------o------------------------- | |
7 | ||
8 | General comment: see the following site for useful Motif widgets. | |
9 | ftp://ftp.x.org/contrib/widgets/motif | |
10 | ||
11 | Also, grep for TODO comments in source. | |
12 | ||
13 | High Priority | |
14 | ------------- | |
15 | ||
16 | - Work out why XFreeFont in font.cpp produces a segv. This is | |
17 | currently commented out, which presumably causes a memory leak. | |
18 | ||
19 | - Colour setting in widgets (almost done). Should scrollbars take | |
20 | on the background colour? Not right for e.g. wxScrolledWindows, | |
21 | so maybe have wxSystemSettings value for scrollbar colour, and/or | |
22 | ability to set scrollbar colour independently. | |
23 | ||
24 | - Optimize wxWindow OnPaint to avoid flicker, collapsing Expose events | |
25 | as per flicker fix in 1.68. It will be tricky to avoid | |
26 | interfering with non-wxScrolledWindow widgets except by | |
27 | explicitly testing for wxScrolledWindow. | |
28 | ||
29 | - Implementation of OnEraseBackground. How? Call OnEraseBackground | |
30 | just before OnPaint? Will duplicate Xlib's own erase of the background. | |
31 | However, this is usually OK, because the default wxWindow::OnEraseBackground | |
32 | can do nothing (SetBackgroundColour will make the background look OK). | |
33 | And if a custom OnEraseBackground uses the same colour as the window | |
34 | background, no flicker will be seen. If it does something else, such as | |
35 | painting a tiled bitmap, then a slight flicker might be seen unless | |
36 | X can be persuaded not to repaint the window background by default. | |
37 | ||
38 | - Finish wxNotebook. | |
39 | ||
40 | - wxSpinButton | |
41 | ||
42 | - Tidy dialogs such as the colour and font selectors. | |
43 | ||
44 | - Use generic wxTreeCtrl, wxListCtrl: debug and enhance these. | |
45 | wxTreeCtrl: crashes in wxImageList::Draw because it assumes | |
46 | that wxBitmap == wxIcon, which is only true in wxGTK. | |
47 | So add wxDC::DrawBitmap and use this instead. | |
48 | ||
49 | - Find out why modal dialogs give a grab warning. | |
50 | ||
51 | - wxSystemSettings. Eventually, should have control panel-like utility | |
52 | to change colours/fonts but meanwhile should maybe read them | |
53 | from a file. | |
54 | ||
55 | - wxThread (hopefully, similar to wxGTK) | |
56 | ||
57 | - wxGrid: scrollbars don't hide; problem with cell selection. | |
58 | ||
59 | - MDI: seems to be broken for a more complex application I'm testing. | |
60 | Frame decorations don't draw properly, and a child window doesn't | |
61 | process events properly. So probably we should have an alternative | |
62 | implementation that uses tabs, a la wxGTK. The system menu could | |
63 | be implemented using a pop-up menu that applies to the currently | |
64 | active window. | |
65 | ||
66 | - Controls in a wxToolBar don't work. Probably due to form layout | |
67 | problems; the workaround is to use a separate panel for controls. | |
68 | ||
69 | - Miscellaneous events. | |
70 | ||
71 | - Write makefiles for all samples and utilities. | |
72 | ||
73 | - Create some samples for testing. | |
74 | ||
75 | Low Priority | |
76 | ------------ | |
77 | ||
78 | - Better makefile system that can put objects in different dirs. | |
79 | Use wxGTK config system? It's really complex to debug and | |
80 | doesn't offer a way of compiling apps outside the wxWin | |
81 | hierarchy. | |
82 | ||
83 | - Extra wxBitmap formats: PNG, BMP. Could use old wxWin 1.68 | |
84 | wxImage code (derived from XV) for BMP/GIF but it's very bloated. However, | |
85 | when implemented as extra bitmap handlers, the code won't be linked | |
86 | unless needed. | |
87 | ||
88 | - Print/preview framework in print.cpp (see wxGTK). | |
89 | ||
90 | - Enhance event handling such that you override e.g. left-click | |
91 | and unless you call the base OnMouseEvent, the click won't be | |
92 | sent to the button. Required for Dialog Editor. | |
93 | ||
94 | - Get Dialog Editor working under Motif. | |
95 | ||
96 | - New wxHelp version: try using the XmHTML widget at | |
97 | http://www.xs4all.nl/~ripley/XmHTML/. | |
98 | ||
99 | We need to: | |
100 | - make a minimal distribution under wx/src/xmhtml, just enough | |
101 | to compile the source. | |
102 | - add XMHTML_C_SRC to src/motif/makefile.unx with the source files | |
103 | listed. | |
104 | - make sure we can compile the sources, passing the correct | |
105 | flags for zlib/png compilation. | |
106 | - make a wxHTMLWindow class from e.g. examples/example_2.c. Should | |
107 | probably make the cache and history facilities part of the class. | |
108 | - add the driver code to src/motif/helphtml.cpp (a frame, toolbar, | |
109 | history list). | |
110 | ||
111 | - Optimize screen refresh for non-native widgets, e.g. wxWindow | |
112 | created with Create(), using technique in flicker patch for 1.68 | |
113 | (see JACS for latest patch). | |
114 | ||
115 | - Copy and paste, drag and drop. Use a standard X drag | |
116 | and drop standard - see http://www.cco.caltech.edu/~jafl/xdnd/ | |
117 | or use Motif drag and drop as described here: | |
118 | http://www.motifzone.com/tmd/articles/DnD/dnd.html | |
119 | ||
120 | - Optimize colour management so we don't get clashes when e.g. | |
121 | Netscape is running. See: | |
122 | http://www.motifzone.com/tmd/articles/John_Cwikla/index.html | |
123 | ||
124 | - wxRCConfig (a config class using X .rc files). Could simply | |
125 | implement it in terms of current wxGet/WriteResource functions. | |
126 | ||
127 | - wxCheckBoxList | |
128 | ||
129 | - wxBitmapCheckBox, wxBitmapRadioButton | |
130 | ||
131 | - Reimplement combobox using Lesstif's widget (avoiding GPL'ed | |
132 | widget currently used). | |
133 | ||
134 | - Write generic wxDirDialog (directory selector) | |
135 | ||
136 | - Use native Motif dialogs for wxMessageBox | |
137 | ||
138 | - Miscellaneous classes e.g. wxJoystick (identical to GTK's one for | |
139 | Linux) | |
140 | ||
141 | - Blit scaling | |
142 | ||
143 | - Could eventually alter the MDI widgets to be more Windows-like | |
144 | -- currently it's half-hearted (menus are on children, whereas | |
145 | they should replace the main parent frame menu). | |
146 | ||
147 | - Get ODBC classes and sample working. | |
148 |