From 8364e6bbedf919008da50cc1b54dbb8a49dee88d Mon Sep 17 00:00:00 2001 From: Tobi Oetiker Date: Wed, 4 Jun 2008 21:33:02 +0000 Subject: alter name to Tr since we do not use mtr anmore --- qooxdoo/Makefile | 4 +- qooxdoo/source/class/Mtr/Application.js | 89 ------------- qooxdoo/source/class/Mtr/Server.js | 74 ---------- qooxdoo/source/class/Mtr/ui/ActionButton.js | 160 ---------------------- qooxdoo/source/class/Mtr/ui/Cellrenderer.js | 46 ------- qooxdoo/source/class/Mtr/ui/TraceTable.js | 196 --------------------------- qooxdoo/source/class/Tr/Application.js | 89 +++++++++++++ qooxdoo/source/class/Tr/Server.js | 74 ++++++++++ qooxdoo/source/class/Tr/ui/ActionButton.js | 164 +++++++++++++++++++++++ qooxdoo/source/class/Tr/ui/Cellrenderer.js | 46 +++++++ qooxdoo/source/class/Tr/ui/TraceTable.js | 200 ++++++++++++++++++++++++++++ qooxdoo/source/index.html | 2 +- qooxdoo/source/translation/C.po | 69 +++++----- qooxdoo/source/translation/de.po | 90 +++++++------ qooxdoo/source/translation/en.po | 77 +++++------ qooxdoo/source/translation/fr.po | 69 +++++----- qooxdoo/source/translation/messages.pot | 69 +++++----- 17 files changed, 767 insertions(+), 751 deletions(-) delete mode 100644 qooxdoo/source/class/Mtr/Application.js delete mode 100644 qooxdoo/source/class/Mtr/Server.js delete mode 100644 qooxdoo/source/class/Mtr/ui/ActionButton.js delete mode 100644 qooxdoo/source/class/Mtr/ui/Cellrenderer.js delete mode 100644 qooxdoo/source/class/Mtr/ui/TraceTable.js create mode 100644 qooxdoo/source/class/Tr/Application.js create mode 100644 qooxdoo/source/class/Tr/Server.js create mode 100644 qooxdoo/source/class/Tr/ui/ActionButton.js create mode 100644 qooxdoo/source/class/Tr/ui/Cellrenderer.js create mode 100644 qooxdoo/source/class/Tr/ui/TraceTable.js diff --git a/qooxdoo/Makefile b/qooxdoo/Makefile index 81fe35e..8ad7dad 100644 --- a/qooxdoo/Makefile +++ b/qooxdoo/Makefile @@ -44,13 +44,13 @@ QOOXDOO_URI = ../qooxdoolink # Namespace of your application e.g. custom # Even complexer stuff is possible like: net.sf.custom # -APPLICATION_NAMESPACE = Mtr +APPLICATION_NAMESPACE = Tr # # Files that will be copied from the source directory into the build # directory (space separated list). The default list is empty. # -APPLICATION_FILES = index.html mtr.cgi perl +APPLICATION_FILES = index.html tr.cgi perl # APPLICATION_BUILD_LOG_LEVEL = debug APPLICATION_BUILD_LOG_LEVEL = off diff --git a/qooxdoo/source/class/Mtr/Application.js b/qooxdoo/source/class/Mtr/Application.js deleted file mode 100644 index 7d28f59..0000000 --- a/qooxdoo/source/class/Mtr/Application.js +++ /dev/null @@ -1,89 +0,0 @@ -/* ************************************************************************ - -#module(Mtr) -#resource(Mtr.image:image) -#embed(Mtr.image/*) - -************************************************************************ */ - -qx.Class.define('Mtr.Application', -{ - extend: qx.application.Gui, - - members: - { - main: function() - { - var self=this; - this.base(arguments); - - qx.io.Alias.getInstance().add( - 'MT', qx.core.Setting.get('Mtr.resourceUri') - ); - - // if we run with a file:// url make sure - // the app finds the Mtr service (Mtr.cgi) - - Mtr.Server.getInstance().setLocalUrl( - 'http://johan.oetiker.ch/~oetiker/mtr/' - ); - - var base_layout = new qx.ui.layout.VerticalBoxLayout(); - with(base_layout){ - setPadding(8); - setLocation(0,0); - setWidth('100%'); - setHeight('100%'); - setSpacing(10); - setBackgroundColor('white'); - }; - base_layout.addToDocument(); - var top = new qx.ui.layout.HorizontalBoxLayout(); - top.set({ - height: 'auto' - }); - var title = new qx.ui.basic.Atom(this.tr("MTR AJAX Frontend")); - with(title){ - setTextColor('#b0b0b0'); - setFont(qx.ui.core.Font.fromString('20px bold sans-serif')); - } - top.add(title); - top.add(new qx.ui.basic.HorizontalSpacer()); - top.add(new Mtr.ui.ActionButton()); - base_layout.add(top); - var trace = new Mtr.ui.TraceTable(); - base_layout.add(trace); - }, - - close : function(e) - { - this.base(arguments); - // return "Mtr Web UI: " - // + "Do you really want to close the application?"; - }, - - - terminate : function(e) { - this.base(arguments); - } - - /******************************************************************** - * Functional Block Methods - ********************************************************************/ - - }, - - - - - /* - ***************************************************************************** - SETTINGS - ***************************************************************************** - */ - - settings : { - 'Mtr.resourceUri' : './resource' - } -}); - diff --git a/qooxdoo/source/class/Mtr/Server.js b/qooxdoo/source/class/Mtr/Server.js deleted file mode 100644 index 3e77047..0000000 --- a/qooxdoo/source/class/Mtr/Server.js +++ /dev/null @@ -1,74 +0,0 @@ -/* ************************************************************************ -#module(Mtr) -************************************************************************ */ - -/** - * A Mtr specific rpc call which works - */ - -qx.Class.define('Mtr.Server', { - extend: qx.io.remote.Rpc, - type: "singleton", - - /* - ***************************************************************************** - CONSTRUCTOR - ***************************************************************************** - */ - - /** - * @param local_url {String} When running the application in file:// mode. - * where will we find our RPC server. - */ - construct: function (local_url) { - - with(this){ - base(arguments); - setTimeout(7000000); - setUrl('mtr.cgi'); - setServiceName('Mtr'); - setCrossDomain(true); - } - - return this; - }, - - /* - ***************************************************************************** - MEMBERS - ***************************************************************************** - */ - - members : - { - - /* - --------------------------------------------------------------------------- - CORE METHODS - --------------------------------------------------------------------------- - */ - - /** - * Tell about the BaseUrl we found. - * - * @type member - * - * @param {void} - * - * @return BaseUrl {Strings} - */ - - getBaseUrl: function(){ - return this.__base_url; - }, - - setLocalUrl: function(local_url){ - if ( document.location.host === '' ) { - with(this){ - setUrl(local_url+'mtr.cgi'); - } - } - } - - } -}); diff --git a/qooxdoo/source/class/Mtr/ui/ActionButton.js b/qooxdoo/source/class/Mtr/ui/ActionButton.js deleted file mode 100644 index 0c02598..0000000 --- a/qooxdoo/source/class/Mtr/ui/ActionButton.js +++ /dev/null @@ -1,160 +0,0 @@ -/* ************************************************************************ -#module(Mtr) -************************************************************************ */ - -/** - * a widget showing the Mtr graph overview - */ - -qx.Class.define('Mtr.ui.ActionButton', -{ - extend: qx.ui.layout.HorizontalBoxLayout, - - /* - ***************************************************************************** - CONSTRUCTOR - ***************************************************************************** - */ - - construct: function () { - this.base(arguments); - - this.set({ - height: 'auto', - width: 'auto', - verticalChildrenAlign: 'middle' - }); - var lab1 = new qx.ui.basic.Label(this.tr("Host")); - lab1.set({ - paddingRight: 6 - }); - this.add(lab1); - var host = new qx.ui.form.TextField(); - host.set({ - width: 200, - height: 'auto', - border: 'dark-shadow', - padding: 1 - }); - this.add(host); - this.__host = host; - - var lab2 = new qx.ui.basic.Label(this.tr("Delay")); - lab2.set({ - paddingRight: 6, - paddingLeft: 12 - }); - this.add(lab2); - var delay = new qx.ui.form.Spinner(1,5,60); - delay.set({ - border: 'dark-shadow' - }); - this.add(delay); - this.__delay = delay; - - var lab3 = new qx.ui.basic.Label(this.tr("Rounds")); - lab3.set({ - paddingRight: 6, - paddingLeft: 12 - }); - this.add(lab3); - var rounds = new qx.ui.form.Spinner(1,20,200); - rounds.set({ - border: 'dark-shadow' - }); - this.add(rounds); - this.__rounds = rounds; - - var button = new qx.ui.form.Button(''); - this.__button = button; - button.set({ - marginLeft: 10, - width: 50, - height: 'auto', - border: 'dark-shadow', - padding: 2 - }); - this.add(button); - - qx.event.message.Bus.subscribe('mtr.status',this.__set_status,this); - qx.event.message.Bus.dispatch('mtr.status','stopped'); - - var start_trace = function(event) { - qx.event.message.Bus.dispatch('mtr.cmd',{ - action: button.getUserData('action'), - host: host.getValue(), - delay: delay.getValue(), - rounds: rounds.getValue() - }); - }; - - button.addEventListener('execute', start_trace ); - - var history_action = function(event){ - host.setValue(event.getData()); - start_trace(); - } - qx.client.History.getInstance().addEventListener('request', history_action); - - // if we got called with a host on the commandline - var initial_host = qx.client.History.getInstance().getState(); - if (initial_host){ - host.setValue(initial_host); - // dispatch this task once all the initializations are done - qx.client.Timer.once(start_trace,this,0); - } - }, - - members: { - __set_status: function(m){ - var host = this.__host; - var rounds = this.__rounds; - var delay = this.__delay; - with(this.__button){ - // this.debug(m.getData()); - switch(m.getData()){ - case 'starting': - if (getUserData('action') == 'go') { - setLabel(this.tr("Starting")); - setEnabled(false); - host.setEnabled(false); - rounds.setEnabled(false); - delay.setEnabled(false); - } - break; - case 'stopping': - if (getUserData('action') == 'stop') { - setLabel(this.tr("Stopping")); - setEnabled(false); - host.setEnabled(false); - rounds.setEnabled(false); - delay.setEnabled(false); - } - break; - case 'stopped': - setUserData('action','go'); - setLabel(this.tr("Go")); - setEnabled(true); - host.setEnabled(true); - rounds.setEnabled(true); - delay.setEnabled(true); - break; - case 'started': - setUserData('action','stop'); - setLabel(this.tr("Stop")); - setEnabled(true); - host.setEnabled(false); - rounds.setEnabled(false); - delay.setEnabled(false); - break; - default: - alert('Unknown Status Message: '+m.getData()); - } - } - } - } - - -}); - - diff --git a/qooxdoo/source/class/Mtr/ui/Cellrenderer.js b/qooxdoo/source/class/Mtr/ui/Cellrenderer.js deleted file mode 100644 index 2b2e45e..0000000 --- a/qooxdoo/source/class/Mtr/ui/Cellrenderer.js +++ /dev/null @@ -1,46 +0,0 @@ -/* ************************************************************************ - - Mtr Frontend - - Author: - * Tobias Oetiker - -************************************************************************ */ -/* ************************************************************************ -#module(Mtr) -************************************************************************ */ - -/** - * A configurable cell renderre - */ - -qx.Class.define('Mtr.ui.Cellrenderer', -{ - extend: qx.ui.table.cellrenderer.Number, - /** - * Format a number with a configurable number of fraction digits - * and add optional pre and postfix. - * @param digits {Integer} how many digits should there be. Default is 0. - * @param prefix {String} optional prefix. - * @param postfix {String} optional postfix. - */ - - construct: function (digits,postfix,prefix) { - if (digits == undefined){ - digits = 0; - } - this.base(arguments) - var format = new qx.util.format.NumberFormat(); - format.set({ - maximumFractionDigits: digits, - minimumFractionDigits: digits - }); - if (postfix != undefined){ - format.setPostfix(postfix); - } - if (prefix != undefined){ - format.setPrefix(prefix); - } - this.setNumberFormat(format); - } -}); diff --git a/qooxdoo/source/class/Mtr/ui/TraceTable.js b/qooxdoo/source/class/Mtr/ui/TraceTable.js deleted file mode 100644 index bce6998..0000000 --- a/qooxdoo/source/class/Mtr/ui/TraceTable.js +++ /dev/null @@ -1,196 +0,0 @@ -/* ************************************************************************ -#module(Mtr) -************************************************************************ */ - -/** - * a widget showing the Mtr target tree - */ - -qx.Class.define('Mtr.ui.TraceTable', -{ - extend: qx.ui.table.Table, - - /* - ***************************************************************************** - CONSTRUCTOR - ***************************************************************************** - */ - - - construct: function () { - - var tableModel = new qx.ui.table.model.Simple(); - this.__tableModel = tableModel; - tableModel.setColumns([ this.tr("Hop"), this.tr("Host"),this.tr("Ip"), - this.tr("Loss [%]"), this.tr("Sent [ms]"), this.tr("Last [ms]"), //"; help syntax highliter - this.tr("Avg [ms]"), this.tr("Best [ms]"), this.tr("Worst [ms]"), this.tr("StDev [ms]") ]); - var custom = { - tableColumnModel: function(obj) { - return new qx.ui.table.columnmodel.Resize(obj); - } - }; - with(this){ - base(arguments,tableModel,custom); - set({ - width: '100%', - height: '1*', - border: 'dark-shadow', - showCellFocusIndicator: false, - statusBarVisible: false - }); - }; - var tcm = this.getTableColumnModel(); - - tcm.setDataCellRenderer(0, new Mtr.ui.Cellrenderer(2)); - tcm.setDataCellRenderer(3, new Mtr.ui.Cellrenderer(0,' %')); - tcm.setDataCellRenderer(4, new Mtr.ui.Cellrenderer(0)); - - var render_ms = new Mtr.ui.Cellrenderer(1); - - for (var i=5;i<10;i++){ - tcm.setDataCellRenderer(i, render_ms); - } - - - // Obtain the behavior object to manipulate - var resizeBehavior = tcm.getBehavior(); - // This uses the set() method to set all attriutes at once; uses flex - resizeBehavior.set(0, { width:"2*"}); - resizeBehavior.set(1, { width:"10*"}); - resizeBehavior.set(2, { width:"6*"}); - - for (var i=3;i<10;i++){ - resizeBehavior.set(i, { width:"2*"}); - } - qx.event.message.Bus.subscribe('mtr.cmd',this.__handle_mtr,this); - }, - - /* - ***************************************************************************** - Statics - ***************************************************************************** - */ - members: { - __make_empty_row: function (){ - return ([undefined,undefined,undefined,0,0,undefined,undefined,undefined,undefined,undefined,0,0,0]); - }, - __handle_mtr: function(m){ - var self = this; - var f_hop = 0,f_host=1,f_ip=2,f_loss=3,f_snt=4,f_last=5,f_avg=6,f_best=7,f_worst=8,f_stdev=9,f_cnt=10,f_sum=11,f_sqsum=12; - var fill_table; - fill_table = function(retval,exc,id){ - if (exc == null){ - if ( self.__handle == undefined ) { - qx.event.message.Bus.dispatch('mtr.status','started'); - } - self.__handle = retval['handle']; - var tableModel = self.__tableModel; - var lines = retval['output'].length; - var data = self.__data; - for(var i=0;i value){ - drow[f_best] = value; - } - var worst = drow[f_worst]; - if (worst == undefined || worst < value){ - drow[f_worst] = value; - } - - - if (value != undefined){ - drow[f_sum] += value; - var sum = drow[f_sum]; - drow[f_cnt] ++; - var cnt = drow[f_cnt]; - var sqsum = drow[f_sqsum]+value*value; - drow[f_sqsum] = sqsum; - drow[f_avg] = drow[f_sum]/drow[f_cnt]; - drow[f_stdev] = Math.sqrt((cnt*sqsum-sum*sum)/(cnt*(cnt-1))) - } - drow[f_loss] = ((drow[f_snt]-drow[f_cnt])/drow[f_snt])*100; - } - - tableModel.setData(data); - if (retval['again']){ - var next_round = function (){Mtr.Server.getInstance().callAsync( - fill_table,'run_mtr',{ handle: retval['handle'], - point: retval['point']})}; - qx.client.Timer.once(next_round,self,0); - } else - { - for (var i=0;i<10;i++){ - tableModel.setColumnSortable(i,true); - } - qx.event.message.Bus.dispatch('mtr.status','stopped'); - self.__handle = undefined; - } - } - else { - alert(exc); - if (self.__handle){ - self.__handle = undefined; - } - for (var i=0;i<10;i++){ - self.__tableModel.setColumnSortable(i,true); - } - qx.event.message.Bus.dispatch('mtr.status','stopped'); - } - }; - - var handle_returns = function (data,exc,id){ - if (exc != null){ - alert(exc); - } - }; - - var cmd = m.getData(); - switch(cmd['action']){ - case 'stop': - qx.event.message.Bus.dispatch('mtr.status','stopping'); - Mtr.Server.getInstance().callAsync(handle_returns,'stop_mtr',this.__handle); - break; - case 'go': - this.__data = []; - this.__tableModel.setData(this.__data); - this.__delay = cmd['delay']; - for (var i=0;i<10;i++){ - this.__tableModel.setColumnSortable(i,false); - } - qx.event.message.Bus.dispatch('mtr.status','starting'); - Mtr.Server.getInstance().callAsync(fill_table,'run_mtr',{host: cmd['host'], rounds: cmd['rounds'], delay: cmd['delay']}); - break; - default: - alert('Unknown Command '+cmd['action']); - } - } - } -}); - - diff --git a/qooxdoo/source/class/Tr/Application.js b/qooxdoo/source/class/Tr/Application.js new file mode 100644 index 0000000..9e07dbe --- /dev/null +++ b/qooxdoo/source/class/Tr/Application.js @@ -0,0 +1,89 @@ +/* ************************************************************************ + +#module(Tr) +#resource(Tr.image:image) +#embed(Tr.image/*) + +************************************************************************ */ + +qx.Class.define('Tr.Application', +{ + extend: qx.application.Gui, + + members: + { + main: function() + { + var self=this; + this.base(arguments); + + qx.io.Alias.getInstance().add( + 'MT', qx.core.Setting.get('Tr.resourceUri') + ); + + // if we run with a file:// url make sure + // the app finds the Tr service (Tr.cgi) + + Tr.Server.getInstance().setLocalUrl( + 'http://johan.oetiker.ch/~oetiker/tr/' + ); + + var base_layout = new qx.ui.layout.VerticalBoxLayout(); + with(base_layout){ + setPadding(8); + setLocation(0,0); + setWidth('100%'); + setHeight('100%'); + setSpacing(10); + setBackgroundColor('white'); + }; + base_layout.addToDocument(); + var top = new qx.ui.layout.HorizontalBoxLayout(); + top.set({ + height: 'auto' + }); + var title = new qx.ui.basic.Atom(this.tr("Smokeping Traceroute Frontend")); + with(title){ + setTextColor('#b0b0b0'); + setFont(qx.ui.core.Font.fromString('20px bold sans-serif')); + } + top.add(title); + top.add(new qx.ui.basic.HorizontalSpacer()); + top.add(new Tr.ui.ActionButton()); + base_layout.add(top); + var trace = new Tr.ui.TraceTable(); + base_layout.add(trace); + }, + + close : function(e) + { + this.base(arguments); + // return "Tr Web UI: " + // + "Do you really want to close the application?"; + }, + + + terminate : function(e) { + this.base(arguments); + } + + /******************************************************************** + * Functional Block Methods + ********************************************************************/ + + }, + + + + + /* + ***************************************************************************** + SETTINGS + ***************************************************************************** + */ + + settings : { + 'Tr.resourceUri' : './resource' + } +}); + diff --git a/qooxdoo/source/class/Tr/Server.js b/qooxdoo/source/class/Tr/Server.js new file mode 100644 index 0000000..f17e54b --- /dev/null +++ b/qooxdoo/source/class/Tr/Server.js @@ -0,0 +1,74 @@ +/* ************************************************************************ +#module(Tr) +************************************************************************ */ + +/** + * A Tr specific rpc call which works + */ + +qx.Class.define('Tr.Server', { + extend: qx.io.remote.Rpc, + type: "singleton", + + /* + ***************************************************************************** + CONSTRUCTOR + ***************************************************************************** + */ + + /** + * @param local_url {String} When running the application in file:// mode. + * where will we find our RPC server. + */ + construct: function (local_url) { + + with(this){ + base(arguments); + setTimeout(7000000); + setUrl('tr.cgi'); + setServiceName('Tr'); + setCrossDomain(true); + } + + return this; + }, + + /* + ***************************************************************************** + MEMBERS + ***************************************************************************** + */ + + members : + { + + /* + --------------------------------------------------------------------------- + CORE METHODS + --------------------------------------------------------------------------- + */ + + /** + * Tell about the BaseUrl we found. + * + * @type member + * + * @param {void} + * + * @return BaseUrl {Strings} + */ + + getBaseUrl: function(){ + return this.__base_url; + }, + + setLocalUrl: function(local_url){ + if ( document.location.host === '' ) { + with(this){ + setUrl(local_url+'tr.cgi'); + } + } + } + + } +}); diff --git a/qooxdoo/source/class/Tr/ui/ActionButton.js b/qooxdoo/source/class/Tr/ui/ActionButton.js new file mode 100644 index 0000000..a9c60b3 --- /dev/null +++ b/qooxdoo/source/class/Tr/ui/ActionButton.js @@ -0,0 +1,164 @@ +/* ************************************************************************ +#module(Tr) +************************************************************************ */ + +/** + * a widget showing the Tr graph overview + */ + +qx.Class.define('Tr.ui.ActionButton', +{ + extend: qx.ui.layout.HorizontalBoxLayout, + + /* + ***************************************************************************** + CONSTRUCTOR + ***************************************************************************** + */ + + construct: function () { + this.base(arguments); + + this.set({ + height: 'auto', + width: 'auto', + verticalChildrenAlign: 'middle' + }); + var lab1 = new qx.ui.basic.Label(this.tr("Host")); + lab1.set({ + paddingRight: 6 + }); + this.add(lab1); + var host = new qx.ui.form.TextField(); + host.set({ + width: 200, + height: 'auto', + border: 'dark-shadow', + padding: 1 + }); + this.add(host); + this.__host = host; + var lab2 = new qx.ui.basic.Label(this.tr("Delay")); + lab2.set({ + paddingRight: 6, + paddingLeft: 12 + }); + this.add(lab2); + var delay = new qx.ui.form.Spinner(1,5,60); + delay.set({ + border: 'dark-shadow' + }); + this.add(delay); + this.__delay = delay; + + var lab3 = new qx.ui.basic.Label(this.tr("Rounds")); + lab3.set({ + paddingRight: 6, + paddingLeft: 12 + }); + this.add(lab3); + var rounds = new qx.ui.form.Spinner(1,20,200); + rounds.set({ + border: 'dark-shadow' + }); + this.add(rounds); + this.__rounds = rounds; + + var button = new qx.ui.form.Button(''); + this.__button = button; + button.set({ + marginLeft: 10, + width: 50, + height: 'auto', + border: 'dark-shadow', + padding: 2 + }); + this.add(button); + + qx.event.message.Bus.subscribe('tr.status',this.__set_status,this); + qx.event.message.Bus.dispatch('tr.status','stopped'); + + var start_trace = function(event) { + qx.event.message.Bus.dispatch('tr.cmd',{ + action: button.getUserData('action'), + host: host.getValue(), + delay: delay.getValue(), + rounds: rounds.getValue() + }); + }; + + host.addEventListener('keyup',function(e){if(e.keyCode = 13){start_trace()}}); + button.addEventListener('execute', start_trace ); + + var history = qx.client.History.getInstance(); + var history_action = function(event){ + var targ = event.getData(); + host.setValue(targ); + history.addToHistory(targ,'Smokeping Tracerout to '+targ); + start_trace(); + } + history.addEventListener('request', history_action); + + // if we got called with a host on the commandline + var initial_host = qx.client.History.getInstance().getState(); + if (initial_host){ + host.setValue(initial_host); + history.addToHistory(initial_host,'Smokeping Tracerout to '+initial_host); + // dispatch this task once all the initializations are done + qx.client.Timer.once(start_trace,this,0); + } + }, + + members: { + __set_status: function(m){ + var host = this.__host; + var rounds = this.__rounds; + var delay = this.__delay; + with(this.__button){ + // this.debug(m.getData()); + switch(m.getData()){ + case 'starting': + if (getUserData('action') == 'go') { + setLabel(this.tr("Starting")); + setEnabled(false); + host.setEnabled(false); + rounds.setEnabled(false); + delay.setEnabled(false); + } + break; + case 'stopping': + if (getUserData('action') == 'stop') { + setLabel(this.tr("Stopping")); + setEnabled(false); + host.setEnabled(false); + rounds.setEnabled(false); + delay.setEnabled(false); + } + break; + case 'stopped': + setUserData('action','go'); + setLabel(this.tr("Go")); + setEnabled(true); + host.setEnabled(true); + rounds.setEnabled(true); + delay.setEnabled(true); + break; + case 'started': + setUserData('action','stop'); + setLabel(this.tr("Stop")); + setEnabled(true); + host.setEnabled(false); + rounds.setEnabled(false); + delay.setEnabled(false); + break; + default: + alert('Unknown Status Message: '+m.getData()); + } + } + } + } + + +}); + + diff --git a/qooxdoo/source/class/Tr/ui/Cellrenderer.js b/qooxdoo/source/class/Tr/ui/Cellrenderer.js new file mode 100644 index 0000000..f18672d --- /dev/null +++ b/qooxdoo/source/class/Tr/ui/Cellrenderer.js @@ -0,0 +1,46 @@ +/* ************************************************************************ + + Tr Frontend + + Author: + * Tobias Oetiker + +************************************************************************ */ +/* ************************************************************************ +#module(Tr) +************************************************************************ */ + +/** + * A configurable cell renderre + */ + +qx.Class.define('Tr.ui.Cellrenderer', +{ + extend: qx.ui.table.cellrenderer.Number, + /** + * Format a number with a configurable number of fraction digits + * and add optional pre and postfix. + * @param digits {Integer} how many digits should there be. Default is 0. + * @param prefix {String} optional prefix. + * @param postfix {String} optional postfix. + */ + + construct: function (digits,postfix,prefix) { + if (digits == undefined){ + digits = 0; + } + this.base(arguments) + var format = new qx.util.format.NumberFormat(); + format.set({ + maximumFractionDigits: digits, + minimumFractionDigits: digits + }); + if (postfix != undefined){ + format.setPostfix(postfix); + } + if (prefix != undefined){ + format.setPrefix(prefix); + } + this.setNumberFormat(format); + } +}); diff --git a/qooxdoo/source/class/Tr/ui/TraceTable.js b/qooxdoo/source/class/Tr/ui/TraceTable.js new file mode 100644 index 0000000..c25a82e --- /dev/null +++ b/qooxdoo/source/class/Tr/ui/TraceTable.js @@ -0,0 +1,200 @@ +/* ************************************************************************ +#module(Tr) +************************************************************************ */ + +/** + * a widget showing the Tr target tree + */ + +qx.Class.define('Tr.ui.TraceTable', +{ + extend: qx.ui.table.Table, + + /* + ***************************************************************************** + CONSTRUCTOR + ***************************************************************************** + */ + + + construct: function () { + + var tableModel = new qx.ui.table.model.Simple(); + this.__tableModel = tableModel; + tableModel.setColumns([ this.tr("Hop"), this.tr("Host"),this.tr("Ip"), + this.tr("Loss [%]"), this.tr("Sent [ms]"), this.tr("Last [ms]"), //"; help syntax highliter + this.tr("Avg [ms]"), this.tr("Best [ms]"), this.tr("Worst [ms]"), this.tr("StDev [ms]") ]); + var custom = { + tableColumnModel: function(obj) { + return new qx.ui.table.columnmodel.Resize(obj); + } + }; + with(this){ + base(arguments,tableModel,custom); + set({ + width: '100%', + height: '1*', + border: 'dark-shadow', + showCellFocusIndicator: false, + statusBarVisible: false + }); + }; + var tcm = this.getTableColumnModel(); + + tcm.setDataCellRenderer(0, new Tr.ui.Cellrenderer(2)); + tcm.setDataCellRenderer(3, new Tr.ui.Cellrenderer(0,' %')); + tcm.setDataCellRenderer(4, new Tr.ui.Cellrenderer(0)); + + var render_ms = new Tr.ui.Cellrenderer(1); + + for (var i=5;i<10;i++){ + tcm.setDataCellRenderer(i, render_ms); + } + + + // Obtain the behavior object to manipulate + var resizeBehavior = tcm.getBehavior(); + // This uses the set() method to set all attriutes at once; uses flex + resizeBehavior.set(0, { width:"2*"}); + resizeBehavior.set(1, { width:"10*"}); + resizeBehavior.set(2, { width:"6*"}); + + for (var i=3;i<10;i++){ + resizeBehavior.set(i, { width:"2*"}); + } + qx.event.message.Bus.subscribe('tr.cmd',this.__handle_tr,this); + }, + + /* + ***************************************************************************** + Statics + ***************************************************************************** + */ + members: { + __make_empty_row: function (){ + return ([undefined,undefined,undefined,0,0,undefined,undefined,undefined,undefined,undefined,0,0,0]); + }, + __handle_tr: function(m){ + var self = this; + var f_hop = 0,f_host=1,f_ip=2,f_loss=3,f_snt=4,f_last=5,f_avg=6,f_best=7,f_worst=8,f_stdev=9,f_cnt=10,f_sum=11,f_sqsum=12; + var fill_table; + fill_table = function(retval,exc,id){ + if (exc == null){ + if ( self.__handle == undefined ) { + qx.event.message.Bus.dispatch('tr.status','started'); + } + self.__handle = retval['handle']; + var tableModel = self.__tableModel; + var lines = retval['output'].length; + var data = self.__data; + for(var i=0;i value){ + drow[f_best] = value; + } + var worst = drow[f_worst]; + if (worst == undefined || worst < value){ + drow[f_worst] = value; + } + + + if (value != undefined){ + drow[f_sum] += value; + var sum = drow[f_sum]; + drow[f_cnt] ++; + var cnt = drow[f_cnt]; + var sqsum = drow[f_sqsum]+value*value; + drow[f_sqsum] = sqsum; + drow[f_avg] = drow[f_sum]/drow[f_cnt]; + drow[f_stdev] = Math.sqrt((cnt*sqsum-sum*sum)/(cnt*(cnt-1))) + } + drow[f_loss] = ((drow[f_snt]-drow[f_cnt])/drow[f_snt])*100; + } + + tableModel.setData(data); + if (retval['again']){ + var next_round = function (){Tr.Server.getInstance().callAsync( + fill_table,'run_tr',{ handle: retval['handle'], + point: retval['point']})}; + qx.client.Timer.once(next_round,self,0); + } else + { + for (var i=0;i<10;i++){ + tableModel.setColumnSortable(i,true); + } + qx.event.message.Bus.dispatch('tr.status','stopped'); + self.__handle = undefined; + } + } + else { + alert(exc); + if (self.__handle){ + self.__handle = undefined; + } + for (var i=0;i<10;i++){ + self.__tableModel.setColumnSortable(i,true); + } + qx.event.message.Bus.dispatch('tr.status','stopped'); + } + }; + + var handle_returns = function (data,exc,id){ + if (exc != null){ + alert(exc); + } + }; + + var cmd = m.getData(); + switch(cmd['action']){ + case 'stop': + qx.event.message.Bus.dispatch('tr.status','stopping'); + Tr.Server.getInstance().callAsync(handle_returns,'stop_tr',this.__handle); + break; + case 'go': + this.__data = []; + this.__tableModel.setData(this.__data); + this.__delay = cmd['delay']; + for (var i=0;i<10;i++){ + this.__tableModel.setColumnSortable(i,false); + } + qx.event.message.Bus.dispatch('tr.status','starting'); + Tr.Server.getInstance().callAsync(fill_table,'run_tr',{host: cmd['host'], rounds: cmd['rounds'], delay: cmd['delay']}); + break; + default: + alert('Unknown Command '+cmd['action']); + } + } + } +}); + + diff --git a/qooxdoo/source/index.html b/qooxdoo/source/index.html index 072fa3e..de5cdff 100644 --- a/qooxdoo/source/index.html +++ b/qooxdoo/source/index.html @@ -2,6 +2,6 @@ Smokeping - + diff --git a/qooxdoo/source/translation/C.po b/qooxdoo/source/translation/C.po index 1bb1e39..0a929bf 100644 --- a/qooxdoo/source/translation/C.po +++ b/qooxdoo/source/translation/C.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-06-02 20:43+0200\n" +"POT-Creation-Date: 2008-06-04 23:29+0200\n" "PO-Revision-Date: 2007-10-19 09:30+0200\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" @@ -15,70 +15,71 @@ msgstr "" "Content-Type: text/plain; charset=ASCII\n" "Content-Transfer-Encoding: 8bit\n" -#: source/class/Mtr/Application.js:45 -msgid "MTR AJAX Frontend" +#: source/class/Mtr/ui/TraceTable.js:24 source/class/Tr/ui/TraceTable.js:24 +msgid "Hop" msgstr "" -#: source/class/Mtr/ui/ActionButton.js:27 source/class/Mtr/ui/TraceTable.js:24 +#: source/class/Mtr/ui/TraceTable.js:24 source/class/Tr/ui/ActionButton.js:27 +#: source/class/Tr/ui/TraceTable.js:24 msgid "Host" msgstr "" -#: source/class/Mtr/ui/ActionButton.js:42 -msgid "Delay" +#: source/class/Mtr/ui/TraceTable.js:24 source/class/Tr/ui/TraceTable.js:24 +msgid "Ip" msgstr "" -#: source/class/Mtr/ui/ActionButton.js:55 -msgid "Rounds" +#: source/class/Mtr/ui/TraceTable.js:25 source/class/Tr/ui/TraceTable.js:25 +msgid "Last [ms]" msgstr "" -#: source/class/Mtr/ui/ActionButton.js:118 -msgid "Starting" +#: source/class/Mtr/ui/TraceTable.js:25 source/class/Tr/ui/TraceTable.js:25 +msgid "Loss [%]" msgstr "" -#: source/class/Mtr/ui/ActionButton.js:127 -msgid "Stopping" +#: source/class/Mtr/ui/TraceTable.js:25 source/class/Tr/ui/TraceTable.js:25 +msgid "Sent [ms]" msgstr "" -#: source/class/Mtr/ui/ActionButton.js:136 -msgid "Go" +#: source/class/Mtr/ui/TraceTable.js:26 source/class/Tr/ui/TraceTable.js:26 +msgid "Avg [ms]" msgstr "" -#: source/class/Mtr/ui/ActionButton.js:144 -msgid "Stop" +#: source/class/Mtr/ui/TraceTable.js:26 source/class/Tr/ui/TraceTable.js:26 +msgid "Best [ms]" msgstr "" -#: source/class/Mtr/ui/TraceTable.js:24 -msgid "Hop" +#: source/class/Mtr/ui/TraceTable.js:26 source/class/Tr/ui/TraceTable.js:26 +msgid "StDev [ms]" msgstr "" -#: source/class/Mtr/ui/TraceTable.js:24 -msgid "Ip" +#: source/class/Mtr/ui/TraceTable.js:26 source/class/Tr/ui/TraceTable.js:26 +msgid "Worst [ms]" msgstr "" -#: source/class/Mtr/ui/TraceTable.js:25 -msgid "Last [ms]" +#: source/class/Tr/Application.js:45 +msgid "Smokeping Traceroute Frontend" msgstr "" -#: source/class/Mtr/ui/TraceTable.js:25 -msgid "Loss [%]" +#: source/class/Tr/ui/ActionButton.js:41 +msgid "Delay" msgstr "" -#: source/class/Mtr/ui/TraceTable.js:25 -msgid "Sent [ms]" +#: source/class/Tr/ui/ActionButton.js:54 +msgid "Rounds" msgstr "" -#: source/class/Mtr/ui/TraceTable.js:26 -msgid "Avg [ms]" +#: source/class/Tr/ui/ActionButton.js:122 +msgid "Starting" msgstr "" -#: source/class/Mtr/ui/TraceTable.js:26 -msgid "Best [ms]" +#: source/class/Tr/ui/ActionButton.js:131 +msgid "Stopping" msgstr "" -#: source/class/Mtr/ui/TraceTable.js:26 -msgid "StDev [ms]" +#: source/class/Tr/ui/ActionButton.js:140 +msgid "Go" msgstr "" -#: source/class/Mtr/ui/TraceTable.js:26 -msgid "Worst [ms]" +#: source/class/Tr/ui/ActionButton.js:148 +msgid "Stop" msgstr "" diff --git a/qooxdoo/source/translation/de.po b/qooxdoo/source/translation/de.po index 73ea3b4..7778a29 100644 --- a/qooxdoo/source/translation/de.po +++ b/qooxdoo/source/translation/de.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: MTR-AJAX-Frontend 1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-06-02 20:43+0200\n" +"POT-Creation-Date: 2008-06-04 23:29+0200\n" "PO-Revision-Date: 2008-05-31 08:50+0200\n" "Last-Translator: oetiker <(null)>\n" "Language-Team: English \n" @@ -15,76 +15,80 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: source/class/Mtr/Application.js:45 -msgid "MTR AJAX Frontend" -msgstr "MTR Ajax Frontend" +#: source/class/Mtr/ui/TraceTable.js:24 source/class/Tr/ui/TraceTable.js:24 +msgid "Hop" +msgstr "Schritt" -#: source/class/Mtr/ui/ActionButton.js:27 source/class/Mtr/ui/TraceTable.js:24 +#: source/class/Mtr/ui/TraceTable.js:24 source/class/Tr/ui/ActionButton.js:27 +#: source/class/Tr/ui/TraceTable.js:24 msgid "Host" msgstr "Host" -#: source/class/Mtr/ui/ActionButton.js:42 -msgid "Delay" -msgstr "Abstand" - -#: source/class/Mtr/ui/ActionButton.js:55 -msgid "Rounds" -msgstr "Runden" - -#: source/class/Mtr/ui/ActionButton.js:118 -#, fuzzy -msgid "Starting" -msgstr "Start" - -#: source/class/Mtr/ui/ActionButton.js:127 -#, fuzzy -msgid "Stopping" -msgstr "Stop" - -#: source/class/Mtr/ui/ActionButton.js:136 -msgid "Go" -msgstr "Start" - -#: source/class/Mtr/ui/ActionButton.js:144 -msgid "Stop" -msgstr "Stop" - -#: source/class/Mtr/ui/TraceTable.js:24 -msgid "Hop" -msgstr "Schritt" - -#: source/class/Mtr/ui/TraceTable.js:24 +#: source/class/Mtr/ui/TraceTable.js:24 source/class/Tr/ui/TraceTable.js:24 msgid "Ip" msgstr "Ip" -#: source/class/Mtr/ui/TraceTable.js:25 +#: source/class/Mtr/ui/TraceTable.js:25 source/class/Tr/ui/TraceTable.js:25 msgid "Last [ms]" msgstr "Letzte [ms]" -#: source/class/Mtr/ui/TraceTable.js:25 +#: source/class/Mtr/ui/TraceTable.js:25 source/class/Tr/ui/TraceTable.js:25 msgid "Loss [%]" msgstr "Loss [%]" -#: source/class/Mtr/ui/TraceTable.js:25 +#: source/class/Mtr/ui/TraceTable.js:25 source/class/Tr/ui/TraceTable.js:25 msgid "Sent [ms]" msgstr "Gesendet" -#: source/class/Mtr/ui/TraceTable.js:26 +#: source/class/Mtr/ui/TraceTable.js:26 source/class/Tr/ui/TraceTable.js:26 msgid "Avg [ms]" msgstr "ΓΈ [ms]" -#: source/class/Mtr/ui/TraceTable.js:26 +#: source/class/Mtr/ui/TraceTable.js:26 source/class/Tr/ui/TraceTable.js:26 msgid "Best [ms]" msgstr "Best [ms]" -#: source/class/Mtr/ui/TraceTable.js:26 +#: source/class/Mtr/ui/TraceTable.js:26 source/class/Tr/ui/TraceTable.js:26 msgid "StDev [ms]" msgstr "StdAbw [ms]" -#: source/class/Mtr/ui/TraceTable.js:26 +#: source/class/Mtr/ui/TraceTable.js:26 source/class/Tr/ui/TraceTable.js:26 msgid "Worst [ms]" msgstr "Worst [ms]" +#: source/class/Tr/Application.js:45 +msgid "Smokeping Traceroute Frontend" +msgstr "" + +#: source/class/Tr/ui/ActionButton.js:41 +msgid "Delay" +msgstr "Abstand" + +#: source/class/Tr/ui/ActionButton.js:54 +msgid "Rounds" +msgstr "Runden" + +#: source/class/Tr/ui/ActionButton.js:122 +#, fuzzy +msgid "Starting" +msgstr "Start" + +#: source/class/Tr/ui/ActionButton.js:131 +#, fuzzy +msgid "Stopping" +msgstr "Stop" + +#: source/class/Tr/ui/ActionButton.js:140 +msgid "Go" +msgstr "Start" + +#: source/class/Tr/ui/ActionButton.js:148 +msgid "Stop" +msgstr "Stop" + +#~ msgid "MTR AJAX Frontend" +#~ msgstr "MTR Ajax Frontend" + #, fuzzy #~ msgid "Host:" #~ msgstr "GWP" diff --git a/qooxdoo/source/translation/en.po b/qooxdoo/source/translation/en.po index eb61d2e..c71ff6c 100644 --- a/qooxdoo/source/translation/en.po +++ b/qooxdoo/source/translation/en.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-06-02 20:43+0200\n" +"POT-Creation-Date: 2008-06-04 23:29+0200\n" "PO-Revision-Date: 2007-10-26 23:25+0200\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" @@ -16,74 +16,75 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: source/class/Mtr/Application.js:45 -msgid "MTR AJAX Frontend" +#: source/class/Mtr/ui/TraceTable.js:24 source/class/Tr/ui/TraceTable.js:24 +msgid "Hop" msgstr "" -#: source/class/Mtr/ui/ActionButton.js:27 source/class/Mtr/ui/TraceTable.js:24 +#: source/class/Mtr/ui/TraceTable.js:24 source/class/Tr/ui/ActionButton.js:27 +#: source/class/Tr/ui/TraceTable.js:24 msgid "Host" msgstr "" -#: source/class/Mtr/ui/ActionButton.js:42 -msgid "Delay" +#: source/class/Mtr/ui/TraceTable.js:24 source/class/Tr/ui/TraceTable.js:24 +msgid "Ip" msgstr "" -#: source/class/Mtr/ui/ActionButton.js:55 -msgid "Rounds" +#: source/class/Mtr/ui/TraceTable.js:25 source/class/Tr/ui/TraceTable.js:25 +msgid "Last [ms]" msgstr "" -#: source/class/Mtr/ui/ActionButton.js:118 +#: source/class/Mtr/ui/TraceTable.js:25 source/class/Tr/ui/TraceTable.js:25 +msgid "Loss [%]" +msgstr "" + +#: source/class/Mtr/ui/TraceTable.js:25 source/class/Tr/ui/TraceTable.js:25 #, fuzzy -msgid "Starting" -msgstr "Start" +msgid "Sent [ms]" +msgstr "Client" -#: source/class/Mtr/ui/ActionButton.js:127 -msgid "Stopping" +#: source/class/Mtr/ui/TraceTable.js:26 source/class/Tr/ui/TraceTable.js:26 +msgid "Avg [ms]" msgstr "" -#: source/class/Mtr/ui/ActionButton.js:136 -msgid "Go" +#: source/class/Mtr/ui/TraceTable.js:26 source/class/Tr/ui/TraceTable.js:26 +msgid "Best [ms]" msgstr "" -#: source/class/Mtr/ui/ActionButton.js:144 -msgid "Stop" +#: source/class/Mtr/ui/TraceTable.js:26 source/class/Tr/ui/TraceTable.js:26 +msgid "StDev [ms]" msgstr "" -#: source/class/Mtr/ui/TraceTable.js:24 -msgid "Hop" +#: source/class/Mtr/ui/TraceTable.js:26 source/class/Tr/ui/TraceTable.js:26 +msgid "Worst [ms]" msgstr "" -#: source/class/Mtr/ui/TraceTable.js:24 -msgid "Ip" +#: source/class/Tr/Application.js:45 +msgid "Smokeping Traceroute Frontend" msgstr "" -#: source/class/Mtr/ui/TraceTable.js:25 -msgid "Last [ms]" +#: source/class/Tr/ui/ActionButton.js:41 +msgid "Delay" msgstr "" -#: source/class/Mtr/ui/TraceTable.js:25 -msgid "Loss [%]" +#: source/class/Tr/ui/ActionButton.js:54 +msgid "Rounds" msgstr "" -#: source/class/Mtr/ui/TraceTable.js:25 +#: source/class/Tr/ui/ActionButton.js:122 #, fuzzy -msgid "Sent [ms]" -msgstr "Client" - -#: source/class/Mtr/ui/TraceTable.js:26 -msgid "Avg [ms]" -msgstr "" +msgid "Starting" +msgstr "Start" -#: source/class/Mtr/ui/TraceTable.js:26 -msgid "Best [ms]" +#: source/class/Tr/ui/ActionButton.js:131 +msgid "Stopping" msgstr "" -#: source/class/Mtr/ui/TraceTable.js:26 -msgid "StDev [ms]" +#: source/class/Tr/ui/ActionButton.js:140 +msgid "Go" msgstr "" -#: source/class/Mtr/ui/TraceTable.js:26 -msgid "Worst [ms]" +#: source/class/Tr/ui/ActionButton.js:148 +msgid "Stop" msgstr "" #~ msgid "Start Date" diff --git a/qooxdoo/source/translation/fr.po b/qooxdoo/source/translation/fr.po index 702126f..d7e9238 100644 --- a/qooxdoo/source/translation/fr.po +++ b/qooxdoo/source/translation/fr.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-06-02 20:43+0200\n" +"POT-Creation-Date: 2008-06-04 23:29+0200\n" "PO-Revision-Date: 2007-10-19 09:30+0200\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" @@ -16,70 +16,71 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: source/class/Mtr/Application.js:45 -msgid "MTR AJAX Frontend" +#: source/class/Mtr/ui/TraceTable.js:24 source/class/Tr/ui/TraceTable.js:24 +msgid "Hop" msgstr "" -#: source/class/Mtr/ui/ActionButton.js:27 source/class/Mtr/ui/TraceTable.js:24 +#: source/class/Mtr/ui/TraceTable.js:24 source/class/Tr/ui/ActionButton.js:27 +#: source/class/Tr/ui/TraceTable.js:24 msgid "Host" msgstr "" -#: source/class/Mtr/ui/ActionButton.js:42 -msgid "Delay" +#: source/class/Mtr/ui/TraceTable.js:24 source/class/Tr/ui/TraceTable.js:24 +msgid "Ip" msgstr "" -#: source/class/Mtr/ui/ActionButton.js:55 -msgid "Rounds" +#: source/class/Mtr/ui/TraceTable.js:25 source/class/Tr/ui/TraceTable.js:25 +msgid "Last [ms]" msgstr "" -#: source/class/Mtr/ui/ActionButton.js:118 -msgid "Starting" +#: source/class/Mtr/ui/TraceTable.js:25 source/class/Tr/ui/TraceTable.js:25 +msgid "Loss [%]" msgstr "" -#: source/class/Mtr/ui/ActionButton.js:127 -msgid "Stopping" +#: source/class/Mtr/ui/TraceTable.js:25 source/class/Tr/ui/TraceTable.js:25 +msgid "Sent [ms]" msgstr "" -#: source/class/Mtr/ui/ActionButton.js:136 -msgid "Go" +#: source/class/Mtr/ui/TraceTable.js:26 source/class/Tr/ui/TraceTable.js:26 +msgid "Avg [ms]" msgstr "" -#: source/class/Mtr/ui/ActionButton.js:144 -msgid "Stop" +#: source/class/Mtr/ui/TraceTable.js:26 source/class/Tr/ui/TraceTable.js:26 +msgid "Best [ms]" msgstr "" -#: source/class/Mtr/ui/TraceTable.js:24 -msgid "Hop" +#: source/class/Mtr/ui/TraceTable.js:26 source/class/Tr/ui/TraceTable.js:26 +msgid "StDev [ms]" msgstr "" -#: source/class/Mtr/ui/TraceTable.js:24 -msgid "Ip" +#: source/class/Mtr/ui/TraceTable.js:26 source/class/Tr/ui/TraceTable.js:26 +msgid "Worst [ms]" msgstr "" -#: source/class/Mtr/ui/TraceTable.js:25 -msgid "Last [ms]" +#: source/class/Tr/Application.js:45 +msgid "Smokeping Traceroute Frontend" msgstr "" -#: source/class/Mtr/ui/TraceTable.js:25 -msgid "Loss [%]" +#: source/class/Tr/ui/ActionButton.js:41 +msgid "Delay" msgstr "" -#: source/class/Mtr/ui/TraceTable.js:25 -msgid "Sent [ms]" +#: source/class/Tr/ui/ActionButton.js:54 +msgid "Rounds" msgstr "" -#: source/class/Mtr/ui/TraceTable.js:26 -msgid "Avg [ms]" +#: source/class/Tr/ui/ActionButton.js:122 +msgid "Starting" msgstr "" -#: source/class/Mtr/ui/TraceTable.js:26 -msgid "Best [ms]" +#: source/class/Tr/ui/ActionButton.js:131 +msgid "Stopping" msgstr "" -#: source/class/Mtr/ui/TraceTable.js:26 -msgid "StDev [ms]" +#: source/class/Tr/ui/ActionButton.js:140 +msgid "Go" msgstr "" -#: source/class/Mtr/ui/TraceTable.js:26 -msgid "Worst [ms]" +#: source/class/Tr/ui/ActionButton.js:148 +msgid "Stop" msgstr "" diff --git a/qooxdoo/source/translation/messages.pot b/qooxdoo/source/translation/messages.pot index 3686248..f5b505c 100644 --- a/qooxdoo/source/translation/messages.pot +++ b/qooxdoo/source/translation/messages.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-06-03 14:17+0200\n" +"POT-Creation-Date: 2008-06-04 23:31+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -16,70 +16,71 @@ msgstr "" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -#: source/class/Mtr/Application.js:45 -msgid "MTR AJAX Frontend" +#: source/class/Mtr/ui/TraceTable.js:24 source/class/Tr/ui/TraceTable.js:24 +msgid "Hop" msgstr "" -#: source/class/Mtr/ui/ActionButton.js:27 source/class/Mtr/ui/TraceTable.js:24 +#: source/class/Mtr/ui/TraceTable.js:24 source/class/Tr/ui/ActionButton.js:27 +#: source/class/Tr/ui/TraceTable.js:24 msgid "Host" msgstr "" -#: source/class/Mtr/ui/ActionButton.js:42 -msgid "Delay" +#: source/class/Mtr/ui/TraceTable.js:24 source/class/Tr/ui/TraceTable.js:24 +msgid "Ip" msgstr "" -#: source/class/Mtr/ui/ActionButton.js:55 -msgid "Rounds" +#: source/class/Mtr/ui/TraceTable.js:25 source/class/Tr/ui/TraceTable.js:25 +msgid "Last [ms]" msgstr "" -#: source/class/Mtr/ui/ActionButton.js:118 -msgid "Starting" +#: source/class/Mtr/ui/TraceTable.js:25 source/class/Tr/ui/TraceTable.js:25 +msgid "Loss [%]" msgstr "" -#: source/class/Mtr/ui/ActionButton.js:127 -msgid "Stopping" +#: source/class/Mtr/ui/TraceTable.js:25 source/class/Tr/ui/TraceTable.js:25 +msgid "Sent [ms]" msgstr "" -#: source/class/Mtr/ui/ActionButton.js:136 -msgid "Go" +#: source/class/Mtr/ui/TraceTable.js:26 source/class/Tr/ui/TraceTable.js:26 +msgid "Avg [ms]" msgstr "" -#: source/class/Mtr/ui/ActionButton.js:144 -msgid "Stop" +#: source/class/Mtr/ui/TraceTable.js:26 source/class/Tr/ui/TraceTable.js:26 +msgid "Best [ms]" msgstr "" -#: source/class/Mtr/ui/TraceTable.js:24 -msgid "Hop" +#: source/class/Mtr/ui/TraceTable.js:26 source/class/Tr/ui/TraceTable.js:26 +msgid "StDev [ms]" msgstr "" -#: source/class/Mtr/ui/TraceTable.js:24 -msgid "Ip" +#: source/class/Mtr/ui/TraceTable.js:26 source/class/Tr/ui/TraceTable.js:26 +msgid "Worst [ms]" msgstr "" -#: source/class/Mtr/ui/TraceTable.js:25 -msgid "Last [ms]" +#: source/class/Tr/Application.js:45 +msgid "Smokeping Traceroute Frontend" msgstr "" -#: source/class/Mtr/ui/TraceTable.js:25 -msgid "Loss [%]" +#: source/class/Tr/ui/ActionButton.js:41 +msgid "Delay" msgstr "" -#: source/class/Mtr/ui/TraceTable.js:25 -msgid "Sent [ms]" +#: source/class/Tr/ui/ActionButton.js:54 +msgid "Rounds" msgstr "" -#: source/class/Mtr/ui/TraceTable.js:26 -msgid "Avg [ms]" +#: source/class/Tr/ui/ActionButton.js:122 +msgid "Starting" msgstr "" -#: source/class/Mtr/ui/TraceTable.js:26 -msgid "Best [ms]" +#: source/class/Tr/ui/ActionButton.js:131 +msgid "Stopping" msgstr "" -#: source/class/Mtr/ui/TraceTable.js:26 -msgid "StDev [ms]" +#: source/class/Tr/ui/ActionButton.js:140 +msgid "Go" msgstr "" -#: source/class/Mtr/ui/TraceTable.js:26 -msgid "Worst [ms]" +#: source/class/Tr/ui/ActionButton.js:148 +msgid "Stop" msgstr "" -- cgit v1.2.3-24-g4f1b