Revision: 1776
http://svn.sourceforge.net/vexi/?rev=1776&view=rev
Author: mkpg2
Date: 2007-03-31 03:17:05 -0700 (Sat, 31 Mar 2007)
Log Message:
-----------
Copying debugclient view code in from the old location
Added Paths:
-----------
core/trunk/org.vexi.debugclient/src/org/vexi/debugclient/ui/bpoints/
core/trunk/org.vexi.debugclient/src/org/vexi/debugclient/ui/bpoints/bp.t
core/trunk/org.vexi.debugclient/src/org/vexi/debugclient/ui/bpoints/bpview.t
core/trunk/org.vexi.debugclient/src/org/vexi/debugclient/ui/prefs/
core/trunk/org.vexi.debugclient/src/org/vexi/debugclient/ui/prefs/preferences.t
core/trunk/org.vexi.debugclient/src/org/vexi/debugclient/ui/source/
core/trunk/org.vexi.debugclient/src/org/vexi/debugclient/ui/source/line.t
core/trunk/org.vexi.debugclient/src/org/vexi/debugclient/ui/source/srcview.t
core/trunk/org.vexi.debugclient/src/org/vexi/debugclient/ui/source/tabbedtext.t
core/trunk/org.vexi.debugclient/src/org/vexi/debugclient/ui/threads/
core/trunk/org.vexi.debugclient/src/org/vexi/debugclient/ui/threads/call.t
core/trunk/org.vexi.debugclient/src/org/vexi/debugclient/ui/threads/callstack.t
core/trunk/org.vexi.debugclient/src/org/vexi/debugclient/ui/threads/thread.t
core/trunk/org.vexi.debugclient/src/org/vexi/debugclient/ui/threads/threadcategory.t
core/trunk/org.vexi.debugclient/src/org/vexi/debugclient/ui/threads/threadview.t
Copied:
core/trunk/org.vexi.debugclient/src/org/vexi/debugclient/ui/bpoints/bp.t (from
rev 1775,
some_apps/trunk/org.vexi.debugclient/src/org/vexi/debugclient/bpview/bp.t)
===================================================================
--- core/trunk/org.vexi.debugclient/src/org/vexi/debugclient/ui/bpoints/bp.t
(rev 0)
+++ core/trunk/org.vexi.debugclient/src/org/vexi/debugclient/ui/bpoints/bp.t
2007-03-31 10:17:05 UTC (rev 1776)
@@ -0,0 +1,8 @@
+<vexi xmlns:ui="vexi://ui" xmlns:meta="vexi://meta"
+ xmlns:db="org.vexi.debugclient" >
+
+ <db:lineobject>
+ thisbox.ikon = "brkp_obj";
+ </db:lineobject>
+
+</vexi>
Copied:
core/trunk/org.vexi.debugclient/src/org/vexi/debugclient/ui/bpoints/bpview.t
(from rev 1775,
some_apps/trunk/org.vexi.debugclient/src/org/vexi/debugclient/bpview/bpview.t)
===================================================================
---
core/trunk/org.vexi.debugclient/src/org/vexi/debugclient/ui/bpoints/bpview.t
(rev 0)
+++
core/trunk/org.vexi.debugclient/src/org/vexi/debugclient/ui/bpoints/bpview.t
2007-03-31 10:17:05 UTC (rev 1776)
@@ -0,0 +1,66 @@
+<vexi xmlns:ui="vexi://ui" xmlns:meta="vexi://meta"
+ xmlns:db="org.vexi.debugclient"
+ xmlns:wi="vexi.widget">
+ <ui:box>
+ <wi:bevel form="down">
+ <wi:scrollpane shrink="false" cols="1" margin="5"
autohidehorizontal="true" autohidevertical="true" >
+ <ui:box id="content" shrink="true" cols="1" align="topleft"/>
+ </wi:scrollpane>
+ </wi:bevel>
+
+ //////
+ // LOAD
+ //////
+
+
+
+ var addItem = function(srcName,ln){
+ var item = db.bpview.bp(vexi.box);
+ item.srcName = srcName;
+ item.ln = ln;
+ $content[$content.numchildren] = item;
+ };
+
+ var removeItem = function(srcName,ln){
+ for(var i=0; $content.numchildren > i ; i++)
+ if($content[i].srcName == srcName and
+ $content[i].ln == ln){
+ $content[i] = null;
+ return;
+ }
+ };
+
+ var removeAll = function(){
+ while($content.numchildren) $content[0]= null;
+ };
+
+
+ /** Set breakpoints */
+ thisbox.setBreakPoints = function(bps){
+ vexi.log.info("setBreakPoints()");
+ for(var i=0; bps.length > i ; i++){
+ vexi.log.info("BP:-" + bps[i].source + ":" + bps[i].line);
+ var ln = bps[i].line;
+ var source = bps[i].source;
+
+ thisbox.srcview.setBreakpoint(source,ln,true);
+ addItem(source,ln);
+ }
+
+ }
+ ///////////////
+ // EVENT LISTENING
+ var listener = {};
+
+ listener.listenNewBreakPoints = function(event){
+ removeAll();
+
+ };
+
+ listener.listenBreakPointChanged = function(event){
+ if(event.on) addItem(event.srcName, event.ln);
+ else removeItem(event.srcName, event.ln);
+ };
+ db.event..listen(listener);
+ </ui:box>
+</vexi>
Copied:
core/trunk/org.vexi.debugclient/src/org/vexi/debugclient/ui/prefs/preferences.t
(from rev 1775,
some_apps/trunk/org.vexi.debugclient/src/org/vexi/debugclient/preferences/preferences.t)
===================================================================
---
core/trunk/org.vexi.debugclient/src/org/vexi/debugclient/ui/prefs/preferences.t
(rev 0)
+++
core/trunk/org.vexi.debugclient/src/org/vexi/debugclient/ui/prefs/preferences.t
2007-03-31 10:17:05 UTC (rev 1776)
@@ -0,0 +1,82 @@
+<vexi xmlns:ui="vexi://ui" xmlns:meta="vexi://meta"
+ xmlns="org.vexi.debugclient.preferences"
+ xmlns:db="org.vexi.debugclient"
+ xmlns:wi="vexi.widget" >
+ <meta:doc>
+ Author: Mike Goodwin
+ </meta:doc>
+ <wi:surface/>
+ static.prefs;
+ static.load = function(ps){
+ if(ps.tabwidth==null)ps.tabwidth=4;
+ prefs = ps;
+
+ };
+
+
+ // LOAD preferences first thing (on activation of template)
+ var biscuit = vexi.biscuits.prefs;
+ load(biscuit);
+
+ static.show = function(parent){
+ var prefsview = .preferences(vexi.box);
+
+ var modaltrap = function(v){
+ // supposed to return function to the preferences frame
+ // not currently working ...
+ cascade = v;
+ prefsview.surface.Focused = true;
+ };
+ parent.surface.Focused ++= modaltrap;
+
+ prefsview.Close ++= function(v){
+ vexi.log.info("closing");
+ parent.surface.Focused --= modaltrap;
+ };
+ };
+
+ <ui:box maxwidth="600" maxheight="400" fill="#d4d0c8" cols="1" title="moo">
+ <ui:box rows="1">
+ <ui:box/>
+ <ui:box text="Tab width (in spaces)" hshrink="true"
align="right"/>
+ <ui:box width="10" hshrink="true"/>
+ <wi:textfield id="tabwidth" width="40" hshrink="true"
align="left"/>
+ <ui:box/>
+ </ui:box>
+ <wi:pad margin="10" vshrink="true">
+ <ui:box/>
+ <wi:button id="ok" text="Ok"/>
+ <wi:button id="apply" text="Apply"/>
+ <wi:button id="cancel" text="Cancel"/>
+ </wi:pad>
+
+ vexi.ui.frame=thisbox;
+
+ // Fill with current values
+ $tabwidth.text = static.prefs.tabwidth;
+
+ var save = function(){
+ var biscuit = {};
+ biscuit.tabwidth = $tabwidth.text;
+ vexi.biscuits.prefs = biscuit;
+ static.load(biscuit);
+ db.event..sendEvent({name: "PrefsChanged"});
+ };
+
+
+ $ok.action ++= function(v){
+ save();
+ thisbox.Close = true;
+ };
+ $apply.action ++= function(v){
+ save();
+ };
+ $cancel.action ++= function(v){
+ vexi.log.info("cancel");
+ var x = vexi.foo;
+ thisbox.Close = true;
+ };
+
+
+ </ui:box>
+ </vexi>
\ No newline at end of file
Copied:
core/trunk/org.vexi.debugclient/src/org/vexi/debugclient/ui/source/line.t (from
rev 1775,
some_apps/trunk/org.vexi.debugclient/src/org/vexi/debugclient/srcview/line.t)
===================================================================
--- core/trunk/org.vexi.debugclient/src/org/vexi/debugclient/ui/source/line.t
(rev 0)
+++ core/trunk/org.vexi.debugclient/src/org/vexi/debugclient/ui/source/line.t
2007-03-31 10:17:05 UTC (rev 1776)
@@ -0,0 +1,65 @@
+<vexi xmlns:ui="vexi://ui" xmlns:meta="vexi://meta"
+ xmlns:db="org.vexi.debugclient" xmlns="">
+ <ui:box height="16">
+ <ui:box id="side" align="topleft" height="16" width="16" />
+ <ui:box id="bg" align="left" display="false" fill="#88ff88" packed="false"
x="16" />
+ <ui:box width="2" />
+ <ui:box id="nb" align="right" height="16" width="20" />
+ <ui:box width="4" />
+ <db:srcview.tabbedtext id="main" height="16" align="left"/>
+
+ <ui:box width="2" />
+
+ thisbox.breakpoint = false;
+ // Property which through which the breakpoint is exported
+ thisbox.breakpointToggled;
+ thisbox.highlight = false;
+
+ thisbox.breakpoint ++= static.breakpoint;
+ thisbox.highlight ++= function(v) {
+ if(v==null){
+ $bg.display = false;
+ }else{
+ $bg.display = true;
+ $bg.fill = v;
+ }
+ }
+
+ thisbox.number ++= function(v) { $nb.text = v; }
+ thisbox.text ++= function(v) { $main.text = v; cascade = null; }
+
+ $side.parent = thisbox;
+ $side.DoubleClick1 ++= static.doubleclick;
+
+ </ui:box>
+
+ static.doubleclick = function(v)
+ {
+ if (trapee.numchildren){
+ //trapee.parent.breakpoint = false;
+ trapee.parent.breakpointToggled = false;
+ }
+ else{
+ //trapee.parent.breakpoint = true;
+ trapee.parent.breakpointToggled = true;
+ }
+ }
+
+ static.breakpoint = function(v)
+ {
+ if (v)
+ {
+ if (trapee[0].numchildren == 0)
+ {
+ trapee[0][0] = vexi.box;
+ trapee[0][0].fill = db.icons.brkp_obj;
+ trapee[0][0].shrink = true;
+ }
+ }
+ else{
+ trapee[0][0] = null;
+ }
+
+ }
+
+</vexi>
Copied:
core/trunk/org.vexi.debugclient/src/org/vexi/debugclient/ui/source/srcview.t
(from rev 1775,
some_apps/trunk/org.vexi.debugclient/src/org/vexi/debugclient/srcview/srcview.t)
===================================================================
---
core/trunk/org.vexi.debugclient/src/org/vexi/debugclient/ui/source/srcview.t
(rev 0)
+++
core/trunk/org.vexi.debugclient/src/org/vexi/debugclient/ui/source/srcview.t
2007-03-31 10:17:05 UTC (rev 1776)
@@ -0,0 +1,151 @@
+<vexi xmlns:ui="vexi://ui" xmlns:meta="vexi://meta"
+ xmlns="org.vexi.debugclient.srcview"
+ xmlns:db="org.vexi.debugclient"
+ xmlns:wi="vexi.widget">
+ <ui:box redirect="$content">
+ <wi:bevel form="down">
+ <wi:scrollpane id="pane" autohidehorizontal="true"
autohidevertical="true" >
+ <ui:box packed="false">
+ <ui:box width="16" fill="gray" />
+ <ui:box width="24" fill="#DDDDDD" />
+ <ui:box fill="#EEEEEE" />
+ </ui:box>
+ <ui:box id="content" shrink="true" cols="1" align="topleft">
+
+
+ </ui:box>
+ </wi:scrollpane>
+ </wi:bevel>
+
+
+ var srcName = ""; //source name
+
+ /////////////
+ // BREAKPOINT Stuff
+ ////////
+
+ /** Call server when we try to add/remove a break point
+ The visual modification (add/remove the icon) occurs
+ only after the rpc call has returned*/
+ var breakpointToggled = function(v)
+ {
+ var ln = $content.indexof(trapee) + 1;
+ if(v) db.server..addBreakPoint(srcName, ln);
+ else db.server..removeBreakPoint(srcName, ln);
+ }
+
+ $content.ChildAdded ++= function(c)
+ {
+ c.breakpointToggled ++= breakpointToggled;
+ }
+
+ /////////////
+ // LOCATION Stuff
+ ////////
+ // Constructor
+ var C_location = function(srcName, ln){ return {srcName:srcName, ln:ln};}
+
+ // Two possible locations to highlight. May both be highlighted if in same
file.
+ // 1.Selected line (through selecting function
+ // calls in the thread view or breakpoints
+ // 2.Executed line. Line being executed when we paused last.
+ var selected = null;
+ var executed = null;
+
+
+
+ var unhighlight = function(location){
+ if(location!=null) $content[location.ln-1].highlight = null;
+ };
+
+ var highlight = function(location, colour){
+ /*if(location!=null)
+ vexi.log.info("highlight " + location.srcName + ":" +
location.ln +" " + colour +
+ " " + (location.srcName == srcName) + " " +
location.srcName +","+ srcName);*/
+ if(location!=null and location.srcName == srcName){
+ $content[location.ln-1].highlight = colour;
+ }
+ };
+
+ var moveview = function(newln){
+ $pane.setYOffset($pane.height/2 - $content[newln-1].y);
+ };
+
+ var refreshBreakPoints = function(){
+
+
+ };
+
+ /** Set source code text in source view*/
+ thisbox.text ++= function(source){
+ //vexi.log.info("setText()");
+ //Clear previous text
+ while ($content[0]) $content[0] = null;
+ var lines = source.split('\n');
+ for (var i=0; lines.length>i; i++){
+ var line = .line(vexi.box);
+ line.text = lines[i];
+ line.number = i+1;
+ $content[$content.numchildren] = line;
+ //$pane.getYOffset(16*line);
+
+ }
+ //vexi.log.info("text set");
+ cascade = null;
+ highlight(executed, "#88FF88");
+ highlight(selected, "orange");
+ }
+
+ ///////////////
+ // EVENT LISTENING
+ var listener = {};
+ listener.listenBreakPointChanged = function(event){
+ if(event.srcName == srcName)
+ $content[event.ln-1].breakpoint = event.on;
+
+ };
+
+ listener.listenLineSelected = function(event){
+ var newlocation = C_location(event.srcName, event.ln);
+ var updateText = srcName != newlocation.srcName;
+
+ if(updateText){
+ selected = newlocation;
+ srcName = newlocation.srcName;
+ thisbox.text = db.server..getSource(srcName);
+ }else{
+ unhighlight(selected);
+ selected = newlocation;
+ highlight(selected, "orange");
+ }
+ moveview(selected.ln);
+ };
+
+
+ listener.listenStateChanged = function(message){
+ if(message.currentThread==null) return;
+ //vexi.log.info("updating srcview");
+
+ var newlocation = C_location(message.currentThread.srcName,
message.currentThread.ln);
+ var updateText = newlocation.srcName != null and srcName !=
newlocation.srcName;
+ //vexi.log.info(srcName + " " + newlocation.srcName);
+ if(updateText){
+ executed = newlocation;
+ srcName = newlocation.srcName;
+ thisbox.text = db.server..getSource(srcName);
+ }else{
+ unhighlight(executed);
+ executed = newlocation;
+ highlight(executed, "#88FF88");
+ }
+ moveview(executed.ln);
+ };
+
+
+ listener.listenPrefsChanged = function(message){
+ // Refresh text, to reflect change in tabwidths
+ };
+
+ db.event..listen(listener);
+ </ui:box>
+</vexi>
Copied:
core/trunk/org.vexi.debugclient/src/org/vexi/debugclient/ui/source/tabbedtext.t
(from rev 1775,
some_apps/trunk/org.vexi.debugclient/src/org/vexi/debugclient/srcview/tabbedtext.t)
===================================================================
---
core/trunk/org.vexi.debugclient/src/org/vexi/debugclient/ui/source/tabbedtext.t
(rev 0)
+++
core/trunk/org.vexi.debugclient/src/org/vexi/debugclient/ui/source/tabbedtext.t
2007-03-31 10:17:05 UTC (rev 1776)
@@ -0,0 +1,57 @@
+<vexi xmlns:ui="vexi://ui"
+ xmlns=""
+ xmlns:db="org.vexi.debugclient"
+ xmlns:wi="vexi.widget">
+
+ static.tabtext;
+
+ var setTabWidth = function(){
+ var tabwidth = db.preferences.preferences..prefs.tabwidth;
+ var tab = "";
+ for(var i=0; tabwidth>i ; i++) tab += " ";
+ static.tabtext = tab;
+ }
+ setTabWidth();
+ var listener = {};
+ listener.listenPrefsChanged = function(message){
+ setTabWidth();
+ };
+ db.event..listen(listener);
+
+ <ui:box>
+ <ui:box id="text" hshrink="true" align="left"/>
+
+ var addWord = function(txt){
+ if(txt.length>1){
+ var b = vexi.box;
+ b.text = txt;
+ b.font = .vexi.font.VeraMono;
+ //vexi.log.info("word :" + numchildren);
+ $text[$text.numchildren] = b;
+ //thisbox[numchildren].shrink=true;
+ }
+ };
+
+ var addTab = function(){
+ var b = vexi.box;
+ b.text=static.tabtext;
+ b.hshrink=true;
+ b.font = .vexi.font.VeraMono;
+ //vexi.log.info("tab :" + numchildren);
+ $text[$text.numchildren] = b;
+ };
+
+ thisbox.text ++= function(v){
+ var strs = v.split("\t");
+ //vexi.log.info("v: " + v);
+ //vexi.log.info("strs.length: " + strs.length);
+
+ if(strs.length>=1) addWord(strs[0]);
+ for(var i=1; strs.length>i; i++){
+ addTab();
+ addWord(strs[i]);
+ }
+ cascade = null;
+ };
+ </ui:box>
+</vexi>
Copied:
core/trunk/org.vexi.debugclient/src/org/vexi/debugclient/ui/threads/call.t
(from rev 1775,
some_apps/trunk/org.vexi.debugclient/src/org/vexi/debugclient/threadview/call.t)
===================================================================
--- core/trunk/org.vexi.debugclient/src/org/vexi/debugclient/ui/threads/call.t
(rev 0)
+++ core/trunk/org.vexi.debugclient/src/org/vexi/debugclient/ui/threads/call.t
2007-03-31 10:17:05 UTC (rev 1776)
@@ -0,0 +1,9 @@
+<vexi xmlns:ui="vexi://ui" xmlns:meta="vexi://meta"
+ xmlns:db="org.vexi.debugclient" >
+
+ <!-- FIXME, don't directly use theme -->
+ <db:lineobject>
+ thisbox.ikon = "stckframe_obj";
+ </db:lineobject>
+
+</vexi>
Copied:
core/trunk/org.vexi.debugclient/src/org/vexi/debugclient/ui/threads/callstack.t
(from rev 1775,
some_apps/trunk/org.vexi.debugclient/src/org/vexi/debugclient/threadview/callstack.t)
===================================================================
---
core/trunk/org.vexi.debugclient/src/org/vexi/debugclient/ui/threads/callstack.t
(rev 0)
+++
core/trunk/org.vexi.debugclient/src/org/vexi/debugclient/ui/threads/callstack.t
2007-03-31 10:17:05 UTC (rev 1776)
@@ -0,0 +1,25 @@
+<vexi xmlns:ui="vexi://ui"
+ xmlns:meta="vexi://meta"
+ xmlns:wi="vexi.widget"
+ xmlns="org.vexi.debugclient.threadview" >
+
+ static.singleton;
+ //vexi.log.info("hi");
+
+ <ui:box cols="1">
+ static.singleton = thisbox;
+ thisbox.set = function(callstackMsg){
+
+ while(numchildren>0)thisbox[0] = null;
+
+ for(var i=0; callstackMsg.length>i; i++){
+ var b = .call(vexi.box);
+ b.srcName = callstackMsg[i].srcName;
+ b.ln = callstackMsg[i].ln;
+ thisbox[numchildren] = b;
+ };
+ thisbox[numchildren] = vexi.box;
+ };
+ </ui:box>
+
+</vexi>
Copied:
core/trunk/org.vexi.debugclient/src/org/vexi/debugclient/ui/threads/thread.t
(from rev 1775,
some_apps/trunk/org.vexi.debugclient/src/org/vexi/debugclient/threadview/thread.t)
===================================================================
---
core/trunk/org.vexi.debugclient/src/org/vexi/debugclient/ui/threads/thread.t
(rev 0)
+++
core/trunk/org.vexi.debugclient/src/org/vexi/debugclient/ui/threads/thread.t
2007-03-31 10:17:05 UTC (rev 1776)
@@ -0,0 +1,51 @@
+<vexi xmlns:ui="vexi://ui" xmlns:meta="vexi://meta"
+ xmlns:icons="org.vexi.debugclient.icons"
+ xmlns="org.vexi.debugclient.threadview"
+ xmlns:win2k="org.vexi.theme.win2k">
+
+ <!-- FIXME, don't directly use theme -->
+ <win2k:focusborder show="false">
+ <ui:box cols="2" align="left" shrink="true">
+ <ui:box id="threadicon" shrink="true" />
+ <ui:box id="main" height="16" align="topleft"/>
+ </ui:box>
+ var update = function(){
+ $main.text = srcName + ":" + ln;
+ };
+
+ thisbox.srcName ++= function(v) {
+ cascade = v;
+ update();
+ };
+
+ thisbox.ln ++= function(v) {
+ cascade = v;
+ update();
+ };
+
+
+ thisbox.threadicon ++= function(v){
+ $threadicon.fill = icons[v];
+ }
+
+ thisbox.DoubleClick1 ++= static.doubleclick;
+ thisbox.Click1 ++= static.click;
+
+ </win2k:focusborder>
+ static.current;
+
+ static.doubleclick = function(v)
+ {
+ vexi.log.info("double clicked");
+ }
+
+ static.click = function(v)
+ {
+ if(static.current!=null)static.current.show = false;
+ static.current = trapee;
+ static.current.show = true;
+ .callstack..singleton.set(trapee.callStack);
+ }
+
+
+</vexi>
Copied:
core/trunk/org.vexi.debugclient/src/org/vexi/debugclient/ui/threads/threadcategory.t
(from rev 1775,
some_apps/trunk/org.vexi.debugclient/src/org/vexi/debugclient/threadview/threadcategory.t)
===================================================================
---
core/trunk/org.vexi.debugclient/src/org/vexi/debugclient/ui/threads/threadcategory.t
(rev 0)
+++
core/trunk/org.vexi.debugclient/src/org/vexi/debugclient/ui/threads/threadcategory.t
2007-03-31 10:17:05 UTC (rev 1776)
@@ -0,0 +1,31 @@
+<vexi xmlns:ui="vexi://ui"
+ xmlns:meta="vexi://meta"
+ xmlns:wi="vexi.widget"
+ xmlns="org.vexi.debugclient.threadview" >
+ <wi:bevel cols="1" vshrink="true" aligh="top" pack="true">
+ thisbox.threadicon;
+
+ var add = function(threadMsg){
+ var t = .thread(vexi.box);
+ if(threadicon!=null)
+ t.threadicon = threadicon;
+ t.srcName = threadMsg.srcName;
+ t.ln = threadMsg.ln;
+ t.callStack = threadMsg.callStack;
+
+ thisbox[numchildren]=t;
+ };
+
+ thisbox.addThread = function(threadMsg){
+ while(numchildren>0)thisbox[0] = null;
+ add(threadMsg);
+ };
+
+ thisbox.addThreads = function(threadsMsg){
+ while(numchildren>0)thisbox[0] = null;
+ for(var i=0; threadsMsg.length>i; i++){
+ add(threadsMsg[i]);
+ }
+ };
+ </wi:bevel>
+</vexi>
Copied:
core/trunk/org.vexi.debugclient/src/org/vexi/debugclient/ui/threads/threadview.t
(from rev 1775,
some_apps/trunk/org.vexi.debugclient/src/org/vexi/debugclient/threadview/threadview.t)
===================================================================
---
core/trunk/org.vexi.debugclient/src/org/vexi/debugclient/ui/threads/threadview.t
(rev 0)
+++
core/trunk/org.vexi.debugclient/src/org/vexi/debugclient/ui/threads/threadview.t
2007-03-31 10:17:05 UTC (rev 1776)
@@ -0,0 +1,42 @@
+<vexi xmlns:ui="vexi://ui"
+ xmlns:wi="vexi.widget"
+ xmlns:db="org.vexi.debugclient"
+ xmlns="org.vexi.debugclient.threadview">
+ <ui:box rows="1">
+ <wi:splitpane orient="horizontal">
+ <wi:bevel form="down" >
+ <wi:scrollpane autohidehorizontal="true"
autohidevertical="true" cols="1" >
+ <threadcategory fill="green" id="running"
+ threadicon="thread_obj_running"/>
+ <threadcategory fill="orange" id="waiting"
+ threadicon="thread_obj_waiting"/>
+ <threadcategory fill="red" id="sleeping"
threadicon="thread_obj_sleeping"/>
+ <ui:box/>
+ </wi:scrollpane>
+ </wi:bevel>
+ <wi:divider hshrink="true" />
+ <wi:bevel form="down" >
+ <wi:scrollpane autohidehorizontal="true"
autohidevertical="true" padding="3" cols="1" >
+ <callstack/>
+ </wi:scrollpane>
+ </wi:bevel>
+
+ </wi:splitpane>
+
+ var listener = {};
+ listener.listenStateChanged = function(message){
+ //vexi.log.info("updating threadview");
+
+ if(message.currentThread!=null)
+ $running.addThread(message.currentThread);
+ if(message.scheduledThreads!=null)
+ $waiting.addThreads(message.scheduledThreads);
+ if(message.sleepingThreads!=null)
+ $sleeping.addThreads(message.sleepingThreads);
+
+
+ }
+ db.event..listen(listener);
+
+ </ui:box>
+</vexi>
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Vexi-svn mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/vexi-svn