コード例 #1
0
        internal void NewPattern(object sender, EventArgs e)
        {
            if (retableBackgroundWorker.IsBusy)
            {
                retableBackgroundWorker.CancelAsync();
                are.WaitOne();
            }
            else if (ModifiedWarnCancel())
            {
                return;
            }
            DialogResult result;
            ImportForm   iform = new ImportForm();

            result = iform.ShowDialog(this);
            if (result == System.Windows.Forms.DialogResult.Cancel)
            {
                return;
            }
            table = new CharacterPattern(iform.PatternNumber, iform.PatternScanLines, iform.PatternWidth);
            //table.width = iform.PatternWidth;
            table.PropertyChanged += new PropertyChangedEventHandler(table_PropertyChanged);
            fileName = Properties.Resources.Untitled;
            Modified = false;
            ReinitializeTable();
            //MessageBox.Show(String.Format("{0} x {1}", table.width, table.ScanLines));
        }
コード例 #2
0
 public ExportForm(CharacterPattern tab, String filename)
 {
     InitializeComponent();
     table = tab;
     textBoxFontName.Text              = String.Format("{0} ch {1} x {2}", table.PatternCount, table.width, table.ScanLines);
     textBoxHeaderFilename.Text        = Path.GetDirectoryName(filename) + "\\" + Path.GetFileNameWithoutExtension(filename) + ".h";
     labelBrackets.Text                = String.Format("[][{0}]", table.width);
     comboBoxDisplayType.SelectedIndex = 1;
 }
コード例 #3
0
 public TableForm()
 {
     table = new CharacterPattern();
     table.PropertyChanged += new PropertyChangedEventHandler(table_PropertyChanged);
     InitializeComponent();
     Modified = false;
     saveFileDialog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
     openFileDialog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
 }
コード例 #4
0
ファイル: PatternEditor.cs プロジェクト: g-ana/Font-Editor
        public PatternEditor(CharacterPattern table, int pattern) : this()
        {
            this.table        = table;
            this.patternIndex = pattern;
            patternWidth      = table.width;
            //this.pattern = table[pattern];
            Text += String.Format(" \u2013 0x{0:X}", pattern);

            Height = table.ScanLines * 32 + extraHeight;
        }
