add a blank settings form to eventually control individual images

svn path=/trunk/tools/RosTE/; revision=184
This commit is contained in:
Ged Murphy 2007-05-17 10:06:13 +00:00
parent 8659e1b622
commit 1054ee474e
7 changed files with 298 additions and 32 deletions

View File

@ -83,6 +83,7 @@ namespace RosTEGUI
this.ImageListView.TabIndex = 9;
this.ImageListView.UseCompatibleStateImageBehavior = false;
this.ImageListView.View = System.Windows.Forms.View.Details;
this.ImageListView.DoubleClick += new System.EventHandler(this.ImageListView_DoubleClick);
//
// columnName
//
@ -195,6 +196,7 @@ namespace RosTEGUI
this.toolbarExit.Name = "toolbarExit";
this.toolbarExit.Size = new System.Drawing.Size(23, 22);
this.toolbarExit.ToolTipText = "Exits application";
this.toolbarExit.Click += new System.EventHandler(this.toolbarExit_Click);
//
// mainToolbar
//
@ -286,18 +288,18 @@ namespace RosTEGUI
// mainmenuHelpContent
//
this.mainmenuHelpContent.Name = "mainmenuHelpContent";
this.mainmenuHelpContent.Size = new System.Drawing.Size(152, 22);
this.mainmenuHelpContent.Size = new System.Drawing.Size(124, 22);
this.mainmenuHelpContent.Text = "Content";
//
// toolStripSeparator1
//
this.toolStripSeparator1.Name = "toolStripSeparator1";
this.toolStripSeparator1.Size = new System.Drawing.Size(149, 6);
this.toolStripSeparator1.Size = new System.Drawing.Size(121, 6);
//
// MainMenuHelpAbout
//
this.MainMenuHelpAbout.Name = "MainMenuHelpAbout";
this.MainMenuHelpAbout.Size = new System.Drawing.Size(152, 22);
this.MainMenuHelpAbout.Size = new System.Drawing.Size(124, 22);
this.MainMenuHelpAbout.Text = "About";
this.MainMenuHelpAbout.Click += new System.EventHandler(this.MainMenuHelpAbout_Click);
//

View File

@ -30,8 +30,20 @@ namespace RosTEGUI
private void MainMenuHelpAbout_Click(object sender, EventArgs e)
{
AboutForm Dlg = new AboutForm();
Dlg.StartPosition = FormStartPosition.CenterParent;
Dlg.StartPosition = FormStartPosition.CenterScreen;
Dlg.Show();
}
private void ImageListView_DoubleClick(object sender, EventArgs e)
{
SettingsForm SetFrm = new SettingsForm();
SetFrm.StartPosition = FormStartPosition.CenterScreen;
SetFrm.Show();
}
private void toolbarExit_Click(object sender, EventArgs e)
{
Close();
}
}
}

View File

@ -190,12 +190,12 @@
<data name="toolbarImageAdd.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAP9JREFUOE9jYKAV
8PDwYE9LS2Otr69nIscOxtDw4P8+fl5/gfQ/EDs+Pp6DJIPCIrz+3L5z6/+u3Tv/h0WE/Pbx8eEiyQCQ
7Xfu3v6/e8+u/77+Pr9CQ0N5CBoA8q+9vT0LUDEbyOkwAyKiwn5GR0fz4TUA5E8o/geyPSDI7+/de3fA
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAP5JREFUOE9jYKAV
8PDwYE9LS2Otr69nIscOxtDw4P9ePh5/gfQ/EDs+Pp6DJIPCIjz+3L5z6/+u3Tv/h0WE/Pbx8eEiyQCQ
7Xfu3v6/e8+u/z6+Pr9CQ0N5CBoA8q+9vT0LUDEbyOkwAyKiwn5GR0fz4TUA5E8o/gey3S/A5+/de3fA
LoiMDv+DJA9Wh2EYSPDO3VtAfPs/SCOIBuEDB/ej4IOHDuA2ABRoR44e/n/4yCG8GKcL0J155uzp/yDs
F+ADik6YF7G7AN1PIA1Xrl4G4/BI7z8kpwOQAddvXANjsg24fOXSfxAmywAfP59f4ZGhv0EYxAblDYIJ
aUAUAACfo+AcMbeNIAAAAABJRU5ErkJggg==
4+cFik6YF7G7AN1PIA1Xrl4G4/BIzz8kpwOQAddvXANjsg24fOXSfxAmywBgyvsVHhn6G4RBbFDeIJiQ
BkQBADni3+9RAMaZAAAAAElFTkSuQmCC
</value>
</data>
<data name="toolbarImageDel.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
@ -209,20 +209,20 @@
<data name="toolbarHelpContents.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAuJJREFUOE99U21I
U2EUXllBP+qPbfVPkoyixEwRJpaouDKX9EFg/hmoZErgj5kLgq75FeTS1H05hIbzAzSC1FLCssDJjBBC
LCiQbOamMne/5t29u3ennWtKLujCw33ve8/zvOc857y7FDGP+VpRjpB6pljaf+BiRCEewd+7FXt8cRwz
vvfLV+edgaGpWI78TRDEPvt5tXvg5Anp8+SkxLIMCIIAPM8DSQZg5s241H88ScIYjN0hMjg4GGdPSfG+
M9wVBa8XuBk3UBQJgYBfBkUFIOiago25ORivuCViLHK2ReznMt+/rKwICwsLQJWXA5mdDZT3lyxC0yRQ
vmUg8/KAMtQCNzsLz3W6MHJkAcv1olR74lGRm58HSqcDKjcX/MXFMHxZG25oehhCDF8pCgfKyoAuLARK
rwd22gX2hATRdlV7VtHaVGd2DfRH2FejQGZlwXpJCfSolBFrQb6FaCcOIuzRdc9hVSRQVSVnwoy9hg8v
hiRj/X2roq3N+MPvX4satQ60zwsjWq1gy8t+Guu0RZPz5O0FjciurcixvmhZyFXU1ROhYJCVzcI3poyn
xgrgHv7juI0/xpKAXFkAW4at4rjgfwUam+tDPB+SY9FgWQDTWF1dibpNA8fQMHK7grcV5LfEZmDT5LaO
6fUhPpoBTVOwvLy0WQIa4errldjubqArK4GcmIDexETJVqAxb5lovaQx9SUdk5jv34BuagTG1AmTVouE
DVBgK5xKZYQ1GIBUq4ElCKBcLhi+ZxA6TM0hxChBCMGfixB0OIDMyAC6tBR64uMjOAJypg51xpQ7PR2C
NTVAZmYCU1sLmKoohqMQISzwwHS0y2QmOg/TycmAnO0ycSyfnT615k5LA6a6Gpgum1wnTuEmKGDMJvlk
JGPsjlHeukwOtfqTU6WKfDR3iktLHtlthMfjgZnOdtGpPBTBmH8u09+Om27eyGpreNBlNLYsPjY+4hG4
xj286rHd+Q2z5jCy9K4XCQAAAABJRU5ErkJggg==
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAuFJREFUOE99U21I
U2EUXllBP+qPbfVPkoyixEwRJpaoOTKX9EFg/hmkZUrgj5kLgq75QZDLpe7LITRJEyaU2IcS1oKczQj7
IRYUSDZzU5m7X/Pu3t270841JRd04eG+973ned5znnPeLYqEx3KhrEDIPFYu7dx1OqYQ9+HvrYptgSSO
Gd3+5evjGwOD44kc+ZsgiB2Ok2rvwOFD0me3W2JZBgRBAJ7ngSRD8OH1qPTkYJqEMRi7ScTlciU5MjL8
bw03RcHvB27SCxRFQigUlEFRIQh7xmF1ehpGq6+JGIucDRHHidx3z6qvRoXZWaCqqoDMzwfK/0sWoWkS
qMACkEVFQBkagJuaApdOF0WOLGC9WJZpT90vcjMzQOl0QBUWQrC8HIbOaqN3m4kIYuhcWTRUWQl0aSlQ
ej2wEx6wp6SI9vPa44r21kbL+/6+GPvyBZB5ebBSUQFOlTJmKym2Eh3EboQjvnbuVcVCtbVyJszIK3A/
HZSMTbdtCpPJ+CMYXI4btQJ0wA/DWq1gL8p/mOi0VVPw4E3xKZFdXpRjA/GykKsgGolIOMzKZuEbU8ZT
EwVwD/9x3OofY0lAriyALcNWcVz4vwJNLY0Rno/IsWiwLIBpLC0txt2mgWNoeH69mreXFLclZmDXFLaP
6PURPp4BTVOwsDC/VgIaETdRYnt6gK6pAXJsDPpSUyV7icaybqLtjMbcn3ZAYr5/A7q1BRhzF7htVgkb
oMBW9CqVMdZgAFKtBpYggPJ4YPiWQeg0t0QQwwQhhH/OQdjpBDInB+grV8CZnBzDEZAzdapzxr3Z2RCu
rwcyNxeYhgbAVEUxGocIUYEHprNDJjPxeZhITwfkbJSJY/no6JFlb1YWMHV1wHTb5TpxCtdAAWMxyycj
GWM3jfL6ZXKq1Z96VarYx64OcX7eJ7uN8Pl8MNlhEnuVe2IY889l+ttx8+VLeabmO91GY9vcfeM9HoFr
3MOrntid38hMMEXhM6cCAAAAAElFTkSuQmCC
</value>
</data>
<data name="toolbarExit.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
@ -244,15 +244,15 @@
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAhRJREFUOE+lU0tr
E1EYvVFxpXtXQn6AImKjoIhokP4F22K6UHTvUhcutGhBqyDaiEKgLkrpAxUSLUjSphjbNGmoycwkM5lH
MonGjQuplFo5zrmQ0Bm768CBO/c758z3mpAIPPkhcXo/xLAIiQvbEGGGD4SEJSAyf0Mi0fdGLAc1vffi
oHixfu0g2g/C+JU4ia3pcxI8844xcnY1KA6IlH3niCc4i83nYfy+dwgbt/dJ8Mw7xsgh12dCVwb+TEY8
8mGoY5eRSowg+X4G72YnMTd+F6XRqIyRI026mbBmpkZ3EnLjN1BYy2Njog/u/aMSqlZBOvMJi8+uSw65
1FAr6MT6mKLyOIqVfA7HT0WwPXde4mf8GDo/vsFpmPjwMYnSw0uSS43MojgkVDaJdX6eGYPlGHBbTs+E
Bt87LbTaDShaGfMTI5JLDbViZVBsstNsVjadhO3U4bgW3LaDgdiwhOuJm64N09GRXUhJLjXU+gyWFlOo
2zWZhdM0ceVqTOJE5IxnFINp61j9kvYb7Cwh//YpanXVM6lKMo2shiG/TGPD1KDMx/0l7Gyi8STqTWAZ
Vb0C3SMbVtUTERpqpopqvYJOvN/fxOAYC69uYimXwdr6KrRaWZpphgf9K5qzt/4fIzcquEjKo4vITo2i
VFiAUs6hnnmNzsv+3Repu5J7WuWeyV5+pq4Je8KSOB3OmeCZd3J1A88/Nus6r/DgkxoAAAAASUVORK5C
E1EYvVHoSvddCfkBioiNgiKiQfoXbIvpQtG9S1240KIFrYJoIwqBuihiW1RItCBJm2Ja06ShJjOTzCMz
ySQaNy6kUlrlOOdCQmfaXQcO3LnfOWe+14RE4MmPiFMHIUZFSJzfgggz3BcSdQGR+RcSiYHXYiWo6b0X
h8Xz9at9aN8P43fiBLbenpXgmXeMkbOnQXFIpOzb/Z7gDDafhfHn7iFs3DogwTPvGCOHXJ8JXRnYno54
5MNQJy4hlRhD8sMM3s9OY27yDkrjURkjR5p0M2HNTI3uJOQmr6OwlsfG1ADce0ckVK2CdOYzFp9ekxxy
qaFW0In1MUXlURRf8zkcOxnB37lzEr/iR9H5+R1Ow8LHT0mUHlyUXGpkFsURobJJrPPLzATqjgG35fRM
aPCj00Kr3YCilTE/NSa51FArlofFJjvNZmXTSdiOCcetw207GIqNSrieuOnasBwd2YWU5FJDrc9gaTEF
067JLJymhctXYhLHI6c9oxgsW8fqctpvsLOE/LsnqJmqZ1KVZBrVG4b8Mo0NS4MyH/eXsLOJxuOoN4EV
VPUKdI9s1KueiNBQs1RUzQo68UF/E4NjLLy8gaVcBmvrq9BqZWmmGR70b2jO3tw9Rm5UcJGUhxeQfTOO
UmEBSjkHM/MKnReDey9SdyX3tco9k/38TF0T9oQlcTqcM8Ez7+TqBp7/Jgc6o8D7AAMAAAAASUVORK5C
YII=
</value>
</data>

