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())
|
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);
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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);
|
||||||
|
|
||||||
|
|
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())),
|
_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) {
|
||||||
|
|
19
src/frame.hh
19
src/frame.hh
|
@ -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.
|
||||||
/*!
|
/*!
|
||||||
|
|
|
@ -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
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -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:
|
||||||
|
|
Loading…
Reference in a new issue