コード例 #5
0
        internal void Open()
        {
            if (retableBackgroundWorker.IsBusy)
            {
                retableBackgroundWorker.CancelAsync();
                are.WaitOne();
            }
            else if (ModifiedWarnCancel())
            {
                return;
            }
            DialogResult result;

            openFileDialog.Title    = Properties.Resources.OpenTitle;
            openFileDialog.Filter   = Properties.Resources.FontProjectFilter;
            openFileDialog.FileName = "";
            result = openFileDialog.ShowDialog(this);
            if (result == System.Windows.Forms.DialogResult.Cancel)
            {
                return;
            }
            foreach (PatternEditor e in editors.Values)
            {
                e.Close();
            }
            editors.Clear();
            try
            {
                using (Stream file = openFileDialog.OpenFile())
                    table = (CharacterPattern) new BinaryFormatter().Deserialize(file);
                //MessageBox.Show(String.Format("{0} x {1}", table.width, table.ScanLines));
            }
            catch (SystemException e)
            {
                Debug.WriteLine(e, "FntEditor");
                MessageBox.Show(this,
                                String.Format(Properties.Resources.IOErrorMsg, openFileDialog.FileName), //e.Message),
                                Properties.Resources.IOErrorTitle, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

            table.PropertyChanged += new PropertyChangedEventHandler(table_PropertyChanged);
            fileName = openFileDialog.FileName;
            Modified = false;
            ReinitializeTable();
        }
コード例 #6
0
        internal void ImportFnt(object sender, EventArgs e)
        {
            if (retableBackgroundWorker.IsBusy)
            {
                retableBackgroundWorker.CancelAsync();
                are.WaitOne();
            }
            else if (ModifiedWarnCancel())
            {
                return;
            }
            DialogResult result;

            openFileDialog.Title    = Properties.Resources.ImportTitle;
            openFileDialog.Filter   = Properties.Resources.FontFilter;
            openFileDialog.FileName = "";
            result = openFileDialog.ShowDialog(this);
            if (result == System.Windows.Forms.DialogResult.Cancel)
            {
                return;
            }
            ImportForm iform = new ImportForm();

            result = iform.ShowDialog(this);
            if (result == System.Windows.Forms.DialogResult.Cancel)
            {
                return;
            }
            try
            {
                table    = new CharacterPattern(iform.PatternNumber, iform.PatternScanLines, openFileDialog.FileName);
                fileName = Path.GetFileNameWithoutExtension(openFileDialog.FileName);
                table.PropertyChanged += new PropertyChangedEventHandler(table_PropertyChanged);
                Modified = true;
                ReinitializeTable();
            }
            catch (IOException ex)
            {
                // Warn the user of EOF, MissingNO or other.
                Debug.WriteLine(ex, "FntEditor");
                MessageBox.Show(this,
                                String.Format(Properties.Resources.IOErrorMsg, ex.Message),
                                Properties.Resources.IOErrorTitle, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
コード例 #7
0
 public void SwapPattern(CharacterPattern pattern)
 {
     characterPatterns = pattern;
 }
コード例 #8
0
 public TableForm(string file, int scanLines, int number)
     : this()
 {
     if (retableBackgroundWorker.IsBusy)
     {
         retableBackgroundWorker.CancelAsync();
         are.WaitOne();
     }
     if (Path.GetExtension(file).Equals(".fnp"))
     {
         try
         {
             using (Stream fileStream = new FileStream(file, FileMode.Open))
             {
                 BinaryFormatter formatter = new BinaryFormatter();
                 formatter.AssemblyFormat = System.Runtime.Serialization.Formatters.FormatterAssemblyStyle.Simple;
                 table = formatter.Deserialize(fileStream) as CharacterPattern;
                 table.PropertyChanged += new PropertyChangedEventHandler(table_PropertyChanged);
                 fileName = file;
                 Modified = false;
             }
             if (table == null)
             {
                 MessageBox.Show(this, Properties.Resources.SerializationErrorMsg,
                                 Properties.Resources.IOErrorTitle, MessageBoxButtons.OK, MessageBoxIcon.Information);
                 table = new CharacterPattern();
                 table.PropertyChanged += new PropertyChangedEventHandler(table_PropertyChanged);
                 fileName = Properties.Resources.Untitled;
                 Modified = false;
             }
         }
         catch (SystemException e)
         {
             // For Sysinternal DebugView support
             Debug.WriteLine(e, "FntEditor");
             MessageBox.Show(this,
                             String.Format(Properties.Resources.IOErrorMsg, file), //e.Message) ,
                             Properties.Resources.IOErrorTitle, MessageBoxButtons.OK, MessageBoxIcon.Error);
         }
     }
     else
     {
         if (scanLines == 0 || number == 0)
         {
             ImportForm   iform  = new ImportForm();
             DialogResult result = iform.ShowDialog();
             try
             {
                 if (result == System.Windows.Forms.DialogResult.OK)
                 {
                     table = new CharacterPattern(iform.PatternNumber, iform.PatternScanLines, file);
                 }
                 table.PropertyChanged += new PropertyChangedEventHandler(table_PropertyChanged);
                 fileName = Path.GetFileNameWithoutExtension(file);
                 Modified = true;
             }
             catch (IOException e)
             {
                 // Warn the user of EOF, MissingNO or other.
                 Debug.WriteLine(e, "FntEditor");
                 MessageBox.Show(this,
                                 String.Format(Properties.Resources.IOErrorMsg, file), //e.Message),
                                 Properties.Resources.IOErrorTitle, MessageBoxButtons.OK, MessageBoxIcon.Error);
             }
         }
         else
         {
             try
             {
                 table = new CharacterPattern(number, scanLines, file);
                 table.PropertyChanged += new PropertyChangedEventHandler(table_PropertyChanged);
                 fileName = Path.GetFileNameWithoutExtension(file);
                 Modified = true;
             }
             catch (IOException e)
             {
                 // Warn the user of EOF, MissingNO or other.
                 Debug.WriteLine(e, "FntEditor");
                 MessageBox.Show(this,
                                 String.Format(Properties.Resources.IOErrorMsg, file), //e.Message),
                                 Properties.Resources.IOErrorTitle, MessageBoxButtons.OK, MessageBoxIcon.Error);
             }
         }
     }
 }
コード例 #9
0
 public TableForm(int scanLines, int number)
     : this()
 {
     table = new CharacterPattern(number, scanLines);
     table.PropertyChanged += new PropertyChangedEventHandler(table_PropertyChanged);
 }