View File

@ -129,6 +129,12 @@
<DesignTime>True</DesignTime>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Include="SettingsForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="SettingsForm.Designer.cs">
<DependentUpon>SettingsForm.cs</DependentUpon>
</Compile>
<EmbeddedResource Include="MainForm.resx">
<DependentUpon>MainForm.cs</DependentUpon>
<SubType>Designer</SubType>
@ -151,6 +157,10 @@
<SubType>Designer</SubType>
<DependentUpon>AboutForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="SettingsForm.resx">
<SubType>Designer</SubType>
<DependentUpon>SettingsForm.cs</DependentUpon>
</EmbeddedResource>
<Content Include="ros.ico" />
</ItemGroup>
<ItemGroup>

73
GUI/SettingsForm.Designer.cs generated Normal file
View File

@ -0,0 +1,73 @@
namespace RosTEGUI
{
partial class SettingsForm
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.listboxSelection = new System.Windows.Forms.ListBox();
this.SuspendLayout();
//
// listboxSelection
//
this.listboxSelection.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.listboxSelection.Cursor = System.Windows.Forms.Cursors.Hand;
this.listboxSelection.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed;
this.listboxSelection.FormattingEnabled = true;
this.listboxSelection.ItemHeight = 45;
this.listboxSelection.Items.AddRange(new object[] {
"test1",
"test2",
"test3",
"test4",
"test5",
"test6",
"test7",
"test8"});
this.listboxSelection.Location = new System.Drawing.Point(12, 12);
this.listboxSelection.Name = "listboxSelection";
this.listboxSelection.Size = new System.Drawing.Size(74, 362);
this.listboxSelection.TabIndex = 0;
this.listboxSelection.DrawItem += new System.Windows.Forms.DrawItemEventHandler(this.listboxSelection_DrawItem);
//
// SettingsForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(443, 391);
this.Controls.Add(this.listboxSelection);
this.Name = "SettingsForm";
this.Text = "SettingsForm";
this.Load += new System.EventHandler(this.SettingsForm_Load);
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.ListBox listboxSelection;
}
}

49
GUI/SettingsForm.cs Normal file
View File

@ -0,0 +1,49 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace RosTEGUI
{
public partial class SettingsForm : Form
{
public SettingsForm()
{
InitializeComponent();
}
private void SettingsForm_Load(object sender, EventArgs e)
{
listboxSelection.ItemHeight = listboxSelection.Height / listboxSelection.Items.Count;
}
private void listboxSelection_DrawItem(object sender, DrawItemEventArgs e)
{
if ((e.State & DrawItemState.Selected) == DrawItemState.Selected)
{
e.Graphics.FillRectangle(Brushes.LightBlue, e.Bounds);
}
else
{
e.Graphics.FillRectangle(Brushes.LightYellow, e.Bounds);
}
StringFormat strfmt = new StringFormat();
strfmt.Alignment = StringAlignment.Center;
strfmt.LineAlignment = StringAlignment.Center;
e.Graphics.DrawString(listboxSelection.Items[e.Index].ToString(),
this.Font,
Brushes.Black,
e.Bounds.X + e.Bounds.Width / 2,
e.Bounds.Y + e.Bounds.Height / 2,
strfmt);
e.DrawFocusRectangle();
}
}
}

120
GUI/SettingsForm.resx Normal file
View File

@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>