use OB Widgets for everything
This commit is contained in:
parent
d49d01044d
commit
25d1e3538b
7 changed files with 30 additions and 35 deletions
|
@ -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);
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
27
src/frame.cc
27
src/frame.cc
|
@ -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) {
|
||||
|
|
19
src/frame.hh
19
src/frame.hh
|
@ -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.
|
||||
/*!
|
||||
|
|
|
@ -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
|
||||
*/
|
||||
|
|
|
@ -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:
|
||||
|
|
Loading…
Reference in a new issue