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())
_children.erase(it);
}
#include <stdio.h>
void OtkWidget::setStyle(Style *style)
{
assert(style);

View file

@ -16,7 +16,8 @@ bin_PROGRAMS= openbox3
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

View file

@ -303,7 +303,8 @@ private:
/*!
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);

View file

@ -27,14 +27,14 @@ OBFrame::OBFrame(OBClient *client, otk::Style *style)
_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 @@ void OBFrame::setStyle(otk::Style *style)
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
@ -108,10 +99,6 @@ void OBFrame::setStyle(otk::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!
if (replace) {

View file

@ -11,14 +11,13 @@ extern "C" {
#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 @@ private:
// 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.
/*!

View file

@ -2,7 +2,7 @@
#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
*/

View file

@ -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: