use OB Widgets for everything

This commit is contained in:
Dana Jansens 2002-12-18 09:46:24 +00:00
parent d49d01044d
commit 25d1e3538b
7 changed files with 30 additions and 35 deletions

View file

@ -438,7 +438,7 @@ void OtkWidget::removeChild(OtkWidget *child)
if (it != _children.end()) if (it != _children.end())
_children.erase(it); _children.erase(it);
} }
#include <stdio.h>
void OtkWidget::setStyle(Style *style) void OtkWidget::setStyle(Style *style)
{ {
assert(style); assert(style);

View file

@ -16,7 +16,8 @@ bin_PROGRAMS= openbox3
openbox3_LDADD=../otk/libotk.a @LIBINTL@ openbox3_LDADD=../otk/libotk.a @LIBINTL@
openbox3_SOURCES= actions.cc client.cc frame.cc openbox.cc screen.cc \ 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 MAINTAINERCLEANFILES= Makefile.in

View file

@ -303,7 +303,8 @@ private:
/*! /*!
This also maintains things like the client's minsize, and size increments. 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 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); void resize(Corner anchor, int x, int y);

View file

@ -27,14 +27,14 @@ OBFrame::OBFrame(OBClient *client, otk::Style *style)
_screen(otk::OBDisplay::screenInfo(client->screen())), _screen(otk::OBDisplay::screenInfo(client->screen())),
_plate(this, OBWidget::Type_Plate), _plate(this, OBWidget::Type_Plate),
_titlebar(this, OBWidget::Type_Titlebar), _titlebar(this, OBWidget::Type_Titlebar),
_button_close(&_titlebar), _button_close(&_titlebar, OBWidget::Type_CloseButton),
_button_iconify(&_titlebar), _button_iconify(&_titlebar, OBWidget::Type_IconifyButton),
_button_max(&_titlebar), _button_max(&_titlebar, OBWidget::Type_MaximizeButton),
_button_stick(&_titlebar), _button_stick(&_titlebar, OBWidget::Type_StickyButton),
_label(&_titlebar), _label(&_titlebar, OBWidget::Type_Label),
_handle(this, OBWidget::Type_Handle), _handle(this, OBWidget::Type_Handle),
_grip_left(&_handle), _grip_left(&_handle, OBWidget::Type_LeftGrip),
_grip_right(&_handle), _grip_right(&_handle, OBWidget::Type_RightGrip),
_decorations(client->decorations()) _decorations(client->decorations())
{ {
assert(client); assert(client);
@ -85,15 +85,6 @@ void OBFrame::setStyle(otk::Style *style)
assert(style); assert(style);
otk::OtkWidget::setStyle(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 // if a style was previously set, then 'replace' is true, cause we're
// replacing a style // replacing a style
@ -108,10 +99,6 @@ void OBFrame::setStyle(otk::Style *style)
// XXX: change when focus changes! // XXX: change when focus changes!
XSetWindowBorder(otk::OBDisplay::display, getWindow(), XSetWindowBorder(otk::OBDisplay::display, getWindow(),
_style->getBorderColor()->pixel()); _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! // if !replace, then adjust() will get called after the client is grabbed!
if (replace) { if (replace) {

View file

@ -11,14 +11,13 @@ extern "C" {
#include "client.hh" #include "client.hh"
#include "backgroundwidget.hh" #include "backgroundwidget.hh"
#include "labelwidget.hh"
#include "buttonwidget.hh"
#include "otk/strut.hh" #include "otk/strut.hh"
#include "otk/rect.hh" #include "otk/rect.hh"
#include "otk/screeninfo.hh" #include "otk/screeninfo.hh"
#include "otk/style.hh" #include "otk/style.hh"
#include "otk/widget.hh" #include "otk/widget.hh"
#include "otk/button.hh"
#include "otk/focuswidget.hh"
#include "otk/focuslabel.hh"
#include <string> #include <string>
@ -52,14 +51,14 @@ private:
// decoration windows // decoration windows
OBBackgroundWidget _plate; // sits entirely under the client window OBBackgroundWidget _plate; // sits entirely under the client window
OBBackgroundWidget _titlebar; OBBackgroundWidget _titlebar;
otk::OtkButton _button_close; OBButtonWidget _button_close;
otk::OtkButton _button_iconify; OBButtonWidget _button_iconify;
otk::OtkButton _button_max; OBButtonWidget _button_max;
otk::OtkButton _button_stick; OBButtonWidget _button_stick;
otk::OtkFocusLabel _label; OBLabelWidget _label;
OBBackgroundWidget _handle; OBBackgroundWidget _handle;
otk::OtkButton _grip_left; OBButtonWidget _grip_left;
otk::OtkButton _grip_right; OBButtonWidget _grip_right;
//! The decorations to display on the window. //! The decorations to display on the window.
/*! /*!

View file

@ -2,7 +2,7 @@
#ifndef __rootwindow_hh #ifndef __rootwindow_hh
#define __rootwindow_hh #define __rootwindow_hh
/*! @file client.hh /*! @file rootwindow.hh
@brief The OBClient class maintains the state of a client window by handling @brief The OBClient class maintains the state of a client window by handling
property changes on the window and some client messages property changes on the window and some client messages
*/ */

View file

@ -9,7 +9,14 @@ public:
enum WidgetType { enum WidgetType {
Type_Titlebar, Type_Titlebar,
Type_Handle, Type_Handle,
Type_Plate Type_Plate,
Type_Label,
Type_MaximizeButton,
Type_CloseButton,
Type_IconifyButton,
Type_StickyButton,
Type_LeftGrip,
Type_RightGrip
}; };
private: private: