nobody at rubyforge.org
2006-Dec-31 11:18 UTC
[Wxruby-development] [815] trunk/wxruby2/swig/classes: Added ContextMenuEvent class plus event handling methods
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type"
content="text/html; charset=utf-8" /><style
type="text/css"><!--
#msg dl { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:'':'';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer { font-family:
verdana,arial,helvetica,sans-serif; font-size: 10pt; }
#msg dl a { font-weight: bold}
#msg dl a:link { color:#fc3; }
#msg dl a:active { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;
font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fc0 solid; padding:
6px; }
#msg ul, pre { overflow: auto; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid;
padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family:
verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch
.binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<title>[815] trunk/wxruby2/swig/classes: Added ContextMenuEvent class plus
event handling methods</title>
</head>
<body>
<div id="msg">
<dl>
<dt>Revision</dt> <dd>815</dd>
<dt>Author</dt> <dd>brokentoy</dd>
<dt>Date</dt> <dd>2006-12-31 06:18:32 -0500 (Sun, 31 Dec
2006)</dd>
</dl>
<h3>Log Message</h3>
<pre>Added ContextMenuEvent class plus event handling methods</pre>
<h3>Modified Paths</h3>
<ul>
<li><a
href="#trunkwxruby2swigclassesEvtHandleri">trunk/wxruby2/swig/classes/EvtHandler.i</a></li>
</ul>
<h3>Added Paths</h3>
<ul>
<li><a
href="#trunkwxruby2swigclassesContextMenuEventi">trunk/wxruby2/swig/classes/ContextMenuEvent.i</a></li>
<li><a
href="#trunkwxruby2swigclassesincludewxContextMenuEventh">trunk/wxruby2/swig/classes/include/wxContextMenuEvent.h</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkwxruby2swigclassesContextMenuEventi"></a>
<div class="addfile"><h4>Added:
trunk/wxruby2/swig/classes/ContextMenuEvent.i (0 => 815)</h4>
<pre class="diff"><span>
<span class="info">---
trunk/wxruby2/swig/classes/ContextMenuEvent.i        
(rev 0)
+++
trunk/wxruby2/swig/classes/ContextMenuEvent.i        2006-12-31
11:18:32 UTC (rev 815)
</span><span class="lines">@@ -0,0 +1,12 @@
</span><ins>+# Copyright 2004-2006 by Kevin Smith
+# released under the MIT-style wxruby2 license
+
+%include "../common.i"
+
+%module(directors="1") wxContextMenuEvent
+
+%import "include/wxObject.h"
+%import "include/wxEvent.h"
+%import "include/wxCommandEvent.h"
+
+%include "include/wxContextMenuEvent.h"
</ins></span></pre></div>
<a id="trunkwxruby2swigclassesEvtHandleri"></a>
<div class="modfile"><h4>Modified:
trunk/wxruby2/swig/classes/EvtHandler.i (814 => 815)</h4>
<pre class="diff"><span>
<span class="info">---
trunk/wxruby2/swig/classes/EvtHandler.i        2006-12-31
04:04:00 UTC (rev 814)
+++
trunk/wxruby2/swig/classes/EvtHandler.i        2006-12-31
11:18:32 UTC (rev 815)
</span><span class="lines">@@ -66,6 +66,7 @@
</span><span class="cx"> extern swig_class
cWxWindowCreateEvent;
</span><span class="cx"> extern swig_class
cWxWindowDestroyEvent;
</span><span class="cx"> extern swig_class cWxMenuEvent;
</span><ins>+extern swig_class cWxContextMenuEvent;
</ins><span class="cx"> #ifdef WXSCINTILLA
</span><span class="cx"> extern swig_class
cWxScintillaEvent;
</span><span class="cx"> #endif
</span><span class="lines">@@ -322,6 +323,12 @@
</span><span class="cx"> (const wxEventType *)0
</span><span class="cx"> };
</span><span class="cx">
</span><ins>+static const wxEventType *contextMenuEvents[] +{
+ &wxEVT_CONTEXT_MENU,
+ (const wxEventType *)0
+};
+
</ins><span class="cx"> #ifdef WXSCINTILLA
</span><span class="cx"> static const wxEventType
*scintillaEvents[] </span><span class="cx"> {
</span><span class="lines">@@ -426,6 +433,8 @@
</span><span class="cx"> cEvent =
cWxWindowDestroyEvent.klass;
</span><span class="cx"> else
if(event.IsKindOf(CLASSINFO(wxMenuEvent)))
</span><span class="cx"> cEvent =
cWxMenuEvent.klass;
</span><ins>+ else
if(event.IsKindOf(CLASSINFO(wxContextMenuEvent)))
+ cEvent = cWxContextMenuEvent.klass;
</ins><span class="cx"> else
if(event.IsKindOf(CLASSINFO(wxSashEvent)))
</span><span class="cx"> cEvent =
cWxSashEvent.klass;
</span><span class="cx"> else
if(event.IsKindOf(CLASSINFO(wxTextUrlEvent)))
</span></span></pre></div>
<a
id="trunkwxruby2swigclassesincludewxContextMenuEventh"></a>
<div class="addfile"><h4>Added:
trunk/wxruby2/swig/classes/include/wxContextMenuEvent.h (0 => 815)</h4>
<pre class="diff"><span>
<span class="info">---
trunk/wxruby2/swig/classes/include/wxContextMenuEvent.h        
(rev 0)
+++
trunk/wxruby2/swig/classes/include/wxContextMenuEvent.h        2006-12-31
11:18:32 UTC (rev 815)
</span><span class="lines">@@ -0,0 +1,32 @@
</span><ins>+// Copyright 2004-2006 by Kevin Smith
+// released under the MIT-style wxruby2 license
+
+#if !defined(_wxContextMenuEvent_h_)
+#define _wxContextMenuEvent_h_
+
+
+class wxContextMenuEvent : public wxCommandEvent
+{
+public:
+ wxContextMenuEvent(wxEventType type = wxEVT_NULL,
+ wxWindowID winid = 0,
+ const wxPoint& pt = wxDefaultPosition)
+ : wxCommandEvent(type, winid),
+ m_pos(pt)
+ { }
+ wxContextMenuEvent(const wxContextMenuEvent & event)
+ : wxCommandEvent(event),
+ m_pos(event.m_pos)
+ { }
+
+ // Position of event (in screen coordinates)
+ const wxPoint& GetPosition() const { return m_pos; }
+ void SetPosition(const wxPoint& pos) { m_pos = pos; }
+
+ virtual wxEvent *Clone() const { return new wxContextMenuEvent(*this); }
+
+protected:
+ wxPoint m_pos;
+};
+
+#endif
</ins></span></pre>
</div>
</div>
</body>
</html>
Possibly Parallel Threads
- [1042] trunk/wxruby2: Overhaul of the event handling WxType->RubyClass mapping to make it
- [790] trunk/wxruby2/swig/classes: Added TextUrlEvent class and EvtHandler mapping
- [982] branches/wxruby2/wxwidgets_282/swig/classes/EvtHandler.i: Add EvtThunker mapping for TimerEvent (bug 10391)
- [814] trunk/wxruby2/swig/classes: Added ScrollEvent class plus event processing and handler methods
- [723] trunk/wxruby2: Added WindowCreateEvent and WindowDestroyEvent + event handlers (AF)
