19Bridge::Bridge( Client* cl )
 
   28#define BRIDGE_HELPER( rettype, prototype, args1, args2, cst ) \ 
   29rettype Bridge::prototype ( args1 ) cst \ 
   31    return c->prototype( args2 ); \ 
   34BRIDGE_HELPER( 
bool, isActive,,, 
const )
 
   35BRIDGE_HELPER( 
bool, isCloseable,,, const )
 
   36BRIDGE_HELPER( 
bool, isMaximizable,,, const )
 
   37BRIDGE_HELPER( Bridge::MaximizeMode, maximizeMode,,, const )
 
   38BRIDGE_HELPER( 
bool, isMinimizable,,, const )
 
   39BRIDGE_HELPER( 
bool, providesContextHelp,,, const )
 
   40BRIDGE_HELPER( 
int, desktop,,, const )
 
   41BRIDGE_HELPER( 
bool, isModal,,, const )
 
   42BRIDGE_HELPER( 
bool, isShadeable,,, const )
 
   43BRIDGE_HELPER( 
bool, isShade,,, const )
 
   44BRIDGE_HELPER( 
bool, keepAbove,,, const )
 
   45BRIDGE_HELPER( 
bool, keepBelow,,, const )
 
   46BRIDGE_HELPER( 
bool, isMovable,,, const )
 
   47BRIDGE_HELPER( 
bool, isResizable,,, const )
 
   48BRIDGE_HELPER( TQString, caption,,, const )
 
   49BRIDGE_HELPER( 
void, processMousePressEvent, TQMouseEvent* e, e, )
 
   50BRIDGE_HELPER( TQRect, geometry,,, const )
 
   51BRIDGE_HELPER( 
void, closeWindow,,, )
 
   52BRIDGE_HELPER( 
void, maximize, MaximizeMode m, m, )
 
   53BRIDGE_HELPER( 
void, minimize,,, )
 
   54BRIDGE_HELPER( 
void, showContextHelp,,, )
 
   55BRIDGE_HELPER( 
void, setDesktop, 
int desktop, desktop, )
 
   57void Bridge::setKeepAbove( 
bool set )
 
   59    if( c->keepAbove() != set )
 
   60        c->workspace()->performWindowOperation( c, KeepAboveOp );
 
   63void Bridge::setKeepBelow( 
bool set )
 
   65    if( c->keepBelow() != set )
 
   66        c->workspace()->performWindowOperation( c, KeepBelowOp );
 
   69NET::WindowType Bridge::windowType( 
unsigned long supported_types )
 const 
   71    return c->windowType( 
false, supported_types );
 
   74TQIconSet Bridge::icon()
 const 
   76    return TQIconSet( c->miniIcon(), c->icon());
 
   79bool Bridge::isSetShade()
 const 
   81    return c->shadeMode() != ShadeNone;
 
   84void Bridge::showWindowMenu( TQPoint p )
 
   86    c->workspace()->showWindowMenu( p, c );
 
   89void Bridge::showWindowMenu( 
const TQRect &p )
 
   91    c->workspace()->showWindowMenu( p, c );
 
   94void Bridge::performWindowOperation( WindowOperation op )
 
   96    c->workspace()->performWindowOperation( c, op );
 
   99void Bridge::setMask( 
const TQRegion& r, 
int mode )
 
  101    c->setMask( r, mode );
 
  104bool Bridge::isPreview()
 const 
  109TQRect Bridge::iconGeometry()
 const 
  111    NETRect r = c->info->iconGeometry();
 
  112    return TQRect( r.pos.x, r.pos.y, r.size.width, r.size.height );
 
  115TQWidget* Bridge::workspaceWidget()
 const 
  117    return c->workspace()->desktopWidget();
 
  120WId Bridge::windowId()
 const 
  125void Bridge::titlebarDblClickOperation()
 
  127    c->workspace()->performWindowOperation( c, options->operationTitlebarDblClick());
 
  130void Bridge::titlebarMouseWheelOperation( 
int delta )
 
  132    c->performMouseCommand( options->operationTitlebarMouseWheel( delta ), TQCursor::pos());
 
  135void Bridge::setShade( 
bool set )
 
  137    c->setShade( set ? ShadeNormal : ShadeNone );
 
  140int Bridge::currentDesktop()
 const 
  142    return c->workspace()->currentDesktop();
 
  145TQWidget* Bridge::initialParentWidget()
 const 
  150TQt::WFlags Bridge::initialWFlags()
 const 
  155void Bridge::helperShowHide( 
bool show )
 
  163TQRegion Bridge::unobscuredRegion( 
const TQRegion& r )
 const 
  166    const ClientList stacking_order = c->workspace()->stackingOrder();
 
  167    ClientList::ConstIterator it = stacking_order.find( c );
 
  170         it != stacking_order.end();
 
  173        if( !(*it)->isShown( 
true ))
 
  175        if( c->isOnAllDesktops())
 
  177            if( !(*it)->isOnCurrentDesktop())
 
  182            if( !(*it)->isOnDesktop( c->desktop()))
 
  188    int dx = (*it)->x() - c->x();
 
  189    int dy = (*it)->y() - c->y();
 
  190    TQRegion creg = (*it)->mask();
 
  191    creg.translate(dx, dy);
 
  202void Bridge::grabXServer( 
bool grab )
 
  205        KWinInternal::grabXServer();
 
  207        KWinInternal::ungrabXServer();