summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2002-12-18 09:46:24 +0000
committerDana Jansens <danakj@orodu.net>2002-12-18 09:46:24 +0000
commit25d1e3538be5719b238f7e62a949c409fef2af66 (patch)
tree36de1f6bf110b9fd0b6e24734f496e7536a737c6 /src
parentd49d01044d34793dc88bea4889ee98ec333220ce (diff)
use OB Widgets for everything
Diffstat (limited to 'src')
-rw-r--r--src/Makefile.am3
-rw-r--r--src/client.hh3
-rw-r--r--src/frame.cc27
-rw-r--r--src/frame.hh19
-rw-r--r--src/rootwindow.hh2
-rw-r--r--src/widget.hh9
6 files changed, 29 insertions, 34 deletions
diff --git a/src/Makefile.am b/src/Makefile.am
index 319a9fde..4e5fa83d 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -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
diff --git a/src/client.hh b/src/client.hh
index 37e26cb2..d518b9cc 100644
--- a/src/client.hh
+++ b/src/client.hh
@@ -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);
diff --git a/src/frame.cc b/src/frame.cc
index fc85d6d1..979d9575 100644
--- a/src/frame.cc
+++ b/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) {
diff --git a/src/frame.hh b/src/frame.hh
index 450c8670..85c863e7 100644
--- a/src/frame.hh
+++ b/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.
/*!
diff --git a/src/rootwindow.hh b/src/rootwindow.hh
index d78f4ff7..c05bfd7b 100644
--- a/src/rootwindow.hh
+++ b/src/rootwindow.hh
@@ -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
*/
diff --git a/src/widget.hh b/src/widget.hh
index c82c2862..ed0f0a9d 100644
--- a/src/widget.hh
+++ b/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: