- Member omgui::api::Button::data_type
- "Controls" need a common base (checkboxes, radio, ...)
- Member omgui::App::close_toplevel_windows ()
- call close() instead of destroy()
- Member omgui::App::gui_init ()
- Why doesnt the normal menu bar work as expected? Making our own will break if Apple changes the default bar configuration
- Member omgui::App::gui_init ()
- throw exception
- Member omgui::App::quit ()
- send APP_QUIT
- Member omgui::Widget::get_handle () const
- Casting a pointer type to a type that isn't a pointer may not work under all circumstances
- Member omgui::Button::get_label () const
- Move this to the common base
- Member omgui::Widget::is_hidden () const
- Implement for gtk2 and cocoa
- Member omgui::Widget::is_shown () const
- Verify the newly documented behavior for this function on gtk2 and cocoa ports
- Member omgui::Button::set_label (const string &label)
- Move this to the common base
- Member omgui::cocoa::Widget::create (const omgui::initializer::WidgetData ¶ms, id widget)
- m_enable
- Member omgui::cocoa::Widget::create (const omgui::initializer::WidgetData ¶ms, id widget)
- What's if we're adding the widget later to a container?
- Member omgui::cocoa::Widget::create (const omgui::initializer::WidgetData ¶ms, id widget)
- else?
- Member omgui::cocoa::Widget::create (const omgui::initializer::WidgetData ¶ms, id widget)
- do_layout?
- Member omgui::cocoa::Widget::enable (bool sensitive)
- Member omgui::cocoa::Widget::get_parent () const
- What should I do if the parent doesn't respond to omguiWidget ?
- Member omgui::cocoa::Widget::get_parent_window () const
- What should I do if the parent doesn't respond to omguiWidget ?
- Member omgui::cocoa::Widget::is_enabled () const
- Member omgui::cocoa::Widget::is_hidden () const
- is that correct?
- Member omgui::cocoa::Widget::show (bool show, bool activate)
- activate
- Member omgui::cocoa::EntryBox::delete_range (const omgui::TextRange &range)
- call replace_range()
- Member omgui::cocoa::EntryBox::insert_text (const string &str, omgui::text_range_t pos)
- call replace_range()
- Member omgui::cocoa::EntryBox::insert_text (const string &str, omgui::text_range_t pos)
- return
- Member omgui::cocoa::EntryBox::set_password_mode (bool mode)
- This code is obsoleted because of an EntryBox interface change and the addition of SecureEntryBox
- Member omgui::cocoa::EntryBox::set_read_only (bool b)
- Remove duplicate code
- Member omgui::cocoa::EventLoop::run ()
- Implement the API for EventLoop properly
- Member omgui::cocoa::Notebook::get_page (int index) const
- Implement
- Member omgui::cocoa::Notebook::get_page_count () const
- Implement
- Member omgui::cocoa::Notebook::get_page_index (NotebookPage page) const
- Implement
- Member omgui::cocoa::Notebook::get_page_name (NotebookPage page) const
- Implement
- Member omgui::cocoa::Notebook::remove_page (NotebookPage page)
- Implement
- Member omgui::cocoa::Notebook::select_next_page ()
- Implement
- Member omgui::cocoa::Notebook::select_previous_page ()
- Implement
- Member omgui::cocoa::Notebook::set_page_name (NotebookPage page, const string &name)
- Implement
- Member omgui::cocoa::Notebook::set_selected_page (NotebookPage page)
- Implement
- Member omgui::cocoa::TableLayout::get_min_size () const
- Decide whether or not we allow calls to set_min_size to effect Panel derivatives
- Member omgui::cocoa::Window::create (const omgui::initializer::WindowData ¶ms)
- Is there no default_size() ?
- Member omgui::cocoa::Window::create (const omgui::initializer::WindowData ¶ms)
- What's'a good default size?
- Member omgui::cocoa::Window::create (const omgui::initializer::WindowData ¶ms)
- else: estimate a good default position
- Member omgui::cocoa::Window::create (const omgui::initializer::WindowData ¶ms)
- params.m_parent, params.m_enable
- Member omgui::cocoa::Window::enable (bool sensitive)
- Member omgui::cocoa::Window::get_max_content_size () const
- Implement
- Member omgui::cocoa::Window::get_menu_bar () const
- Implement
- Member omgui::cocoa::Window::get_min_content_size () const
- Implement
- Member omgui::cocoa::Window::get_window_placement () const
- implement
- Member omgui::cocoa::Window::is_enabled () const
- Member omgui::cocoa::Window::set_content_panel (const Pointer< omgui::Panel > &p)
- I think the old panel is unusable because it's getting released
- Member omgui::cocoa::Window::set_menu_bar (const Pointer< omgui::MenuBar > &menubar)
- Implement
- Member omgui::cocoa::Window::set_window_placement (const string &placement)
- Implement
- Member omgui::cocoa::Window::show (bool show, bool activate)
- That's only a temporary fix
- Member omgui::ComboBox::get_item (int index) const
- Should this method throw std::out_of_range or an omgui::exception when index is invalid?
- Member omgui::ComboBox::remove (int index)
- Should this method throw std::out_of_range or an omgui::exception when index is invalid?
- Member omgui::ComboBox::set_selection (int index)
- Should this method throw std::out_of_range or an omgui::exception when index is invalid?
- Member omgui::common::Panel::m_children
- Consider whether storing this is really necessary. The gui kits will undoubtedly do it themselves as well.
- Member omgui::TextWidget::set_insertion_point (text_range_t pos)
- MR: I'm not so sure about the focus postconditions reasonability
- Member omgui::Exception::what () const
- Once we figure out unicode, a localized version should also be provided
- Member omgui::gtk2::Widget::create (const omgui::initializer::WidgetData &, GtkWidget *)
- Fix logic later
- Member omgui::gtk2::Widget::create (const omgui::initializer::WidgetData &, GtkWidget *)
- Uncomment after all set_{min,max}_size methods are aware of the DEFAULT_* values
- Member omgui::gtk2::Widget::create (const omgui::initializer::WidgetData &, GtkWidget *)
- Make sure nothing above realizes the control, and change order appropriately if something does. E.g show() is in all derived class create()'s instead of here.
- Member omgui::gtk2::Button::create (const omgui::initializer::ButtonData ¶ms)
- Use factory params
- Member omgui::gtk2::Button::create (const omgui::initializer::ButtonData ¶ms)
- IMPLEMENT
- Member omgui::gtk2::Button::create (const omgui::initializer::ButtonData ¶ms)
- Check in set_label instead, for delayed creation on set_label("") too?
- Member omgui::gtk2::Widget::destroy ()
- I (RM) blindly changed this, see if it works
- Member omgui::gtk2::Button::get_label () const
- UTF8 -> string
- Member omgui::gtk2::Button::set_label (const string &label)
- string -> UTF8
- Member omgui::gtk2::Widget::set_min_size (const omgui::Size &)
- Does passing 0,0 set it to "as small as possible" in the terms we want?
- Member omgui::gtk2::Widget::set_min_size (const omgui::Size &)
- Do we want this?
- Member omgui::gtk2::Widget::set_size (const omgui::Size &)
- Do we want to enforce allocation instead? Yes.
- Member omgui::gtk2::Widget::set_size (const omgui::Size &)
- Deal with DEFAULT_* values
- Member omgui::gtk2::EntryBox::create (const omgui::initializer::EntryBoxData ¶ms)
- Use factory params
- Member omgui::gtk2::EntryBox::create (const omgui::initializer::EntryBoxData ¶ms)
- IMPLEMENT
- Member omgui::gtk2::EntryBox::get_text (const omgui::TextRange &) const
- UTF8 -> string
- Member omgui::gtk2::EntryBox::get_text () const
- UTF8 -> string
- Member omgui::gtk2::EntryBox::insert_text (const string &, omgui::text_range_t)
- string -> UTF8
- Member omgui::gtk2::EntryBox::set_insertion_point (omgui::text_range_t)
- Negativity consideration?
- Member omgui::gtk2::EntryBox::set_max_length (omgui::text_range_t)
- -1 is supposed to be converted to 0 - unless we change the docs
- Member omgui::gtk2::EntryBox::set_selection_bounds (const omgui::TextRange &)
- Unit test fails
- Member omgui::gtk2::EntryBox::set_selection_range (const omgui::TextRange &)
- Unit test fails
- Member omgui::gtk2::EntryBox::set_text (const string &)
- string -> UTF8
- Member omgui::gtk2::EventLoop::run ()
- Implement the EventLoop api properly
- Member omgui::gtk2::Notebook::append_page (NotebookPage page, const string &name)
- string -> UTF8
- Member omgui::gtk2::Notebook::create (const omgui::initializer::NotebookData ¶ms)
- Use factory params
- Member omgui::gtk2::Notebook::create (const omgui::initializer::NotebookData ¶ms)
- IMPLEMENT
- Member omgui::gtk2::Notebook::get_page (int index) const
- throw something instead
- Member omgui::gtk2::Notebook::get_page_index (NotebookPage page) const
- Doesn't work right with proof sample
- Member omgui::gtk2::Notebook::get_page_index (NotebookPage page) const
- throw something instead
- Member omgui::gtk2::Notebook::get_page_name (NotebookPage page) const
- UTF8 -> string
- Member omgui::gtk2::Notebook::insert_page (int where, NotebookPage page, const string &name)
- string -> UTF8
- Member omgui::gtk2::Notebook::select_next_page ()
- event emission
- Member omgui::gtk2::Notebook::select_next_page ()
- correct return value based on event emission and if a next page existed
- Member omgui::gtk2::Notebook::select_previous_page ()
- event emission
- Member omgui::gtk2::Notebook::select_previous_page ()
- correct return value based on event emission and if a previous page existed
- Member omgui::gtk2::Notebook::set_page_name (NotebookPage page, const string &name)
- string -> UTF8
- Member omgui::gtk2::Notebook::set_selected_page (NotebookPage page)
- event emission
- Member omgui::gtk2::Notebook::set_selected_page (NotebookPage page)
- proper return value based on event emission
- Member omgui::gtk2::TableLayout::get_min_size () const
- Decide whether or not we allow calls to set_min_size to effect Panel derivatives
- Member omgui::gtk2::TextBox::create (const omgui::initializer::TextBoxData ¶ms)
- Use factory params
- Member omgui::gtk2::TextBox::create (const omgui::initializer::TextBoxData ¶ms)
- Use correct border
- Member omgui::gtk2::TextBox::create (const omgui::initializer::TextBoxData ¶ms)
- throw earlier or clean up m_text
- Member omgui::gtk2::TextBox::get_text (const omgui::TextRange &) const
- UTF8 -> string
- Member omgui::gtk2::TextBox::get_text () const
- UTF8 -> string
- Member omgui::gtk2::TextBox::insert_text (const string &)
- string -> UTF8
- Member omgui::gtk2::TextBox::insert_text (const string &, omgui::text_range_t)
- Do we allow negative positions? If not, remove the if block
- Member omgui::gtk2::TextBox::insert_text (const string &, omgui::text_range_t)
- string -> UTF8
- Member omgui::gtk2::TextBox::set_insertion_point (omgui::text_range_t)
- Should the focusing postcondition remain in effect?
- Member omgui::gtk2::TextBox::set_max_length (omgui::text_range_t)
- IMPLEMENT
- Member omgui::gtk2::TextBox::set_selection_bounds (const omgui::TextRange &)
- Do we need to normalize?
- Member omgui::gtk2::TextBox::set_text (const string &)
- string -> UTF8
- Member omgui::gtk2::Window::create (const omgui::initializer::WindowData ¶ms)
- Find a different sensible thing to quit the application with
- Member omgui::gtk2::Window::get_content_panel () const
- Member omgui::gtk2::Window::get_content_size ()
- subtract menubar/toolbar/statusbar etc in a cross-platform manner
- Member omgui::gtk2::Window::get_max_content_size () const
- Implement
- Member omgui::gtk2::Window::get_max_size () const
- Are info->geometry.max_*'s -1 if set_geometry_hints hasn't been called?
- Member omgui::gtk2::Window::get_menu_bar () const
- Implement
- Member omgui::gtk2::Window::get_min_content_size () const
- Implement
- Member omgui::gtk2::Window::get_min_size () const
- Are info->geometry.min_*'s -1 if set_geometry_hints hasn't been called?
- Member omgui::gtk2::Window::get_size () const
- realization: Maybe just realize above if not already done?
- Member omgui::gtk2::Window::get_size () const
- multihead: GdkScreen must be associated with the widget (font sizes)
- Member omgui::gtk2::Window::get_size () const
- EWMH: Add expected wm frame sizes
- Member omgui::gtk2::Window::get_title ()
- UTF8 -> string
- Member omgui::gtk2::Window::get_window_placement () const
- implement
- Member omgui::gtk2::Window::set_content_panel (omgui::api::Panel *p)
- Member omgui::gtk2::Window::set_content_size (const omgui::Size &)
- Deal with DEFAULT_* values
- Member omgui::gtk2::Window::set_content_size (const omgui::Size &)
- Add visible size of the menubar/statusbar, and similar non-drawable portions in the window. Alternatively if we treat the window as a container, we might be able to just set the size of the widget, that inside the container that is equal to the client area, with gdk_window_resize.
- Member omgui::gtk2::Window::set_max_content_size (const omgui::Size &)
- Implement
- Member omgui::gtk2::Window::set_max_size (const omgui::Size &)
- Deal with DEFAULT_* values
- Member omgui::gtk2::Window::set_menu_bar (const Pointer< omgui::MenuBar > &menubar)
- Implement
- Member omgui::gtk2::Window::set_min_content_size (const omgui::Size &)
- Implement
- Member omgui::gtk2::Window::set_min_size (const omgui::Size &)
- Deal with DEFAULT_* values
- Member omgui::gtk2::Window::set_position (const omgui::Point &)
- Deal with DEFAULT_* values
- Member omgui::gtk2::Window::set_size (const omgui::Size &)
- Deal with DEFAULT_* values
- Member omgui::gtk2::Window::set_size (const omgui::Size &)
- What's the best estimation for these?
- Member omgui::gtk2::Window::set_title (const string &)
- string -> UTF8
- Member omgui::gtk2::Window::set_window_placement (const string &placement)
- Implement
- Member omgui::gtk2::Window::show (bool show, bool activate)
- GTK2.6 specific: Sets _NET_WM_USER_TIME to 0 among other things if activate == true
- Member omgui::Notebook::get_page (int index) const
- Be more specific about what will be thrown
- Member omgui::Notebook::get_page_index (NotebookPage page) const
- Be more specific about what will be thrown
- Member omgui::Panel::update_layout ()
- Child widgets need to invalidate the cached min, max, and natural sizes in their parent TableLayout if their min max or natural size changes so that update_layout functions correctly.
- Class omgui::TableLayoutInfo
- Add a reference, or "See also" link, pointing to the enum documentation for layout flags
- Class omgui::TextWidget
- None of the post conditions for these functions are honored yet because focus handling is not implemented.
- Member omgui::win32::Button::calc_min_size () const
- Remove magic numbers, the margin and border values should be accessible somehow
- Member omgui::win32::Widget::get_natural_size () const
- If m_natural_size has default values (0), calculate an acceptible value
- Member omgui::win32::Widget::get_window_text () const
- Clean this function when we figure out what we are doing with strings
- Member omgui::win32::Widget::set_window_text (const string &str)
- This won't work for unicode...
- Member omgui::win32::ComboBox::remove (int index)
- What to throw here if index is invalid?
- Member omgui::win32::ComboBox::set_selection (int index)
- What to throw here if index is invalid?
- Member omgui::win32::TextWidget::delete_range (const omgui::TextRange &range)
- Prevent the sending of spurious messages
- Member omgui::win32::TextWidget::delete_range (const omgui::TextRange &range)
- Should this operation be undo-able?
- Member omgui::win32::TextWidget::insert_text (const string &str)
- Prevent the sending of spurious messages
- Member omgui::win32::TextWidget::insert_text (const string &str)
- Figure out what to do if there is already a selection
- Member omgui::win32::TextWidget::insert_text (const string &str)
- Should this operation be undo-able?
- Member omgui::win32::TextWidget::insert_text (const string &str, omgui::text_range_t pos)
- Prevent the sending of spurious messages
- Member omgui::win32::TextWidget::insert_text (const string &str, omgui::text_range_t pos)
- Should this operation be undo-able?
- Member omgui::win32::TextWidget::set_max_length (omgui::text_range_t len)
- override this for RichEdits because the value 0 means 64,000 and not "no limit"
- Member omgui::win32::EventLoop::run ()
- Do something if GetMessage returns -1
- Member omgui::win32::EventLoop::run ()
- return the exit code value somehow
- Member omgui::win32::Panel::begin_defer_window_pos ()
- Handle failre of BeginDeferWindowPos
- Member omgui::win32::Panel::defer_window_pos (HWND hwnd, int x, int y, int w, int h, int flags)
- Handle failure of DeferWindowPos
- Member omgui::win32::Panel::end_defer_window_pos ()
- Handle failure of EndDeferWindowPos
- Member omgui::win32::Notebook::get_page_index (NotebookPage page) const
- Throw something?
- Member omgui::win32::Notebook::get_win32_page (int index) const
- Determine what we want to do with our exceptions. Do we want a hierarchy of WidgetException, DerivedWidgetException? Or would we rather just use asserts for this?
- Member omgui::win32::Notebook::insert_page (int where, NotebookPage page, const string &name)
- Check for failure...
- Member omgui::win32::Notebook::process_message (HWND hwnd, UINT msg, WPARAM w_param, LPARAM l_param)
- If we create a logging facility, be sure to log this failure
- Member omgui::win32::Notebook::remove_page (NotebookPage page)
- Throw if page isnt found?
- Member omgui::win32::Panel::process_message (HWND hwnd, UINT msg, WPARAM w_param, LPARAM l_param)
- Check for success and record failure
- Member omgui::win32::Panel::process_message (HWND hwnd, UINT msg, WPARAM w_param, LPARAM l_param)
- Investigate why buttons only draw the right background
- Member omgui::win32::TableLayout::get_min_size () const
- Decide whether or not we allow calls to set_min_size to effect Panel derivatives
- Member omgui::win32::TextBox::get_text (const omgui::TextRange &range) const
- This is coded for winxp only (maybe 2k also), won't work elsewhere
- Member omgui::win32::Window::create (const omgui::initializer::WindowData ¶ms)
- This may leak some memory because window classes registered by dll's are not unloaded by the NT kernel, but they are on flavors of win 95.
- Member omgui::win32::Window::get_max_content_size () const
- Implement
- Member omgui::win32::Window::get_min_content_size () const
- Implement
- Member omgui::win32::Window::process_message (HWND hwnd, UINT msg, WPARAM w_param, LPARAM l_param)
- Need to use max and min size values considering both the windows size value and the content panels. Chose which ever is larger or smaller, according to documented behavior
- Member omgui::win32::Window::set_content_panel (const Pointer< omgui::Panel > &p)
- size the root panel
- Member omgui::win32::Window::set_content_size (const omgui::Size &s)
- Take into account what styles we might actually have.
- Member omgui::win32::Window::set_content_size (const omgui::Size &s)
- Also consider if there is a menu or not.
- Member omgui::win32::Window::set_content_size (const omgui::Size &s)
- Account for failure (ret 0).
- Member omgui::win32::Window::set_content_size (const omgui::Size &s)
- prevent sending multiple size changed messages
- Member omgui::win32::Window::set_content_size (const omgui::Size &s)
- This code has yet to be tested
- Member omgui::win32::Window::set_max_content_size (const omgui::Size &)
- Implement
- Member omgui::win32::Window::set_min_content_size (const omgui::Size &)
- Implement
- Member omgui::win32::Window::set_window_placement (const string &placement)
- Test this to ensure UNICODE support works correctly
- Member omgui::win32::Window::set_window_placement (const string &placement)
- Handle invalid string
- Member omgui::win32::Window::set_window_placement (const string &placement)
- Do something here
- Class OmguiSecureTextField(RenderingHack)
- This is a hack that fixes rendering bugs. There should be a better way to fix them,
- Member omgui::cocoa::utils::convert_point (omgui::Point p, float height)
- test that on a dual-screen.
- Member omgui::gtk2::utils::get_extents (GtkWidget *)
- GTK2.2 specific
- Member omgui::entry (omgui::main_ptr main, int argc, char *argv[])
- Provide proper return code facility
- Member omgui::win32::initialize ()
- Log a failure if it occurs
- Member omgui::win32::initialize ()
- Should probably call FreeLibrary at some point
- Member omgui::win32::associate_hwnd (HWND h, Widget *wnd)
- Throw if setting the window property fails
- Member set_up_menubar
- Localization
- Member omgui::gtk2::cpaf_fixed_size_allocate (GtkWidget *gtkwidget, GtkAllocation *alloc, Panel *widget)
- Revise the logic. Possibly writing our own gtk+ container for this
- Page OMGUI for wxWidgets programmers
- Complete this document