Hook add sprites button up
This commit is contained in:
parent
6408d90821
commit
fad5799c7e
1 changed files with 34 additions and 3 deletions
|
@ -5,6 +5,7 @@ using System.Linq;
|
||||||
using Gtk;
|
using Gtk;
|
||||||
using Ext.SilentorBit;
|
using Ext.SilentorBit;
|
||||||
using System.Drawing.Imaging;
|
using System.Drawing.Imaging;
|
||||||
|
using System.Runtime.ExceptionServices;
|
||||||
|
|
||||||
namespace SpritePacker.GUI
|
namespace SpritePacker.GUI
|
||||||
{
|
{
|
||||||
|
@ -19,6 +20,8 @@ namespace SpritePacker.GUI
|
||||||
private Button openImageButton;
|
private Button openImageButton;
|
||||||
private Button removeImageButton;
|
private Button removeImageButton;
|
||||||
|
|
||||||
|
private SpritePacker spritePacker = new SpritePacker();
|
||||||
|
|
||||||
public MainWindow() : base("SpritePacker GUI")
|
public MainWindow() : base("SpritePacker GUI")
|
||||||
{
|
{
|
||||||
if (!initialised)
|
if (!initialised)
|
||||||
|
@ -72,17 +75,35 @@ namespace SpritePacker.GUI
|
||||||
Filter = spriteListSelectorFilter
|
Filter = spriteListSelectorFilter
|
||||||
};
|
};
|
||||||
spriteListSelector.SelectMultiple = true;
|
spriteListSelector.SelectMultiple = true;
|
||||||
|
spriteListSelector.AddButton("Add Sprites", ResponseType.Ok);
|
||||||
|
spriteListSelector.AddButton("Cancel", ResponseType.Cancel);
|
||||||
|
|
||||||
// Create the ListView to display the added sprites
|
// Create the ListView to display the added sprites
|
||||||
spriteListDisplay = new SpriteListView() { Margin = 10, MarginTop = 5 };
|
spriteListDisplay = new SpriteListView() { Margin = 10, MarginTop = 5 };
|
||||||
spriteListDisplay.AddItem(new Sprite("/home/sbrl/Pictures/Spaghetti.png"));
|
spriteListDisplay.AddItem(new Sprite("/home/sbrl/Pictures/Spaghetti.png"));
|
||||||
|
|
||||||
openImageButton = new Button("Add sprite") { Margin = 10, MarginTop = 0, MarginBottom = 0 };
|
openImageButton = new Button("Add Sprites") { Margin = 10, MarginTop = 0, MarginBottom = 0 };
|
||||||
removeImageButton = new Button("Remove Sprite") { Margin = 10, MarginTop = 0, MarginBottom = 0 };
|
removeImageButton = new Button("Remove Selected Sprites") { Margin = 10, MarginTop = 0, MarginBottom = 0 };
|
||||||
|
openImageButton.Released += (object sender, EventArgs e) => {
|
||||||
|
ResponseType response = (ResponseType)spriteListSelector.Run();
|
||||||
|
spriteListSelector.Hide();
|
||||||
|
switch(response)
|
||||||
|
{
|
||||||
|
case ResponseType.Ok:
|
||||||
|
Action_AddSprite(spriteListSelector.Filenames);
|
||||||
|
break;
|
||||||
|
case ResponseType.DeleteEvent:
|
||||||
|
case ResponseType.Cancel:
|
||||||
|
Console.Error.WriteLine("Ignoring sprite file chooser response {0}.", response);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
throw new Exception($"Unknown sprite file chooser response type {response}.");
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
// Populate the control button row
|
// Populate the control button row
|
||||||
controlButtonRow.PackStart(removeImageButton, true, false, 0);
|
|
||||||
controlButtonRow.PackStart(openImageButton, true, false, 0);
|
controlButtonRow.PackStart(openImageButton, true, false, 0);
|
||||||
|
controlButtonRow.PackStart(removeImageButton, true, false, 0);
|
||||||
|
|
||||||
// Populate the left panel
|
// Populate the left panel
|
||||||
leftPanel.PackStart(controlButtonRow, false, false, 5);
|
leftPanel.PackStart(controlButtonRow, false, false, 5);
|
||||||
|
@ -95,6 +116,16 @@ namespace SpritePacker.GUI
|
||||||
// Add the master container to the window itself
|
// Add the master container to the window itself
|
||||||
Add(masterContainer);
|
Add(masterContainer);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Action_AddSprite(string[] selectedFilenames)
|
||||||
|
{
|
||||||
|
foreach (string filename in selectedFilenames)
|
||||||
|
{
|
||||||
|
Sprite nextSprite = new Sprite(filename);
|
||||||
|
spritePacker.Add(nextSprite);
|
||||||
|
spriteListDisplay.AddItem(nextSprite);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue