1 /* 2 * PixelPerfectEditor, importDialog module 3 * 4 * Copyright 2017, under Boost License 5 * 6 * by Laszlo Szeremi 7 */ 8 9 module importDialog; 10 11 import PixelPerfectEngine.concrete.window; 12 import PixelPerfectEngine.graphics.common; 13 14 import std.conv; 15 16 import converterdialog; 17 18 public class ImportDialog : Window { 19 Label label1; 20 TextBox bitmapID; 21 TextBox paletteID; 22 Label label2; 23 CheckBox chkBPal; 24 RadioButtonGroup radioButtonGroup1; 25 Button buttonOk; 26 Button buttonClose; 27 ConverterDialog c; 28 this(ConverterDialog c){ 29 super(Coordinate(0, 0, 225, 225), "Import bitmap"d); 30 label1 = new Label("ID:"d, "label1", Coordinate(5, 22, 70, 40)); 31 bitmapID = new TextBox(""d, "bitmapID", Coordinate(80, 20, 220, 40)); 32 paletteID = new TextBox("default"d, "paletteID", Coordinate(80, 45, 220, 65)); 33 label2 = new Label("Palette:"d, "label2", Coordinate(5, 47, 75, 65)); 34 chkBPal = new CheckBox("Import palette from file"d, "chkBPal", Coordinate(5, 70, 220, 90)); 35 radioButtonGroup1 = new RadioButtonGroup("Bitdepth:"d, "radioButtonGroup1", Coordinate(5, 95, 220, 195),[ "1bit"d, 36 "4bit"d, "8bit"d, "16bit"d, "32bit"d], 16, 0); 37 buttonOk = new Button("Ok"d, "buttonOk", Coordinate(145, 200, 220, 220)); 38 buttonClose = new Button("Close"d, "buttonClose", Coordinate(65, 200, 135, 220)); 39 addElement(label1, EventProperties.MOUSE); 40 addElement(bitmapID, EventProperties.MOUSE); 41 addElement(paletteID, EventProperties.MOUSE); 42 addElement(label2, EventProperties.MOUSE); 43 addElement(chkBPal, EventProperties.MOUSE); 44 addElement(radioButtonGroup1, EventProperties.MOUSE); 45 addElement(buttonOk, EventProperties.MOUSE); 46 buttonOk.onMouseLClickRel = &buttonOk_mouseLClickRel; 47 buttonClose.onMouseLClickRel = &buttonClose_mouseLClickRel; 48 addElement(buttonClose, EventProperties.MOUSE); 49 this.c = c; 50 } 51 private void buttonOk_mouseLClickRel(Event ev) { 52 string bitDepth; 53 switch(radioButtonGroup1.value){ 54 case 1: 55 bitDepth = "4bit"; 56 break; 57 case 2: 58 bitDepth = "8bit"; 59 break; 60 case 3: 61 bitDepth = "16bit"; 62 break; 63 case 4: 64 bitDepth = "32bit"; 65 break; 66 default: 67 bitDepth = "1bit"; 68 break; 69 } 70 c.singleImport(to!string(bitmapID.getText()), to!string(paletteID.getText()), chkBPal.value, bitDepth); 71 close(); 72 } 73 private void buttonClose_mouseLClickRel(Event ev){ 74 close(); 75 } 76 }