use OB Widgets for everything
Dana Jansens danakj@orodu.net
7 files changed,
30 insertions(+),
35 deletions(-)
M
otk/widget.cc
→
otk/widget.cc
@@ -438,7 +438,7 @@
if (it != _children.end()) _children.erase(it); } -#include <stdio.h> + void OtkWidget::setStyle(Style *style) { assert(style);
M
src/Makefile.am
→
src/Makefile.am
@@ -16,7 +16,8 @@
openbox3_LDADD=../otk/libotk.a @LIBINTL@ openbox3_SOURCES= actions.cc client.cc frame.cc openbox.cc screen.cc \ - main.cc rootwindow.cc backgroundwidget.cc + main.cc rootwindow.cc backgroundwidget.cc labelwidget.cc \ + buttonwidget.cc MAINTAINERCLEANFILES= Makefile.in
M
src/client.hh
→
src/client.hh
@@ -303,7 +303,8 @@ //! Resizes the client window, anchoring it in a given corner
/*! This also maintains things like the client's minsize, and size increments. @param anchor The corner to keep in the same position when resizing - @param size The new size for the client + @param x The X component of the new size for the client + @param y The Y component of the new size for the client */ void resize(Corner anchor, int x, int y);
M
src/frame.cc
→
src/frame.cc
@@ -27,14 +27,14 @@ _client(client),
_screen(otk::OBDisplay::screenInfo(client->screen())), _plate(this, OBWidget::Type_Plate), _titlebar(this, OBWidget::Type_Titlebar), - _button_close(&_titlebar), - _button_iconify(&_titlebar), - _button_max(&_titlebar), - _button_stick(&_titlebar), - _label(&_titlebar), + _button_close(&_titlebar, OBWidget::Type_CloseButton), + _button_iconify(&_titlebar, OBWidget::Type_IconifyButton), + _button_max(&_titlebar, OBWidget::Type_MaximizeButton), + _button_stick(&_titlebar, OBWidget::Type_StickyButton), + _label(&_titlebar, OBWidget::Type_Label), _handle(this, OBWidget::Type_Handle), - _grip_left(&_handle), - _grip_right(&_handle), + _grip_left(&_handle, OBWidget::Type_LeftGrip), + _grip_right(&_handle, OBWidget::Type_RightGrip), _decorations(client->decorations()) { assert(client);@@ -85,15 +85,6 @@ {
assert(style); otk::OtkWidget::setStyle(style); - // set the grips' textures - _grip_left.setTexture(style->getGripFocus()); - _grip_left.setUnfocusTexture(style->getGripUnfocus()); - _grip_left.setPressedFocusTexture(style->getGripFocus()); - _grip_left.setPressedUnfocusTexture(style->getGripUnfocus()); - _grip_right.setTexture(style->getGripFocus()); - _grip_right.setUnfocusTexture(style->getGripUnfocus()); - _grip_right.setPressedFocusTexture(style->getGripFocus()); - _grip_right.setPressedUnfocusTexture(style->getGripUnfocus()); // if a style was previously set, then 'replace' is true, cause we're // replacing a style@@ -107,10 +98,6 @@ _style = style;
// XXX: change when focus changes! XSetWindowBorder(otk::OBDisplay::display, getWindow(), - _style->getBorderColor()->pixel()); - XSetWindowBorder(otk::OBDisplay::display, _grip_left.getWindow(), - _style->getBorderColor()->pixel()); - XSetWindowBorder(otk::OBDisplay::display, _grip_right.getWindow(), _style->getBorderColor()->pixel()); // if !replace, then adjust() will get called after the client is grabbed!
M
src/frame.hh
→
src/frame.hh
@@ -11,14 +11,13 @@ }
#include "client.hh" #include "backgroundwidget.hh" +#include "labelwidget.hh" +#include "buttonwidget.hh" #include "otk/strut.hh" #include "otk/rect.hh" #include "otk/screeninfo.hh" #include "otk/style.hh" #include "otk/widget.hh" -#include "otk/button.hh" -#include "otk/focuswidget.hh" -#include "otk/focuslabel.hh" #include <string>@@ -52,14 +51,14 @@
// decoration windows OBBackgroundWidget _plate; // sits entirely under the client window OBBackgroundWidget _titlebar; - otk::OtkButton _button_close; - otk::OtkButton _button_iconify; - otk::OtkButton _button_max; - otk::OtkButton _button_stick; - otk::OtkFocusLabel _label; + OBButtonWidget _button_close; + OBButtonWidget _button_iconify; + OBButtonWidget _button_max; + OBButtonWidget _button_stick; + OBLabelWidget _label; OBBackgroundWidget _handle; - otk::OtkButton _grip_left; - otk::OtkButton _grip_right; + OBButtonWidget _grip_left; + OBButtonWidget _grip_right; //! The decorations to display on the window. /*!
M
src/rootwindow.hh
→
src/rootwindow.hh
@@ -2,7 +2,7 @@ // -*- mode: C++; indent-tabs-mode: nil; c-basic-offset: 2; -*-
#ifndef __rootwindow_hh #define __rootwindow_hh -/*! @file client.hh +/*! @file rootwindow.hh @brief The OBClient class maintains the state of a client window by handling property changes on the window and some client messages */
M
src/widget.hh
→
src/widget.hh
@@ -9,7 +9,14 @@ public:
enum WidgetType { Type_Titlebar, Type_Handle, - Type_Plate + Type_Plate, + Type_Label, + Type_MaximizeButton, + Type_CloseButton, + Type_IconifyButton, + Type_StickyButton, + Type_LeftGrip, + Type_RightGrip }; private: