1
0
mirror of https://github.com/dkmstr/openuds.git synced 2025-01-03 01:17:56 +03:00

* Added MSChart.exe redistributable, used by stats chart of administration client

* Added some charts to UDSAdmin, now they exists on Deployed Service Nodes
This commit is contained in:
Adolfo Gómez 2013-02-13 10:22:29 +00:00
parent 88939f9dc0
commit 74b4c246dd
39 changed files with 812 additions and 159 deletions

View File

@ -1,7 +1,7 @@
//------------------------------------------------------------------------------
// <auto-generated>
// Este código fue generado por una herramienta.
// Versión de runtime:4.0.30319.261
// Versión de runtime:4.0.30319.18034
//
// Los cambios en este archivo podrían causar un comportamiento incorrecto y se perderán si
// se vuelve a generar el código.
@ -118,5 +118,14 @@ namespace UdsAdmin.Properties {
this["MaxControlWidth"] = value;
}
}
[global::System.Configuration.ApplicationScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("200")]
public int StatsItems {
get {
return ((int)(this["StatsItems"]));
}
}
}
}

View File

@ -26,5 +26,8 @@
<Setting Name="MaxControlWidth" Type="System.Int32" Scope="User">
<Value Profile="(Default)">320</Value>
</Setting>
<Setting Name="StatsItems" Type="System.Int32" Scope="Application">
<Value Profile="(Default)">200</Value>
</Setting>
</Settings>
</SettingsFile>

View File

@ -344,7 +344,7 @@
<value>Transporte</value>
</data>
<data name="networks" xml:space="preserve">
<value>Neworks</value>
<value>Aufstrebende</value>
</data>
<data name="invalidIpAddress" xml:space="preserve">
<value>Ungültige IP-Adresse</value>
@ -472,4 +472,22 @@
<data name="titleConfiguration" xml:space="preserve">
<value>Konfiguration</value>
</data>
<data name="cantCreateGroups" xml:space="preserve">
<value>Diese Authentifikator nicht ermöglicht die Erstellung von neuen Gruppen im Administrations-Oberfläche</value>
</data>
<data name="cantCreateUsers" xml:space="preserve">
<value>Diese Authentifikator nicht ermöglicht die Erstellung von auf der Administrations-Oberfläche</value>
</data>
<data name="cantModifyUsers" xml:space="preserve">
<value>Diese Authentifikator nicht erlaubt die Änderung der Benutzer bei Administrations-Oberfläche</value>
</data>
<data name="sourceHost" xml:space="preserve">
<value>Src-Host</value>
</data>
<data name="sourceIp" xml:space="preserve">
<value>Quell-IP-</value>
</data>
<data name="legend" xml:space="preserve">
<value>Legende</value>
</data>
</root>

View File

@ -492,4 +492,22 @@
<data name="titleConfiguration" xml:space="preserve">
<value>Configuración</value>
</data>
<data name="cantCreateGroups" xml:space="preserve">
<value>Este autenticador no permite la creación de nuevos grupos en la interfaz de administración</value>
</data>
<data name="cantCreateUsers" xml:space="preserve">
<value>Este autenticador no permite la creación de nuevos usuarios en la interfaz de administración</value>
</data>
<data name="cantModifyUsers" xml:space="preserve">
<value>Este autenticador no permite la modificación de los usuarios en la interfaz de administración</value>
</data>
<data name="sourceHost" xml:space="preserve">
<value>Src Host</value>
</data>
<data name="sourceIp" xml:space="preserve">
<value>Src IP</value>
</data>
<data name="legend" xml:space="preserve">
<value>Leyenda</value>
</data>
</root>

View File

@ -472,4 +472,22 @@
<data name="titleConfiguration" xml:space="preserve">
<value>Configuration</value>
</data>
<data name="cantCreateGroups" xml:space="preserve">
<value>Cet authentificateur ne pas permet la création de nouveaux groupes à l'interface d'administration</value>
</data>
<data name="cantCreateUsers" xml:space="preserve">
<value>Cet authentificateur ne pas permet la création de nouveaux utilisateurs à l'interface d'administration</value>
</data>
<data name="cantModifyUsers" xml:space="preserve">
<value>Cet authentificateur permet pas la modification des utilisateurs à l'interface d'administration</value>
</data>
<data name="sourceHost" xml:space="preserve">
<value>Hôte de la SRC</value>
</data>
<data name="sourceIp" xml:space="preserve">
<value>SRC IP</value>
</data>
<data name="legend" xml:space="preserve">
<value>Légende</value>
</data>
</root>

View File

@ -90,6 +90,9 @@
<Compile Include="controls\ListEditor.Designer.cs">
<DependentUpon>ListEditor.cs</DependentUpon>
</Compile>
<Compile Include="controls\SplitContainerEx.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="controls\panel\AuthsPanel.cs">
<SubType>UserControl</SubType>
</Compile>

View File

@ -4,6 +4,9 @@
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="UdsAdmin.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
</sectionGroup>
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="UdsAdmin.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</sectionGroup>
</configSections>
<startup><supportedRuntime version="v2.0.50727"/></startup><userSettings>
<UdsAdmin.Properties.Settings>
@ -33,4 +36,11 @@
</setting>
</UdsAdmin.Properties.Settings>
</userSettings>
<applicationSettings>
<UdsAdmin.Properties.Settings>
<setting name="StatsItems" serializeAs="String">
<value>200</value>
</setting>
</UdsAdmin.Properties.Settings>
</applicationSettings>
</configuration>

View File

@ -0,0 +1,54 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
using System.Drawing;
namespace UdsAdmin.controls
{
public class SplitContainerEx : SplitContainer
{
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
HandlePaint(e);
}
private void HandlePaint(PaintEventArgs e)
{
//paint the three dots'
Point[] points = new Point[3];
var w = Width;
var h = Height;
var d = SplitterDistance;
var sW = SplitterWidth;
//calculate the position of the points'
if (Orientation == Orientation.Horizontal)
{
points[0] = new Point((w / 2), d + (sW / 2));
points[1] = new Point(points[0].X - 10, points[0].Y);
points[2] = new Point(points[0].X + 10, points[0].Y);
}
else
{
points[0] = new Point(d + (sW / 2), (h / 2));
points[1] = new Point(points[0].X, points[0].Y - 10);
points[2] = new Point(points[0].X, points[0].Y + 10);
}
foreach (Point p in points)
{
p.Offset(-2, -2);
e.Graphics.FillEllipse(SystemBrushes.ControlDark,
new Rectangle(p, new Size(3, 3)));
p.Offset(1, 1);
e.Graphics.FillEllipse(SystemBrushes.ControlLight,
new Rectangle(p, new Size(3, 3)));
}
}
}
}

View File

@ -34,7 +34,7 @@
this.typeName = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.comments = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.priority = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.splitContainer1 = new SplitContainerEx();
this.logViewer1 = new UdsAdmin.controls.panel.LogViewer();
this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout();
@ -116,7 +116,7 @@
private System.Windows.Forms.ColumnHeader comments;
private System.Windows.Forms.ColumnHeader typeName;
private System.Windows.Forms.ColumnHeader priority;
private System.Windows.Forms.SplitContainer splitContainer1;
private SplitContainerEx splitContainer1;
private LogViewer logViewer1;
}
}

View File

@ -60,9 +60,6 @@ namespace UdsAdmin.controls.panel
private void updateList()
{
int[] selected = new int[listView.SelectedIndices.Count];
listView.SelectedIndices.CopyTo(selected, 0);
try
{
xmlrpc.Authenticator[] auths = xmlrpc.UdsAdminService.GetAuthenticators();
@ -82,14 +79,10 @@ namespace UdsAdmin.controls.panel
gui.UserNotifier.notifyRpcException(ex);
}
foreach (int i in selected)
if (listView.Items.Count > 0)
{
try
{
listView.SelectedIndices.Add(i);
}
catch (Exception)
{ }
listView.Items[0].Selected = listView.Items[0].Focused = true;
listView.Focus();
}
}
@ -99,6 +92,7 @@ namespace UdsAdmin.controls.panel
{
case Keys.F5:
updateList();
updateLogs();
break;
case Keys.E:
if (e.Modifiers == Keys.Control)
@ -114,6 +108,11 @@ namespace UdsAdmin.controls.panel
}
private void listView_SelectedIndexChanged(object sender, EventArgs e)
{
updateLogs();
}
private void updateLogs()
{
List<xmlrpc.LogEntry> data = new List<xmlrpc.LogEntry>();
foreach (ListViewItem i in listView.SelectedItems)

View File

@ -148,7 +148,7 @@
<value>0, 0</value>
</data>
<data name="listView.Size" type="System.Drawing.Size, System.Drawing">
<value>699, 216</value>
<value>737, 400</value>
</data>
<data name="listView.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
@ -192,8 +192,11 @@
<data name="logViewer1.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="logViewer1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value>
</data>
<data name="logViewer1.Size" type="System.Drawing.Size, System.Drawing">
<value>699, 59</value>
<value>737, 101</value>
</data>
<data name="logViewer1.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
@ -223,10 +226,13 @@
<value>1</value>
</data>
<data name="splitContainer1.Size" type="System.Drawing.Size, System.Drawing">
<value>699, 279</value>
<value>737, 509</value>
</data>
<data name="splitContainer1.SplitterDistance" type="System.Int32, mscorlib">
<value>216</value>
<value>400</value>
</data>
<data name="splitContainer1.SplitterWidth" type="System.Int32, mscorlib">
<value>8</value>
</data>
<data name="splitContainer1.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
@ -250,7 +256,7 @@
<value>6, 13</value>
</data>
<data name="$this.Size" type="System.Drawing.Size, System.Drawing">
<value>699, 279</value>
<value>737, 509</value>
</data>
<data name="&gt;&gt;name.Name" xml:space="preserve">
<value>name</value>

View File

@ -29,6 +29,8 @@ namespace UdsAdmin.controls.panel
{
this.components = new System.ComponentModel.Container();
this.DoubleBuffered = true;
System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea1 = new ChartArea();
System.Windows.Forms.DataVisualization.Charting.Legend legend1 = new System.Windows.Forms.DataVisualization.Charting.Legend();

View File

@ -29,8 +29,7 @@
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(DeployedPanel));
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.panel1 = new System.Windows.Forms.Panel();
this.splitContainer1 = new SplitContainerEx();
this.listView = new System.Windows.Forms.ListView();
this.Id = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.friendlyName = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
@ -42,7 +41,6 @@
this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout();
this.splitContainer1.SuspendLayout();
this.panel1.SuspendLayout();
this.SuspendLayout();
//
// splitContainer1
@ -52,18 +50,12 @@
//
// splitContainer1.Panel1
//
this.splitContainer1.Panel1.Controls.Add(this.panel1);
this.splitContainer1.Panel1.Controls.Add(this.listView);
//
// splitContainer1.Panel2
//
this.splitContainer1.Panel2.Controls.Add(this.logViewer1);
//
// panel1
//
this.panel1.Controls.Add(this.listView);
resources.ApplyResources(this.panel1, "panel1");
this.panel1.Name = "panel1";
//
// listView
//
this.listView.AutoArrange = false;
@ -123,16 +115,14 @@
this.splitContainer1.Panel1.ResumeLayout(false);
this.splitContainer1.Panel2.ResumeLayout(false);
this.splitContainer1.ResumeLayout(false);
this.panel1.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.SplitContainer splitContainer1;
private SplitContainerEx splitContainer1;
private LogViewer logViewer1;
private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.ListView listView;
private System.Windows.Forms.ColumnHeader Id;
private System.Windows.Forms.ColumnHeader friendlyName;

View File

@ -172,10 +172,10 @@
<value>False</value>
</data>
<data name="listView.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 0</value>
<value>0, 0</value>
</data>
<data name="listView.Size" type="System.Drawing.Size, System.Drawing">
<value>776, 212</value>
<value>737, 400</value>
</data>
<data name="listView.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
@ -187,36 +187,9 @@
<value>System.Windows.Forms.ListView, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;listView.Parent" xml:space="preserve">
<value>panel1</value>
</data>
<data name="&gt;&gt;listView.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="panel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="panel1.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="panel1.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 0, 4, 4</value>
</data>
<data name="panel1.Size" type="System.Drawing.Size, System.Drawing">
<value>784, 216</value>
</data>
<data name="panel1.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="&gt;&gt;panel1.Name" xml:space="preserve">
<value>panel1</value>
</data>
<data name="&gt;&gt;panel1.Type" xml:space="preserve">
<value>System.Windows.Forms.Panel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;panel1.Parent" xml:space="preserve">
<value>splitContainer1.Panel1</value>
</data>
<data name="&gt;&gt;panel1.ZOrder" xml:space="preserve">
<data name="&gt;&gt;listView.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="&gt;&gt;splitContainer1.Panel1.Name" xml:space="preserve">
@ -237,8 +210,11 @@
<data name="logViewer1.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="logViewer1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value>
</data>
<data name="logViewer1.Size" type="System.Drawing.Size, System.Drawing">
<value>784, 59</value>
<value>737, 101</value>
</data>
<data name="logViewer1.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
@ -268,10 +244,13 @@
<value>1</value>
</data>
<data name="splitContainer1.Size" type="System.Drawing.Size, System.Drawing">
<value>784, 279</value>
<value>737, 509</value>
</data>
<data name="splitContainer1.SplitterDistance" type="System.Int32, mscorlib">
<value>216</value>
<value>400</value>
</data>
<data name="splitContainer1.SplitterWidth" type="System.Int32, mscorlib">
<value>8</value>
</data>
<data name="splitContainer1.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
@ -295,7 +274,7 @@
<value>6, 13</value>
</data>
<data name="$this.Size" type="System.Drawing.Size, System.Drawing">
<value>784, 279</value>
<value>737, 509</value>
</data>
<data name="&gt;&gt;Id.Name" xml:space="preserve">
<value>Id</value>

View File

@ -31,7 +31,10 @@
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(DeployedServicePanel));
this.tabControl1 = new System.Windows.Forms.TabControl();
this.tabPage1 = new System.Windows.Forms.TabPage();
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.tabPage2 = new System.Windows.Forms.TabPage();
this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel();
this.splitContainer1 = new UdsAdmin.controls.SplitContainerEx();
this.panel1 = new System.Windows.Forms.Panel();
this.label4 = new System.Windows.Forms.Label();
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
this.groupLabel = new System.Windows.Forms.Label();
@ -52,19 +55,18 @@
this.lState = new System.Windows.Forms.Label();
this.label10 = new System.Windows.Forms.Label();
this.label7 = new System.Windows.Forms.Label();
this.tabPage2 = new System.Windows.Forms.TabPage();
this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel();
this.logViewer1 = new UdsAdmin.controls.panel.LogViewer();
this.inUseChart = new UdsAdmin.controls.panel.ChartPanel();
this.assignedChart = new UdsAdmin.controls.panel.ChartPanel();
this.tabControl1.SuspendLayout();
this.tabPage1.SuspendLayout();
this.tabPage2.SuspendLayout();
this.tableLayoutPanel2.SuspendLayout();
this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout();
this.splitContainer1.SuspendLayout();
this.panel1.SuspendLayout();
this.tableLayoutPanel1.SuspendLayout();
this.tabPage2.SuspendLayout();
this.tableLayoutPanel2.SuspendLayout();
this.SuspendLayout();
//
// tabControl1
@ -84,6 +86,20 @@
this.tabPage1.Name = "tabPage1";
this.tabPage1.UseVisualStyleBackColor = true;
//
// tabPage2
//
this.tabPage2.Controls.Add(this.tableLayoutPanel2);
resources.ApplyResources(this.tabPage2, "tabPage2");
this.tabPage2.Name = "tabPage2";
this.tabPage2.UseVisualStyleBackColor = true;
//
// tableLayoutPanel2
//
resources.ApplyResources(this.tableLayoutPanel2, "tableLayoutPanel2");
this.tableLayoutPanel2.Controls.Add(this.inUseChart, 0, 1);
this.tableLayoutPanel2.Controls.Add(this.assignedChart, 0, 0);
this.tableLayoutPanel2.Name = "tableLayoutPanel2";
//
// splitContainer1
//
resources.ApplyResources(this.splitContainer1, "splitContainer1");
@ -91,13 +107,21 @@
//
// splitContainer1.Panel1
//
this.splitContainer1.Panel1.Controls.Add(this.label4);
this.splitContainer1.Panel1.Controls.Add(this.tableLayoutPanel1);
this.splitContainer1.Panel1.Controls.Add(this.panel1);
//
// splitContainer1.Panel2
//
this.splitContainer1.Panel2.Controls.Add(this.logViewer1);
//
// panel1
//
this.panel1.BackColor = System.Drawing.Color.White;
this.panel1.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
this.panel1.Controls.Add(this.label4);
this.panel1.Controls.Add(this.tableLayoutPanel1);
resources.ApplyResources(this.panel1, "panel1");
this.panel1.Name = "panel1";
//
// label4
//
resources.ApplyResources(this.label4, "label4");
@ -235,20 +259,6 @@
this.label7.CausesValidation = false;
this.label7.Name = "label7";
//
// tabPage2
//
this.tabPage2.Controls.Add(this.tableLayoutPanel2);
resources.ApplyResources(this.tabPage2, "tabPage2");
this.tabPage2.Name = "tabPage2";
this.tabPage2.UseVisualStyleBackColor = true;
//
// tableLayoutPanel2
//
resources.ApplyResources(this.tableLayoutPanel2, "tableLayoutPanel2");
this.tableLayoutPanel2.Controls.Add(this.inUseChart, 0, 1);
this.tableLayoutPanel2.Controls.Add(this.assignedChart, 0, 0);
this.tableLayoutPanel2.Name = "tableLayoutPanel2";
//
// logViewer1
//
resources.ApplyResources(this.logViewer1, "logViewer1");
@ -275,14 +285,15 @@
this.VisibleChanged += new System.EventHandler(this.DeployedServicePanel_VisibleChanged);
this.tabControl1.ResumeLayout(false);
this.tabPage1.ResumeLayout(false);
this.splitContainer1.Panel1.ResumeLayout(false);
this.splitContainer1.Panel1.PerformLayout();
this.splitContainer1.Panel2.ResumeLayout(false);
this.splitContainer1.ResumeLayout(false);
this.tableLayoutPanel1.ResumeLayout(false);
this.tableLayoutPanel1.PerformLayout();
this.tabPage2.ResumeLayout(false);
this.tableLayoutPanel2.ResumeLayout(false);
this.splitContainer1.Panel1.ResumeLayout(false);
this.splitContainer1.Panel2.ResumeLayout(false);
this.splitContainer1.ResumeLayout(false);
this.panel1.ResumeLayout(false);
this.panel1.PerformLayout();
this.tableLayoutPanel1.ResumeLayout(false);
this.tableLayoutPanel1.PerformLayout();
this.ResumeLayout(false);
}
@ -291,7 +302,7 @@
private System.Windows.Forms.TabControl tabControl1;
private System.Windows.Forms.TabPage tabPage1;
private System.Windows.Forms.SplitContainer splitContainer1;
private SplitContainerEx splitContainer1;
private System.Windows.Forms.TabPage tabPage2;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
@ -317,6 +328,7 @@
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel2;
private ChartPanel assignedChart;
private ChartPanel inUseChart;
private System.Windows.Forms.Panel panel1;
}
}

View File

@ -74,6 +74,8 @@ namespace UdsAdmin.controls.panel
lBaseService.Text = ds.serviceName;
lOsManager.Text = ds.osManagerName;
updateLogs();
ResumeLayout();
}
@ -89,8 +91,10 @@ namespace UdsAdmin.controls.panel
try
{
xmlrpc.StatCounter assigned = xmlrpc.UdsAdminService.GetDeployedServiceCounters(_dsId, xmlrpc.Constants.COUNTER_ASSIGNED, since, to, 400, true);
xmlrpc.StatCounter inUse = xmlrpc.UdsAdminService.GetDeployedServiceCounters(_dsId, xmlrpc.Constants.COUNTER_INUSE, since, to, 400, true);
xmlrpc.StatCounter assigned = xmlrpc.UdsAdminService.GetDeployedServiceCounters(_dsId,
xmlrpc.Constants.COUNTER_ASSIGNED, since, to, Properties.Settings.Default.StatsItems, true);
xmlrpc.StatCounter inUse = xmlrpc.UdsAdminService.GetDeployedServiceCounters(_dsId,
xmlrpc.Constants.COUNTER_INUSE, since, to, Properties.Settings.Default.StatsItems, true);
assignedChart.clearSeries();
assignedChart.addSerie(assigned);
@ -107,6 +111,21 @@ namespace UdsAdmin.controls.panel
ResumeLayout();
}
private void updateLogs()
{
List<xmlrpc.LogEntry> data = new List<xmlrpc.LogEntry>();
try
{
xmlrpc.LogEntry[] logs = xmlrpc.UdsAdminService.GetDeployedServiceLogs(_dsId);
data.AddRange(logs);
}
catch (CookComputing.XmlRpc.XmlRpcFaultException ex)
{
gui.UserNotifier.notifyRpcException(ex);
}
logViewer1.setLogs(data.ToArray());
}
private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)
{
if (tabControl1.SelectedTab == tabPage2)

View File

@ -780,4 +780,7 @@
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>System.Windows.Forms.UserControl, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="" xml:space="preserve">
<value> </value>
</data>
</root>

View File

@ -780,4 +780,7 @@
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>System.Windows.Forms.UserControl, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="" xml:space="preserve">
<value> </value>
</data>
</root>

View File

@ -780,4 +780,7 @@
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>System.Windows.Forms.UserControl, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="" xml:space="preserve">
<value> </value>
</data>
</root>

View File

@ -139,7 +139,7 @@
<value>NoControl</value>
</data>
<data name="label4.Location" type="System.Drawing.Point, System.Drawing">
<value>194, 12</value>
<value>194, 16</value>
</data>
<data name="label4.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 6, 3, 0</value>
@ -160,7 +160,7 @@
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;label4.Parent" xml:space="preserve">
<value>splitContainer1.Panel1</value>
<value>panel1</value>
</data>
<data name="&gt;&gt;label4.ZOrder" xml:space="preserve">
<value>0</value>
@ -832,7 +832,7 @@
<value>17</value>
</data>
<data name="tableLayoutPanel1.Location" type="System.Drawing.Point, System.Drawing">
<value>25, 31</value>
<value>25, 35</value>
</data>
<data name="tableLayoutPanel1.RowCount" type="System.Int32, mscorlib">
<value>10</value>
@ -850,7 +850,7 @@
<value>System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;tableLayoutPanel1.Parent" xml:space="preserve">
<value>splitContainer1.Panel1</value>
<value>panel1</value>
</data>
<data name="&gt;&gt;tableLayoutPanel1.ZOrder" xml:space="preserve">
<value>1</value>
@ -858,6 +858,30 @@
<data name="tableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
<value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="groupLabel" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="label2" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="label1" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="lName" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="lComments" Row="1" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="lBaseService" Row="2" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="label3" Row="3" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="lOsManager" Row="3" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="lInitial" Row="4" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="cacheLabel" Row="5" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="lCache" Row="5" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="cacheL2Label" Row="6" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="lL2Cache" Row="6" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="lMax" Row="7" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="label6" Row="8" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="lState" Row="8" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="label10" Row="4" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="label7" Row="7" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;/Controls&gt;&lt;Columns Styles="AutoSize,0,AutoSize,0" /&gt;&lt;Rows Styles="Percent,10,Percent,10,Percent,10,Percent,10,Percent,10,Percent,10,Percent,10,Percent,10,Percent,10,Percent,10" /&gt;&lt;/TableLayoutSettings&gt;</value>
</data>
<data name="panel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="panel1.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="panel1.Size" type="System.Drawing.Size, System.Drawing">
<value>721, 398</value>
</data>
<data name="panel1.TabIndex" type="System.Int32, mscorlib">
<value>7</value>
</data>
<data name="&gt;&gt;panel1.Name" xml:space="preserve">
<value>panel1</value>
</data>
<data name="&gt;&gt;panel1.Type" xml:space="preserve">
<value>System.Windows.Forms.Panel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;panel1.Parent" xml:space="preserve">
<value>splitContainer1.Panel1</value>
</data>
<data name="&gt;&gt;panel1.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="&gt;&gt;splitContainer1.Panel1.Name" xml:space="preserve">
<value>splitContainer1.Panel1</value>
</data>
@ -876,8 +900,11 @@
<data name="logViewer1.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="logViewer1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value>
</data>
<data name="logViewer1.Size" type="System.Drawing.Size, System.Drawing">
<value>725, 121</value>
<value>721, 68</value>
</data>
<data name="logViewer1.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
@ -907,10 +934,13 @@
<value>1</value>
</data>
<data name="splitContainer1.Size" type="System.Drawing.Size, System.Drawing">
<value>725, 478</value>
<value>721, 474</value>
</data>
<data name="splitContainer1.SplitterDistance" type="System.Int32, mscorlib">
<value>353</value>
<value>398</value>
</data>
<data name="splitContainer1.SplitterWidth" type="System.Int32, mscorlib">
<value>8</value>
</data>
<data name="splitContainer1.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
@ -919,7 +949,7 @@
<value>splitContainer1</value>
</data>
<data name="&gt;&gt;splitContainer1.Type" xml:space="preserve">
<value>System.Windows.Forms.SplitContainer, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>UdsAdmin.controls.SplitContainerEx, UdsAdmin, Version=1.1.0.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;splitContainer1.Parent" xml:space="preserve">
<value>tabPage1</value>
@ -934,7 +964,7 @@
<value>3, 3, 3, 3</value>
</data>
<data name="tabPage1.Size" type="System.Drawing.Size, System.Drawing">
<value>731, 484</value>
<value>727, 480</value>
</data>
<data name="tabPage1.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
@ -961,10 +991,10 @@
<value>Fill</value>
</data>
<data name="inUseChart.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 242</value>
<value>3, 240</value>
</data>
<data name="inUseChart.Size" type="System.Drawing.Size, System.Drawing">
<value>719, 233</value>
<value>715, 231</value>
</data>
<data name="inUseChart.TabIndex" type="System.Int32, mscorlib">
<value>8</value>
@ -988,7 +1018,7 @@
<value>3, 3</value>
</data>
<data name="assignedChart.Size" type="System.Drawing.Size, System.Drawing">
<value>719, 233</value>
<value>715, 231</value>
</data>
<data name="assignedChart.TabIndex" type="System.Int32, mscorlib">
<value>7</value>
@ -1015,7 +1045,7 @@
<value>2</value>
</data>
<data name="tableLayoutPanel2.Size" type="System.Drawing.Size, System.Drawing">
<value>725, 478</value>
<value>721, 474</value>
</data>
<data name="tableLayoutPanel2.TabIndex" type="System.Int32, mscorlib">
<value>7</value>
@ -1042,7 +1072,7 @@
<value>3, 3, 3, 3</value>
</data>
<data name="tabPage2.Size" type="System.Drawing.Size, System.Drawing">
<value>731, 484</value>
<value>727, 480</value>
</data>
<data name="tabPage2.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
@ -1069,7 +1099,7 @@
<value>0, 0</value>
</data>
<data name="tabControl1.Size" type="System.Drawing.Size, System.Drawing">
<value>739, 511</value>
<value>735, 507</value>
</data>
<data name="tabControl1.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
@ -1093,7 +1123,7 @@
<value>6, 13</value>
</data>
<data name="$this.Size" type="System.Drawing.Size, System.Drawing">
<value>739, 511</value>
<value>735, 507</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>DeployedServicePanel</value>

View File

@ -34,6 +34,21 @@
this.kind = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.state = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.comments = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.tabControl1 = new System.Windows.Forms.TabControl();
this.tabPage1 = new System.Windows.Forms.TabPage();
this.splitContainer1 = new UdsAdmin.controls.SplitContainerEx();
this.logViewer1 = new UdsAdmin.controls.panel.LogViewer();
this.tabPage2 = new System.Windows.Forms.TabPage();
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
this.assignedChart = new UdsAdmin.controls.panel.ChartPanel();
this.inUseChart = new UdsAdmin.controls.panel.ChartPanel();
this.tabControl1.SuspendLayout();
this.tabPage1.SuspendLayout();
this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout();
this.splitContainer1.SuspendLayout();
this.tabPage2.SuspendLayout();
this.tableLayoutPanel1.SuspendLayout();
this.SuspendLayout();
//
// listView
@ -51,6 +66,7 @@
this.listView.UseCompatibleStateImageBehavior = false;
this.listView.View = System.Windows.Forms.View.Details;
this.listView.ColumnClick += new System.Windows.Forms.ColumnClickEventHandler(this.listView_ColumnClick);
this.listView.SelectedIndexChanged += new System.EventHandler(this.listView_SelectedIndexChanged);
this.listView.KeyUp += new System.Windows.Forms.KeyEventHandler(this.listView_KeyUp);
//
// name
@ -72,13 +88,80 @@
resources.ApplyResources(this.comments, "comments");
this.comments.Width = global::UdsAdmin.Properties.Settings.Default.wCommentsCol;
//
// tabControl1
//
this.tabControl1.Controls.Add(this.tabPage1);
this.tabControl1.Controls.Add(this.tabPage2);
resources.ApplyResources(this.tabControl1, "tabControl1");
this.tabControl1.Name = "tabControl1";
this.tabControl1.SelectedIndex = 0;
this.tabControl1.SelectedIndexChanged += new System.EventHandler(this.tabControl1_SelectedIndexChanged);
//
// tabPage1
//
this.tabPage1.Controls.Add(this.splitContainer1);
resources.ApplyResources(this.tabPage1, "tabPage1");
this.tabPage1.Name = "tabPage1";
this.tabPage1.UseVisualStyleBackColor = true;
//
// splitContainer1
//
this.splitContainer1.BackColor = System.Drawing.Color.Transparent;
resources.ApplyResources(this.splitContainer1, "splitContainer1");
this.splitContainer1.Name = "splitContainer1";
//
// splitContainer1.Panel1
//
this.splitContainer1.Panel1.Controls.Add(this.listView);
//
// splitContainer1.Panel2
//
this.splitContainer1.Panel2.Controls.Add(this.logViewer1);
//
// logViewer1
//
resources.ApplyResources(this.logViewer1, "logViewer1");
this.logViewer1.Name = "logViewer1";
//
// tabPage2
//
this.tabPage2.Controls.Add(this.tableLayoutPanel1);
resources.ApplyResources(this.tabPage2, "tabPage2");
this.tabPage2.Name = "tabPage2";
this.tabPage2.UseVisualStyleBackColor = true;
//
// tableLayoutPanel1
//
resources.ApplyResources(this.tableLayoutPanel1, "tableLayoutPanel1");
this.tableLayoutPanel1.Controls.Add(this.assignedChart, 0, 0);
this.tableLayoutPanel1.Controls.Add(this.inUseChart, 0, 1);
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
//
// assignedChart
//
resources.ApplyResources(this.assignedChart, "assignedChart");
this.assignedChart.Name = "assignedChart";
//
// inUseChart
//
resources.ApplyResources(this.inUseChart, "inUseChart");
this.inUseChart.Name = "inUseChart";
//
// DeployedServicesPanel
//
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.listView);
this.Controls.Add(this.tabControl1);
this.DoubleBuffered = true;
this.Name = "DeployedServicesPanel";
this.VisibleChanged += new System.EventHandler(this.UsersPanel_VisibleChanged);
this.tabControl1.ResumeLayout(false);
this.tabPage1.ResumeLayout(false);
this.splitContainer1.Panel1.ResumeLayout(false);
this.splitContainer1.Panel2.ResumeLayout(false);
this.splitContainer1.ResumeLayout(false);
this.tabPage2.ResumeLayout(false);
this.tableLayoutPanel1.ResumeLayout(false);
this.ResumeLayout(false);
}
@ -90,5 +173,13 @@
private System.Windows.Forms.ColumnHeader state;
private System.Windows.Forms.ColumnHeader comments;
private System.Windows.Forms.ColumnHeader kind;
private System.Windows.Forms.TabControl tabControl1;
private System.Windows.Forms.TabPage tabPage1;
private SplitContainerEx splitContainer1;
private LogViewer logViewer1;
private System.Windows.Forms.TabPage tabPage2;
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
private ChartPanel assignedChart;
private ChartPanel inUseChart;
}
}

View File

@ -41,6 +41,7 @@ namespace UdsAdmin.controls.panel
public partial class DeployedServicesPanel : UserControl
{
gui.ListViewSorter _listSorter;
private DateTime shownToCharts = new DateTime();
public DeployedServicesPanel()
{
@ -53,9 +54,10 @@ namespace UdsAdmin.controls.panel
private void UsersPanel_VisibleChanged(object sender, EventArgs e)
{
if (Visible == true)
{
updateList();
}
if (tabControl1.SelectedTab == tabPage2)
updateCharts();
else
updateList();
}
private void updateList()
@ -81,6 +83,62 @@ namespace UdsAdmin.controls.panel
gui.UserNotifier.notifyRpcException(ex);
}
if (listView.Items.Count > 0)
{
listView.Items[0].Selected = listView.Items[0].Focused = true;
listView.Focus();
}
}
private void updateCharts()
{
SuspendLayout();
DateTime now = DateTime.Now;
DateTime to = new DateTime(now.Year, now.Month, now.Day, now.Hour, 0, 0);
DateTime since = to.AddDays(-7);
if (to == shownToCharts)
return;
try
{
xmlrpc.StatCounter assigned = xmlrpc.UdsAdminService.GetDeployedServiceCounters(xmlrpc.Constants.ALL,
xmlrpc.Constants.COUNTER_ASSIGNED, since, to, Properties.Settings.Default.StatsItems, true);
xmlrpc.StatCounter inUse = xmlrpc.UdsAdminService.GetDeployedServiceCounters(xmlrpc.Constants.ALL,
xmlrpc.Constants.COUNTER_INUSE, since, to, Properties.Settings.Default.StatsItems, true);
assignedChart.clearSeries();
assignedChart.addSerie(assigned);
inUseChart.clearSeries();
inUseChart.addSerie(inUse);
shownToCharts = to;
}
catch (CookComputing.XmlRpc.XmlRpcFaultException e)
{
gui.UserNotifier.notifyRpcException(e);
}
ResumeLayout();
}
private void updateLogs()
{
List<xmlrpc.LogEntry> data = new List<xmlrpc.LogEntry>();
foreach (ListViewItem i in listView.SelectedItems)
{
try
{
xmlrpc.LogEntry[] logs = xmlrpc.UdsAdminService.GetDeployedServiceLogs((string)i.Tag);
data.AddRange(logs);
}
catch (CookComputing.XmlRpc.XmlRpcFaultException ex)
{
gui.UserNotifier.notifyRpcException(ex);
}
}
logViewer1.setLogs(data.ToArray());
}
private void listView_KeyUp(object sender, KeyEventArgs e)
@ -88,10 +146,10 @@ namespace UdsAdmin.controls.panel
switch (e.KeyCode)
{
case Keys.F5:
updateList();
tabControl1_SelectedIndexChanged(null, null);
break;
case Keys.E:
if (e.Modifiers == Keys.Control)
if (e.Modifiers == Keys.Control && tabControl1.SelectedTab == tabPage1)
foreach (ListViewItem i in listView.Items)
i.Selected = true;
break;
@ -103,5 +161,23 @@ namespace UdsAdmin.controls.panel
_listSorter.ColumnClick(sender, e);
}
private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)
{
if (tabControl1.SelectedTab == tabPage2)
{
if (sender == null)
shownToCharts = new DateTime();
updateCharts();
}
else
updateList();
}
private void listView_SelectedIndexChanged(object sender, EventArgs e)
{
updateLogs();
}
}
}

View File

@ -145,7 +145,7 @@
<value>0, 0</value>
</data>
<data name="listView.Size" type="System.Drawing.Size, System.Drawing">
<value>660, 279</value>
<value>723, 375</value>
</data>
<data name="listView.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
@ -157,11 +157,254 @@
<value>System.Windows.Forms.ListView, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;listView.Parent" xml:space="preserve">
<value>$this</value>
<value>splitContainer1.Panel1</value>
</data>
<data name="&gt;&gt;listView.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="splitContainer1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="splitContainer1.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 3</value>
</data>
<data name="splitContainer1.Orientation" type="System.Windows.Forms.Orientation, System.Windows.Forms">
<value>Horizontal</value>
</data>
<data name="&gt;&gt;splitContainer1.Panel1.Name" xml:space="preserve">
<value>splitContainer1.Panel1</value>
</data>
<data name="&gt;&gt;splitContainer1.Panel1.Type" xml:space="preserve">
<value>System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;splitContainer1.Panel1.Parent" xml:space="preserve">
<value>splitContainer1</value>
</data>
<data name="&gt;&gt;splitContainer1.Panel1.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="logViewer1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="logViewer1.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="logViewer1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value>
</data>
<data name="logViewer1.Size" type="System.Drawing.Size, System.Drawing">
<value>723, 93</value>
</data>
<data name="logViewer1.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="&gt;&gt;logViewer1.Name" xml:space="preserve">
<value>logViewer1</value>
</data>
<data name="&gt;&gt;logViewer1.Type" xml:space="preserve">
<value>UdsAdmin.controls.panel.LogViewer, UdsAdmin, Version=1.1.0.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;logViewer1.Parent" xml:space="preserve">
<value>splitContainer1.Panel2</value>
</data>
<data name="&gt;&gt;logViewer1.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="&gt;&gt;splitContainer1.Panel2.Name" xml:space="preserve">
<value>splitContainer1.Panel2</value>
</data>
<data name="&gt;&gt;splitContainer1.Panel2.Type" xml:space="preserve">
<value>System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;splitContainer1.Panel2.Parent" xml:space="preserve">
<value>splitContainer1</value>
</data>
<data name="&gt;&gt;splitContainer1.Panel2.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="splitContainer1.Size" type="System.Drawing.Size, System.Drawing">
<value>723, 476</value>
</data>
<data name="splitContainer1.SplitterDistance" type="System.Int32, mscorlib">
<value>375</value>
</data>
<data name="splitContainer1.SplitterWidth" type="System.Int32, mscorlib">
<value>8</value>
</data>
<data name="splitContainer1.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="&gt;&gt;splitContainer1.Name" xml:space="preserve">
<value>splitContainer1</value>
</data>
<data name="&gt;&gt;splitContainer1.Type" xml:space="preserve">
<value>UdsAdmin.controls.SplitContainerEx, UdsAdmin, Version=1.1.0.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;splitContainer1.Parent" xml:space="preserve">
<value>tabPage1</value>
</data>
<data name="&gt;&gt;splitContainer1.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="tabPage1.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 23</value>
</data>
<data name="tabPage1.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 3, 3, 3</value>
</data>
<data name="tabPage1.Size" type="System.Drawing.Size, System.Drawing">
<value>729, 482</value>
</data>
<data name="tabPage1.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="tabPage1.Text" xml:space="preserve">
<value>General</value>
</data>
<data name="&gt;&gt;tabPage1.Name" xml:space="preserve">
<value>tabPage1</value>
</data>
<data name="&gt;&gt;tabPage1.Type" xml:space="preserve">
<value>System.Windows.Forms.TabPage, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;tabPage1.Parent" xml:space="preserve">
<value>tabControl1</value>
</data>
<data name="&gt;&gt;tabPage1.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="tableLayoutPanel1.ColumnCount" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="assignedChart.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="assignedChart.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 3</value>
</data>
<data name="assignedChart.Size" type="System.Drawing.Size, System.Drawing">
<value>717, 232</value>
</data>
<data name="assignedChart.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="&gt;&gt;assignedChart.Name" xml:space="preserve">
<value>assignedChart</value>
</data>
<data name="&gt;&gt;assignedChart.Type" xml:space="preserve">
<value>UdsAdmin.controls.panel.ChartPanel, UdsAdmin, Version=1.1.0.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;assignedChart.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;assignedChart.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="inUseChart.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="inUseChart.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 241</value>
</data>
<data name="inUseChart.Size" type="System.Drawing.Size, System.Drawing">
<value>717, 232</value>
</data>
<data name="inUseChart.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="&gt;&gt;inUseChart.Name" xml:space="preserve">
<value>inUseChart</value>
</data>
<data name="&gt;&gt;inUseChart.Type" xml:space="preserve">
<value>UdsAdmin.controls.panel.ChartPanel, UdsAdmin, Version=1.1.0.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;inUseChart.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;inUseChart.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="tableLayoutPanel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="tableLayoutPanel1.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 3</value>
</data>
<data name="tableLayoutPanel1.RowCount" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="tableLayoutPanel1.Size" type="System.Drawing.Size, System.Drawing">
<value>723, 476</value>
</data>
<data name="tableLayoutPanel1.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="&gt;&gt;tableLayoutPanel1.Name" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;tableLayoutPanel1.Type" xml:space="preserve">
<value>System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;tableLayoutPanel1.Parent" xml:space="preserve">
<value>tabPage2</value>
</data>
<data name="&gt;&gt;tableLayoutPanel1.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="tableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
<value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="assignedChart" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="inUseChart" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;/Controls&gt;&lt;Columns Styles="Percent,100,Absolute,20" /&gt;&lt;Rows Styles="Percent,50,Percent,50" /&gt;&lt;/TableLayoutSettings&gt;</value>
</data>
<data name="tabPage2.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 23</value>
</data>
<data name="tabPage2.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 3, 3, 3</value>
</data>
<data name="tabPage2.Size" type="System.Drawing.Size, System.Drawing">
<value>729, 482</value>
</data>
<data name="tabPage2.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="tabPage2.Text" xml:space="preserve">
<value>Statistics</value>
</data>
<data name="&gt;&gt;tabPage2.Name" xml:space="preserve">
<value>tabPage2</value>
</data>
<data name="&gt;&gt;tabPage2.Type" xml:space="preserve">
<value>System.Windows.Forms.TabPage, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;tabPage2.Parent" xml:space="preserve">
<value>tabControl1</value>
</data>
<data name="&gt;&gt;tabPage2.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="tabControl1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="tabControl1.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="tabControl1.Size" type="System.Drawing.Size, System.Drawing">
<value>737, 509</value>
</data>
<data name="tabControl1.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="&gt;&gt;tabControl1.Name" xml:space="preserve">
<value>tabControl1</value>
</data>
<data name="&gt;&gt;tabControl1.Type" xml:space="preserve">
<value>System.Windows.Forms.TabControl, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;tabControl1.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;tabControl1.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
@ -169,7 +412,7 @@
<value>6, 13</value>
</data>
<data name="$this.Size" type="System.Drawing.Size, System.Drawing">
<value>660, 279</value>
<value>737, 509</value>
</data>
<data name="&gt;&gt;name.Name" xml:space="preserve">
<value>name</value>

View File

@ -25,7 +25,7 @@ namespace UdsAdmin.controls.panel
levelFilterCombo.Items.AddRange(new string[] { xmlrpc.Constants.LEVEL_DEBUG, xmlrpc.Constants.LEVEL_INFO,
xmlrpc.Constants.LEVEL_WARN, xmlrpc.Constants.LEVEL_ERROR, xmlrpc.Constants.LEVEL_FATAL });
levelFilterCombo.SelectedIndex = 0;
levelFilterCombo.SelectedIndex = 2;
}
public void setLogs(xmlrpc.LogEntry[] logs)

View File

@ -151,10 +151,13 @@
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="listView.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 3</value>
<value>0, 0</value>
</data>
<data name="listView.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value>
</data>
<data name="listView.Size" type="System.Drawing.Size, System.Drawing">
<value>709, 172</value>
<value>715, 178</value>
</data>
<data name="listView.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
@ -172,7 +175,7 @@
<value>0</value>
</data>
<data name="levelFilterCombo.Location" type="System.Drawing.Point, System.Drawing">
<value>585, 3</value>
<value>591, 3</value>
</data>
<data name="levelFilterCombo.Size" type="System.Drawing.Size, System.Drawing">
<value>121, 21</value>
@ -196,7 +199,7 @@
<value>True</value>
</data>
<data name="label2.Location" type="System.Drawing.Point, System.Drawing">
<value>546, 0</value>
<value>552, 0</value>
</data>
<data name="label2.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 4, 0, 0</value>
@ -229,7 +232,7 @@
<value>Microsoft Sans Serif, 8.25pt, style=Bold</value>
</data>
<data name="label1.Location" type="System.Drawing.Point, System.Drawing">
<value>497, 0</value>
<value>503, 0</value>
</data>
<data name="label1.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 4, 0, 0</value>
@ -262,10 +265,13 @@
<value>RightToLeft</value>
</data>
<data name="flowLayoutPanel1.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 181</value>
<value>0, 178</value>
</data>
<data name="flowLayoutPanel1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value>
</data>
<data name="flowLayoutPanel1.Size" type="System.Drawing.Size, System.Drawing">
<value>709, 26</value>
<value>715, 32</value>
</data>
<data name="flowLayoutPanel1.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
@ -288,6 +294,9 @@
<data name="tableLayoutPanel1.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="tableLayoutPanel1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value>
</data>
<data name="tableLayoutPanel1.RowCount" type="System.Int32, mscorlib">
<value>2</value>
</data>
@ -318,6 +327,9 @@
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>6, 13</value>
</data>
<data name="$this.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value>
</data>
<data name="$this.Size" type="System.Drawing.Size, System.Drawing">
<value>715, 210</value>
</data>

View File

@ -35,7 +35,7 @@
this.state = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.lastAccess = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.comments = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.splitContainer1 = new SplitContainerEx();
this.logViewer1 = new UdsAdmin.controls.panel.LogViewer();
this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout();
@ -126,7 +126,7 @@
private System.Windows.Forms.ColumnHeader state;
private System.Windows.Forms.ColumnHeader lastAccess;
private System.Windows.Forms.ColumnHeader comments;
private System.Windows.Forms.SplitContainer splitContainer1;
private SplitContainerEx splitContainer1;
private LogViewer logViewer1;
}
}

View File

@ -117,6 +117,21 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="username.Text" xml:space="preserve">
<value>Username</value>
</data>
<data name="name.Text" xml:space="preserve">
<value>Name</value>
</data>
<data name="state.Text" xml:space="preserve">
<value>State</value>
</data>
<data name="lastAccess.Text" xml:space="preserve">
<value>Last Access</value>
</data>
<data name="comments.Text" xml:space="preserve">
<value>Comments</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="listView.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
@ -130,7 +145,7 @@
<value>0, 0</value>
</data>
<data name="listView.Size" type="System.Drawing.Size, System.Drawing">
<value>597, 216</value>
<value>737, 400</value>
</data>
<data name="listView.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
@ -147,21 +162,6 @@
<data name="&gt;&gt;listView.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="username.Text" xml:space="preserve">
<value>Username</value>
</data>
<data name="name.Text" xml:space="preserve">
<value>Name</value>
</data>
<data name="state.Text" xml:space="preserve">
<value>State</value>
</data>
<data name="lastAccess.Text" xml:space="preserve">
<value>Last Access</value>
</data>
<data name="comments.Text" xml:space="preserve">
<value>Comments</value>
</data>
<data name="splitContainer1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
@ -189,8 +189,11 @@
<data name="logViewer1.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="logViewer1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value>
</data>
<data name="logViewer1.Size" type="System.Drawing.Size, System.Drawing">
<value>597, 58</value>
<value>737, 101</value>
</data>
<data name="logViewer1.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
@ -220,10 +223,13 @@
<value>1</value>
</data>
<data name="splitContainer1.Size" type="System.Drawing.Size, System.Drawing">
<value>597, 278</value>
<value>737, 509</value>
</data>
<data name="splitContainer1.SplitterDistance" type="System.Int32, mscorlib">
<value>216</value>
<value>400</value>
</data>
<data name="splitContainer1.SplitterWidth" type="System.Int32, mscorlib">
<value>8</value>
</data>
<data name="splitContainer1.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
@ -247,7 +253,7 @@
<value>6, 13</value>
</data>
<data name="$this.Size" type="System.Drawing.Size, System.Drawing">
<value>597, 278</value>
<value>737, 509</value>
</data>
<data name="&gt;&gt;username.Name" xml:space="preserve">
<value>username</value>

View File

@ -207,4 +207,7 @@
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="label1.Text" xml:space="preserve">
<value>Authentifikator</value>
</data>
</root>

View File

@ -207,4 +207,7 @@
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="label1.Text" xml:space="preserve">
<value>Autenticador</value>
</data>
</root>

View File

@ -207,4 +207,7 @@
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="label1.Text" xml:space="preserve">
<value>Authentificateur</value>
</data>
</root>

View File

@ -29,7 +29,7 @@
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm));
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.splitContainer1 = new UdsAdmin.controls.SplitContainerEx();
this.treeActions = new System.Windows.Forms.TreeView();
this.statusStrip1 = new System.Windows.Forms.StatusStrip();
this.menuStrip1 = new System.Windows.Forms.MenuStrip();
@ -254,7 +254,7 @@
private System.Windows.Forms.ToolStripMenuItem serviceProviderToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem newServiceProviderMenu;
private System.Windows.Forms.ToolStrip toolStrip1;
private System.Windows.Forms.SplitContainer splitContainer1;
private UdsAdmin.controls.SplitContainerEx splitContainer1;
private System.Windows.Forms.TreeView treeActions;
private System.Windows.Forms.ToolStripMenuItem toolsToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem languageToolStripMenuItem;

View File

@ -200,6 +200,10 @@ namespace UdsAdmin.forms
{
gui.ActionTree.showAssociatedPanel(splitContainer1.Panel2, treeActions, this);
}
catch (CookComputing.XmlRpc.XmlRpcFaultException ex)
{
gui.UserNotifier.notifyRpcException(ex);
}
catch (Exception)
{
// Nothing done right now

View File

@ -189,6 +189,9 @@
<data name="splitContainer1.SplitterDistance" type="System.Int32, mscorlib">
<value>146</value>
</data>
<data name="splitContainer1.SplitterWidth" type="System.Int32, mscorlib">
<value>8</value>
</data>
<data name="splitContainer1.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
</data>
@ -196,7 +199,7 @@
<value>splitContainer1</value>
</data>
<data name="&gt;&gt;splitContainer1.Type" xml:space="preserve">
<value>System.Windows.Forms.SplitContainer, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>UdsAdmin.controls.SplitContainerEx, UdsAdmin, Version=1.1.0.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;splitContainer1.Parent" xml:space="preserve">
<value>$this</value>

View File

@ -66,6 +66,8 @@ namespace UdsAdmin.xmlrpc
public const int COUNTER_ASSIGNED = 2;
public const int COUNTER_INUSE = 3;
public const string ALL = "-1";
public const string LEVEL_OTHER = "OTHER";
public const int LEVEL_OTHER_I = 10000;
public const string LEVEL_DEBUG = "DEBUG";

View File

@ -338,6 +338,9 @@ namespace UdsAdmin.xmlrpc
[XmlRpcMethod("getAuthLogs")]
LogEntry[] GetAuthLogs(string credentials, string id);
[XmlRpcMethod("getDeployedServiceLogs")]
LogEntry[] GetDeployedServiceLogs(string credentials, string id);
// Statistics stuff
[XmlRpcMethod("getDeployedServiceCounters")]
StatCounter GetDeployedServiceCounters(string credentials, string id, int counter_type, DateTime since, DateTime to, int points, bool use_max);

View File

@ -725,6 +725,11 @@ namespace UdsAdmin.xmlrpc
return s.GetAuthLogs(credentials, id);
}
public static LogEntry[] GetDeployedServiceLogs(string id)
{
return s.GetDeployedServiceLogs(credentials, id);
}
// Stats methods
public static StatCounter GetDeployedServiceCounters(string id, int counter_type, DateTime since, DateTime to, int points, bool use_max = false)
{

View File

@ -10,7 +10,7 @@ Name "UDS Administration"
!define URL http://www.virtualcable.es
# MultiUser Symbol Definitions
!define MULTIUSER_EXECUTIONLEVEL Standard
!define MULTIUSER_EXECUTIONLEVEL Admin
!define MULTIUSER_INSTALLMODE_COMMANDLINE
!define MULTIUSER_INSTALLMODE_INSTDIR "UDS Administration Client"
!define MULTIUSER_INSTALLMODE_INSTDIR_REGISTRY_KEY "${REGKEY}"
@ -83,6 +83,13 @@ Section -Main SEC0000
File ..\..\UdsAdmin\bin\Release\es\UdsAdmin.resources.dll
SetOutPath $INSTDIR\fr
File ..\..\UdsAdmin\bin\Release\fr\UdsAdmin.resources.dll
SetOutPath $TEMP
File MSChart.exe
System::Call "kernel32::CreateMutexA(i 0, i 0, t 'ChartInstall') i .r0 ?e"
ExecWait "$TEMP\MSChart.exe /q /log %temp%\msclog.htm /norestart" $0
Delete "$TEMP\MSChart.exe"
WriteRegStr HKLM "${REGKEY}\Components" Main 1
SectionEnd
@ -142,6 +149,14 @@ SectionEnd
Function .onInit
InitPluginsDir
StrCpy $StartMenuGroup "Virtual Cable\UDS Administration Client"
ReadRegDWORD $0 HKLM "SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5" SP
${if} $0 != 1
MessageBox MB_OK "$(^NoDotNet)"
Abort
${EndIf}
!insertmacro MUI_LANGDLL_DISPLAY
!insertmacro MULTIUSER_INIT
FunctionEnd
@ -155,9 +170,14 @@ Function un.onInit
FunctionEnd
# Installer Language Strings
# TODO Update the Language Strings with the appropriate translations.
LangString ^NoDotNet ${LANG_ENGLISH} ".NET 3.5 sp1 Required.$\nPlease, install it to proceed"
LangString ^NoDotNet ${LANG_SPANISH} "Se requiere .NET 3.5 sp1.$\nPor favor, instalelo para proceder"
LangString ^NoDotNet ${LANG_FRENCH} ".NET Framework 3.5 SP1 requis.$\nVeuillez, installez-le de procéder"
LangString ^NoDotNet ${LANG_GERMAN} "Erforderlich ist. NET 3.5 sp1.$\nPor Bitte installieren Sie es, um fortzufahren"
LangString ^UninstallLink ${LANG_ENGLISH} "Uninstall $(^Name)"
LangString ^UninstallLink ${LANG_SPANISH} "Uninstall $(^Name)"
LangString ^UninstallLink ${LANG_FRENCH} "Uninstall $(^Name)"
LangString ^UninstallLink ${LANG_GERMAN} "Uninstall $(^Name)"
LangString ^UninstallLink ${LANG_SPANISH} "Desinstalar $(^Name)"
LangString ^UninstallLink ${LANG_FRENCH} "Désinstaller $(^Name)"
LangString ^UninstallLink ${LANG_GERMAN} "Deinstallieren $(^Name)"