mirror of
https://github.com/edeproject/ede.git
synced 2023-08-10 21:13:03 +03:00
Copying wm from old ede
This commit is contained in:
43
edewm/WMWindow.cpp
Normal file
43
edewm/WMWindow.cpp
Normal file
@ -0,0 +1,43 @@
|
||||
// X does not echo back the window-map events (it probably should when
|
||||
// override_redirect is off). Unfortunately this means you have to use
|
||||
// this subclass if you want a "normal" fltk window, it will force a
|
||||
// Frame to be created and destroy it upon hide.
|
||||
|
||||
// Warning: modal() does not work! Don't turn it on as it screws up the
|
||||
// interface with the window borders. You can use set_non_modal() to
|
||||
// disable the iconize box but the window manager must be written to
|
||||
// not be modal.
|
||||
|
||||
#include <efltk/Fl.h>
|
||||
#include "WMWindow.h"
|
||||
#include "Frame.h"
|
||||
#include "Windowmanager.h"
|
||||
|
||||
extern int dont_set_event_mask;
|
||||
|
||||
void WMWindow::create()
|
||||
{
|
||||
Fl_Window::create();
|
||||
if(!frame) {
|
||||
dont_set_event_mask = 1;
|
||||
frame = new Frame(fl_xid(this));
|
||||
dont_set_event_mask = 0;
|
||||
}
|
||||
}
|
||||
|
||||
void WMWindow::destroy()
|
||||
{
|
||||
if(frame) {
|
||||
frame->destroy_frame();
|
||||
frame=0;
|
||||
}
|
||||
Fl_Window::destroy();
|
||||
}
|
||||
|
||||
int WMWindow::handle(int e)
|
||||
{
|
||||
if(e==FL_PUSH || e==FL_MOUSEWHEEL) {
|
||||
frame->content_click();
|
||||
}
|
||||
return Fl_Window::handle(e);
|
||||
}
|
Reference in New Issue
Block a user