16 namespace KWinInternal
19 Bridge::Bridge( Client* cl )
24 #define BRIDGE_HELPER( rettype, prototype, args1, args2, cst ) \
25 rettype Bridge::prototype ( args1 ) cst \
27 return c->prototype( args2 ); \
30 BRIDGE_HELPER(
bool, isActive,,,
const )
31 BRIDGE_HELPER(
bool, isCloseable,,, const )
32 BRIDGE_HELPER(
bool, isMaximizable,,, const )
33 BRIDGE_HELPER( Bridge::MaximizeMode, maximizeMode,,, const )
34 BRIDGE_HELPER(
bool, isMinimizable,,, const )
35 BRIDGE_HELPER(
bool, providesContextHelp,,, const )
36 BRIDGE_HELPER(
int, desktop,,, const )
37 BRIDGE_HELPER(
bool, isModal,,, const )
38 BRIDGE_HELPER(
bool, isShadeable,,, const )
39 BRIDGE_HELPER(
bool, isShade,,, const )
40 BRIDGE_HELPER(
bool, keepAbove,,, const )
41 BRIDGE_HELPER(
bool, keepBelow,,, const )
42 BRIDGE_HELPER(
bool, isMovable,,, const )
43 BRIDGE_HELPER(
bool, isResizable,,, const )
44 BRIDGE_HELPER( TQString, caption,,, const )
45 BRIDGE_HELPER(
void, processMousePressEvent, TQMouseEvent* e, e, )
46 BRIDGE_HELPER( TQRect, geometry,,, const )
47 BRIDGE_HELPER(
void, closeWindow,,, )
48 BRIDGE_HELPER(
void, maximize, MaximizeMode m, m, )
49 BRIDGE_HELPER(
void, minimize,,, )
50 BRIDGE_HELPER(
void, showContextHelp,,, )
51 BRIDGE_HELPER(
void, setDesktop,
int desktop, desktop, )
53 void Bridge::setKeepAbove(
bool set )
55 if( c->keepAbove() != set )
56 c->workspace()->performWindowOperation( c, KeepAboveOp );
59 void Bridge::setKeepBelow(
bool set )
61 if( c->keepBelow() != set )
62 c->workspace()->performWindowOperation( c, KeepBelowOp );
65 NET::WindowType Bridge::windowType(
unsigned long supported_types )
const
67 return c->windowType(
false, supported_types );
70 TQIconSet Bridge::icon()
const
72 return TQIconSet( c->miniIcon(), c->icon());
75 bool Bridge::isSetShade()
const
77 return c->shadeMode() != ShadeNone;
80 void Bridge::showWindowMenu( TQPoint p )
82 c->workspace()->showWindowMenu( p, c );
85 void Bridge::showWindowMenu(
const TQRect &p )
87 c->workspace()->showWindowMenu( p, c );
90 void Bridge::performWindowOperation( WindowOperation op )
92 c->workspace()->performWindowOperation( c, op );
95 void Bridge::setMask(
const TQRegion& r,
int mode )
97 c->setMask( r, mode );
100 bool Bridge::isPreview()
const
105 TQRect Bridge::iconGeometry()
const
107 NETRect r = c->info->iconGeometry();
108 return TQRect( r.pos.x, r.pos.y, r.size.width, r.size.height );
111 TQWidget* Bridge::workspaceWidget()
const
113 return c->workspace()->desktopWidget();
116 WId Bridge::windowId()
const
121 void Bridge::titlebarDblClickOperation()
123 c->workspace()->performWindowOperation( c, options->operationTitlebarDblClick());
126 void Bridge::titlebarMouseWheelOperation(
int delta )
128 c->performMouseCommand( options->operationTitlebarMouseWheel( delta ), TQCursor::pos());
131 void Bridge::setShade(
bool set )
133 c->setShade(
set ? ShadeNormal : ShadeNone );
136 int Bridge::currentDesktop()
const
138 return c->workspace()->currentDesktop();
141 TQWidget* Bridge::initialParentWidget()
const
146 Qt::WFlags Bridge::initialWFlags()
const
151 void Bridge::helperShowHide(
bool show )
159 TQRegion Bridge::unobscuredRegion(
const TQRegion& r )
const
162 const ClientList stacking_order = c->workspace()->stackingOrder();
163 ClientList::ConstIterator it = stacking_order.find( c );
166 it != stacking_order.end();
169 if( !(*it)->isShown(
true ))
171 if( c->isOnAllDesktops())
173 if( !(*it)->isOnCurrentDesktop())
178 if( !(*it)->isOnDesktop( c->desktop()))
184 int dx = (*it)->x() - c->x();
185 int dy = (*it)->y() - c->y();
186 TQRegion creg = (*it)->mask();
187 creg.translate(dx, dy);
198 void Bridge::grabXServer(
bool grab )
201 KWinInternal::grabXServer();
203 KWinInternal::ungrabXServer();