Example #1
0
            private void DisplayRestoring()
            {
                String game = SAVE.manager.GetRestoredGame();

                DrawTitle("Restoring game " + game);
                bool completed = SAVE.manager.RestoreCompleted();

                GUILayout.BeginHorizontal();
                GUI.enabled = completed;
                if (completed)
                {
                    GUILayout.Label("Restore complete");
                }
                else
                {
                    GUILayout.Label("Restoring...");
                }
                GUILayout.FlexibleSpace();
                if (GUILayout.Button("CLOSE"))
                {
                    display = DISPLAY.HIDDEN;
                }
                GUI.enabled = true;
                GUILayout.EndHorizontal();
            }
Example #2
0
        /// <summary>
        /// ディスプレイリストを初期化する
        /// </summary>
        public void InitdispList()
        {
            sendStartCmd = string.Empty;
            repeat       = false;
            sendOfs      = 0;

            _dispCnt = Screen.AllScreens.Length;
            dispList = new DISPLAY[_dispCnt];
            int i = 0;

            foreach (Screen item in Screen.AllScreens)
            {
                dispList[i]            = new DISPLAY();
                dispList[i]._name      = item.DeviceName;
                dispList[i]._no        = i;
                dispList[i]._pos[0]    = item.Bounds.X;
                dispList[i]._pos[1]    = item.Bounds.Y;
                dispList[i]._size[0]   = item.Bounds.Width;
                dispList[i]._size[1]   = item.Bounds.Height;
                dispList[i]._moviePath = string.Empty;
                dispList[i].err        = true;
                dispList[i].errMsg     = "[" + i + "]設定無し";

                i++;
            }
        }
Example #3
0
 private void SetDisplay(DISPLAY display)
 {
     if (display == DISPLAY.HOME)
     {
         btnThem.Enabled      = true;
         btnSua.Enabled       = false;
         btnXoa.Enabled       = false;
         txtTenCa.ReadOnly    = true;
         dgvTableShow.Enabled = true;
     }
     else if (display == DISPLAY.INSERTING)
     {
         btnThem.Enabled      = false;
         btnSua.Enabled       = false;
         btnXoa.Enabled       = false;
         txtTenCa.ReadOnly    = false;
         dgvTableShow.Enabled = false;
     }
     else if (display == DISPLAY.EDITING)
     {
         btnThem.Enabled      = false;
         btnSua.Enabled       = false;
         btnXoa.Enabled       = false;
         txtTenCa.ReadOnly    = false;
         dgvTableShow.Enabled = false;
     }
     else if (display == DISPLAY.CELL_CLICKED)
     {
         btnThem.Enabled      = true;
         btnSua.Enabled       = true;
         btnXoa.Enabled       = true;
         txtTenCa.ReadOnly    = true;
         dgvTableShow.Enabled = true;
     }
 }
Example #4
0
        //public void CallTimerCallback(Object stateInfo)
        //{
        //    if (_stream != 0)
        //    {

        //        System.Drawing.Bitmap bmp = vis.CreateSpectrumLine(_stream, _imgWidth, _imgHeight, System.Drawing.Color.Green, System.Drawing.Color.Red, System.Drawing.Color.Transparent, 2, 3, false, false, false);

        //        this.Dispatcher.BeginInvoke(DispatcherPriority.Background, (Action)(delegate()
        //        {
        //            ImageSource imgSrc = IMPUtils.ImageToBitmapImage(bmp);

        //            this.Source = imgSrc;
        //        }));
        //    }
        //    else
        //        this.Source = null;
        //}

        #endregion Events

        #region Methods

        private void CheckOnStateChanged()
        {
            DISPLAY display         = Display;
            int     width           = (int)Width;
            int     height          = (int)Height;
            bool    isStreamPlaying = IsPlaying;

            if (isStreamPlaying && IsVisible && display != DISPLAY.NONE && _timer.IsEnabled == false)
            {
                _timer.Start();
            }
            else if ((isStreamPlaying == false || IsVisible == false || display == DISPLAY.NONE) && _timer.IsEnabled == true)
            {
                _timer.Stop();
                int    stride = width * 3;
                byte[] pixels = new byte[height * stride];

                List <System.Windows.Media.Color> colors = new List <System.Windows.Media.Color>();
                colors.Add(System.Windows.Media.Colors.Transparent);
                BitmapPalette myPalette = new BitmapPalette(colors);

                // make an empty image to make it clickable
                this.Source = BitmapSource.Create(
                    width, height,
                    96, 96,
                    PixelFormats.Indexed1,
                    myPalette,
                    pixels,
                    stride);
            }
        }
Example #5
0
            private void DisplayRestore()
            {
                InitStyles();

                String[] games = SAVE.manager.GetBackupSetNameArray();

                GUILayout.BeginVertical();
                DrawTitle("Restore game");
                restoreListscrollPosition = GUILayout.BeginScrollView(restoreListscrollPosition, false, true, GUI.skin.horizontalScrollbar, GUI.skin.verticalScrollbar, GUI.skin.box, GUILayout.Height(155));
                selectedGameToRestore     = GUILayout.SelectionGrid(selectedGameToRestore, games, 1, GUILayout.Width(SELECTION_GRID_WIDTH));
                String game = games[selectedGameToRestore];

                GUILayout.EndScrollView();
                BackupSet backupSet = SAVE.manager.GetBackupSetForName(games[selectedGameToRestore]);

                String[] backups = backupSet.GetBackupsAsArray();
                GUILayout.Label("From backup", HighLogic.Skin.label);
                backupListscrollPosition = GUILayout.BeginScrollView(backupListscrollPosition, false, true, GUI.skin.horizontalScrollbar, GUI.skin.verticalScrollbar, GUI.skin.box, GUILayout.Height(205));
                selectedBackupToRestore  = GUILayout.SelectionGrid(selectedBackupToRestore, backups, 1, GUILayout.Width(SELECTION_GRID_WIDTH));
                String backup = backups.Length > 0?backups[selectedBackupToRestore]:"";

                GUILayout.EndScrollView();
                SAVE.configuration.backupBeforeRestore = GUILayout.Toggle(SAVE.configuration.backupBeforeRestore, " Create a backup before restore");
                SAVE.configuration.disabled            = GUILayout.Toggle(SAVE.configuration.disabled, " Temporary disable backups until restart");
                GUILayout.BeginHorizontal();
                GUI.enabled   = backups.Length > 0;
                deleteEnabled = GUILayout.Toggle(deleteEnabled, "");
                GUI.enabled   = backups.Length > 0 && deleteEnabled;
                if (GUILayout.Button("Delete", STYLE_DELETE_BUTTON))
                {
                    SAVE.manager.DeleteBackup(backupSet, backup);
                }
                if (GUILayout.Button("Erase Backup", STYLE_DELETE_BUTTON))
                {
                    SAVE.manager.EraseBackupSet(backupSet);
                    display       = DISPLAY.HIDDEN;
                    deleteEnabled = false;
                }
                GUI.enabled = true;
                GUILayout.FlexibleSpace();
                if (GUILayout.Button("Cancel"))
                {
                    display       = DISPLAY.HIDDEN;
                    deleteEnabled = false;
                }
                GUI.enabled = backups.Length > 0;
                if (GUILayout.Button("RESTORE"))
                {
                    if (SAVE.manager.RestoreGame(game, backup))
                    {
                        display       = DISPLAY.RESTORING;
                        deleteEnabled = false;
                    }
                }
                GUI.enabled = true;
                GUILayout.EndHorizontal();
                GUILayout.EndVertical();
            }
Example #6
0
        static void OnDisplayChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            DISPLAY newVal = (DISPLAY)e.NewValue;

            SpectrumAnalyzer s = d as SpectrumAnalyzer;

            //s._display = newVal;

            s.CheckOnStateChanged();
        }
Example #7
0
            private bool DrawDisplayToggle(String text, DISPLAY display)
            {
                bool b = GUILayout.Toggle(this.display == display, text, GUI.skin.button);

                if (b)
                {
                    this.display = display;
                }
                return(b);
            }
Example #8
0
        private void ExtractValues(string elementName, XmlReader reader)
        {
            for (int i = 0; i < reader.AttributeCount; ++i)
            {
                reader.MoveToAttribute(i);

                string name  = reader.Name;
                string value = reader.Value;

                if (SRC.Equals(name))
                {
                    this.src = value;
                }
                else if (CAT.Equals(name))
                {
                    this.category = value;
                }
                else if (DISPLAY.Equals(name))
                {
                    this.display = Display.FromString(value);
                }
                else if (ID.Equals(name))
                {
                    this.id = value;
                }
                else if (PRIORITY.Equals(name))
                {
                    this.priority = int.Parse(value);
                }
                else if (SYMBOL_HEIGHT.Equals(name))
                {
                    this.height = XmlUtils.ParseNonNegativeInteger(name, value) * displayModel.ScaleFactor;
                }
                else if (SYMBOL_PERCENT.Equals(name))
                {
                    this.percent = XmlUtils.ParseNonNegativeInteger(name, value);
                }
                else if (SYMBOL_SCALING.Equals(name))
                {
                    this.scaling = FromValue(value);
                }
                else if (SYMBOL_WIDTH.Equals(name))
                {
                    this.width = XmlUtils.ParseNonNegativeInteger(name, value) * displayModel.ScaleFactor;
                }
                else
                {
                    throw XmlUtils.CreateXmlReaderException(elementName, name, value, i);
                }
            }
        }
Example #9
0
        void _timer_Tick(object sender, EventArgs e)
        {
            int     stream  = Stream;
            int     width   = (int)Width;
            int     height  = (int)Height;
            DISPLAY display = Display;

            if (stream != 0)
            {
                System.Drawing.Bitmap bmp = null;

                switch (display)
                {
                case DISPLAY.SPECTRUM_LINE:
                    bmp = vis.CreateSpectrumLine(stream, width, height, _color, _color2, System.Drawing.Color.Transparent, 5, 3, false, false, false);
                    break;

                case DISPLAY.WAVE_FORM:
                    bmp = vis.CreateSpectrumWave(stream, width, height, _color, _color2, System.Drawing.Color.Transparent, 1, false, false, false);
                    break;
                }

                if (bmp != null)
                {
                    using (MemoryStream ms = new MemoryStream())
                    {
                        bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
                        System.Windows.Media.Imaging.BitmapImage bImg = new System.Windows.Media.Imaging.BitmapImage();
                        bImg.BeginInit();
                        bImg.StreamSource = new MemoryStream(ms.ToArray());
                        bImg.EndInit();
                        this.Source = bImg;
                    }
                }
            }
            else
            {
                this.Source = null;
            }
        }
Example #10
0
 private void DisplayStatus()
 {
     InitStyles();
     //
     DrawTitle("Games");
     statusListscrollPosition = GUILayout.BeginScrollView(statusListscrollPosition, GUI.skin.box, GUILayout.Height(Screen.height - 100));
     foreach (BackupSet set in SAVE.manager)
     {
         GUILayout.BeginHorizontal();
         GUILayout.Label(set.name, STYLE_BACKUPSET_STATUS_NAME);
         GUILayout.Label(set.status.ToString(), STYLE_BACKUPSET_STATUS);
         GUI.enabled = SAVE.manager.RestoreCompleted() && SAVE.manager.BackupsCompleted() && set.status != BackupSet.STATUS.NONE;
         if (GUILayout.Button("Restore", STYLE_RECOVER_BUTTON))
         {
             String[] sets = SAVE.manager.GetBackupSetNameArray();
             selectedGameToRestore = IndexOf(set.name, sets);
             display = DISPLAY.RESTORE;
         }
         GUI.enabled = true;
         GUILayout.EndHorizontal();
     }
     GUILayout.EndScrollView();
 }
Example #11
0
 private void DisplayClone()
 {
     InitStyles();
     //
     DrawTitle("Games");
     cloneListscrollPosition = GUILayout.BeginScrollView(cloneListscrollPosition, GUI.skin.box, GUILayout.Height(Screen.height - 100));
     foreach (BackupSet set in SAVE.manager)
     {
         GUILayout.BeginHorizontal();
         GUILayout.Label(set.name, STYLE_BACKUPSET_CLONE_NAME);
         GUILayout.FlexibleSpace();
         if (GUILayout.Button("Clone", STYLE_RECOVER_BUTTON))
         {
             selectedGameToClone    = set.name;
             cloneFromBackupEnabled = set.Latest() != null;
             cloneFromBackup        = cloneFromBackupEnabled;
             cloneGameInto          = set.name + "-clone";
             display = DISPLAY.CLONING;
         }
         GUI.enabled = true;
         GUILayout.EndHorizontal();
     }
     GUILayout.EndScrollView();
 }
Example #12
0
        private void ExtractValues(string elementName, XmlReader reader)
        {
            this.repeatGap   = REPEAT_GAP_DEFAULT * displayModel.ScaleFactor;
            this.repeatStart = REPEAT_START_DEFAULT * displayModel.ScaleFactor;

            for (int i = 0; i < reader.AttributeCount; ++i)
            {
                reader.MoveToAttribute(i);

                string name  = reader.Name;
                string value = reader.Value;

                if (SRC.Equals(name))
                {
                    this.src = value;
                }
                else if (DISPLAY.Equals(name))
                {
                    this.display = Display.FromString(value);
                }
                else if (DY.Equals(name))
                {
                    this.dy = float.Parse(value) * displayModel.ScaleFactor;
                }
                else if (ALIGN_CENTER.Equals(name))
                {
                    this.alignCenter = bool.Parse(value);
                }
                else if (CAT.Equals(name))
                {
                    this.category = value;
                }
                else if (PRIORITY.Equals(name))
                {
                    this.priority = int.Parse(value);
                }
                else if (REPEAT.Equals(name))
                {
                    this.repeat = bool.Parse(value);
                }
                else if (REPEAT_GAP.Equals(name))
                {
                    this.repeatGap = float.Parse(value) * displayModel.ScaleFactor;
                }
                else if (REPEAT_START.Equals(name))
                {
                    this.repeatStart = float.Parse(value) * displayModel.ScaleFactor;
                }
                else if (ROTATE.Equals(name))
                {
                    this.rotate = bool.Parse(value);
                }
                else if (SYMBOL_HEIGHT.Equals(name))
                {
                    this.height = XmlUtils.ParseNonNegativeInteger(name, value) * displayModel.ScaleFactor;
                }
                else if (SYMBOL_PERCENT.Equals(name))
                {
                    this.percent = XmlUtils.ParseNonNegativeInteger(name, value);
                }
                else if (SYMBOL_SCALING.Equals(name))
                {
                    this.scaling = FromValue(value);
                }
                else if (SYMBOL_WIDTH.Equals(name))
                {
                    this.width = XmlUtils.ParseNonNegativeInteger(name, value) * displayModel.ScaleFactor;
                }
                else
                {
                    throw XmlUtils.CreateXmlReaderException(elementName, name, value, i);
                }
            }
        }
 /// <summary>
 /// 创建新的 DISPLAY 对象。
 /// </summary>
 /// <param name="uSERID">USERID 的初始值。</param>
 public static DISPLAY CreateDISPLAY(decimal uSERID)
 {
     DISPLAY dISPLAY = new DISPLAY();
     dISPLAY.USERID = uSERID;
     return dISPLAY;
 }
Example #14
0
            private void DisplayCloning()
            {
                InitStyles();
                //
                //
                DrawTitle("Cloning");
                GUILayout.BeginHorizontal();
                GUILayout.Label("Game ");
                GUILayout.Label(selectedGameToClone, STYLE_BACKUPSET_CLONE_NAME);
                GUILayout.FlexibleSpace();
                GUILayout.EndHorizontal();
                GUILayout.BeginHorizontal();
                GUILayout.Label("From  ");
                cloneFromBackup = !GUILayout.Toggle(!cloneFromBackup, " game  ");
                GUI.enabled     = cloneFromBackupEnabled;
                cloneFromBackup = GUILayout.Toggle(cloneFromBackup, " backup  ");
                GUI.enabled     = true;
                GUILayout.FlexibleSpace();
                GUILayout.EndHorizontal();
                GUILayout.BeginHorizontal();
                GUILayout.Label("Into ");
                bool cloneExists = FileOperations.DirectoryExists(BackupManager.SAVE_ROOT + "/" + cloneGameInto);

                if (cloneExists)
                {
                    STYLE_NAME_TEXTFIELD.normal.textColor = Color.red;
                }
                else
                {
                    STYLE_NAME_TEXTFIELD.normal.textColor = Color.white;
                }
                cloneGameInto = GUILayout.TextField(cloneGameInto, STYLE_NAME_TEXTFIELD);
                STYLE_NAME_TEXTFIELD.normal.textColor = Color.white;
                GUILayout.FlexibleSpace();
                GUILayout.EndHorizontal();
                GUI.enabled  = cloneFromBackupEnabled;
                cloneBackups = GUILayout.Toggle(cloneBackups, "Include backups");
                GUI.enabled  = true;
                GUILayout.BeginHorizontal();
                GUILayout.FlexibleSpace();
                GUI.enabled = !cloneExists;
                if (GUILayout.Button("Clone", GUI.skin.button))
                {
                    display = DISPLAY.HIDDEN;
                    String backupRootFolder = SAVE.configuration.backupPath + "/" + name;
                    if (cloneFromBackup)
                    {
                        SAVE.manager.CloneGameFromBackup(selectedGameToClone, cloneGameInto);
                    }
                    else
                    {
                        SAVE.manager.CloneGame(selectedGameToClone, cloneGameInto);
                    }
                    if (cloneBackups)
                    {
                        SAVE.manager.CloneBackup(selectedGameToClone, cloneGameInto);
                    }
                }
                GUI.enabled = true;
                if (GUILayout.Button("Cancel", GUI.skin.button))
                {
                    display = DISPLAY.CLONE;
                }
                GUILayout.EndHorizontal();
            }
Example #15
0
        private void ExtractValues(IGraphicFactory graphicFactory, DisplayModel displayModel, string elementName, XmlReader reader)
        {
            FontFamily fontFamily = FontFamily.Default;
            FontStyle  fontStyle  = FontStyle.Normal;

            for (int i = 0; i < reader.AttributeCount; ++i)
            {
                reader.MoveToAttribute(i);

                string name  = reader.Name;
                string value = reader.Value;

                if (K.Equals(name))
                {
                    this.textKey = TextKey.getInstance(value);
                }
                else if (POSITION.Equals(name))
                {
                    this.position = value.ToPosition();
                }
                else if (CAT.Equals(name))
                {
                    this.category = value;
                }
                else if (DISPLAY.Equals(name))
                {
                    this.display = value.ToDisplay();
                }
                else if (DY.Equals(name))
                {
                    this.dy = float.Parse(value) * displayModel.ScaleFactor;
                }
                else if (FONT_FAMILY.Equals(name))
                {
                    fontFamily = value.ToFontFamily();
                }
                else if (FONT_STYLE.Equals(name))
                {
                    fontStyle = value.ToFontStyle();
                }
                else if (FONT_SIZE.Equals(name))
                {
                    this.fontSize = XmlUtils.ParseNonNegativeFloat(name, value) * displayModel.ScaleFactor;
                }
                else if (FILL.Equals(name))
                {
                    this.fill.Color = XmlUtils.GetColor(value);
                }
                else if (PRIORITY.Equals(name))
                {
                    this.priority = int.Parse(value);
                }
                else if (STROKE.Equals(name))
                {
                    this.stroke.Color = XmlUtils.GetColor(value);
                }
                else if (STROKE_WIDTH.Equals(name))
                {
                    this.stroke.StrokeWidth = XmlUtils.ParseNonNegativeFloat(name, value) * displayModel.ScaleFactor;
                }
                else if (SYMBOL_ID.Equals(name))
                {
                    this.symbolId = value;
                }
                else
                {
                    throw XmlUtils.CreateXmlReaderException(elementName, name, value, i);
                }
            }

            this.fill.SetTypeface(fontFamily, fontStyle);
            this.stroke.SetTypeface(fontFamily, fontStyle);

            XmlUtils.CheckMandatoryAttribute(elementName, K, this.textKey);
        }
 /// <summary>
 /// 架构中不存在 DISPLAY 的注释。
 /// </summary>
 public void AddToDISPLAY(DISPLAY dISPLAY)
 {
     base.AddObject("DISPLAY", dISPLAY);
 }
Example #17
0
            private void Window(int id)
            {
                Configuration config = SAVE.configuration;

                DISPLAY lastDisplay = display;

                BackupManager manager = SAVE.manager;

                try
                {
                    GUILayout.BeginVertical();
                    GUILayout.BeginHorizontal();
                    GUI.enabled = manager.RestoreCompleted() && manager.BackupsCompleted() && manager.NumberOfBackupSets() > 0;
                    if (GUILayout.Button("Backup All", GUI.skin.button))
                    {
                        display = DISPLAY.BACKUP;
                        // don't start another backup if there is still a backup running
                        if (SAVE.manager.BackupsCompleted())
                        {
                            backupCount     = manager.BackupAll();
                            backupCloseTime = DateTime.Now.AddSeconds(BACKUP_DISPLAY_REMAINS_OPEN_TIME);
                        }
                        else
                        {
                            Log.Warning("won't start another backup until all backups finished");
                        }
                    }
                    GUI.enabled = true;
                    // Restore
                    GUI.enabled = manager.NumberOfBackupSets() > 0;
                    if (DrawDisplayToggle("Restore", DISPLAY.RESTORE) && !SAVE.manager.RestoreCompleted())
                    {
                        display = DISPLAY.RESTORING;
                    }
                    GUI.enabled = true;
                    // Configure
                    DrawDisplayToggle("Configure", DISPLAY.CONFIGURE);
                    // Status
                    DrawDisplayToggle("Status", DISPLAY.STATUS);
                    // Hide
                    DrawDisplayToggle("Clone", DISPLAY.CLONE);
                    // Hide
                    DrawDisplayToggle("Hide", DISPLAY.HIDDEN);
                    GUILayout.EndHorizontal();
                    //
                    switch (display)
                    {
                    case DISPLAY.BACKUP:
                        DisplayBackup();
                        break;

                    case DISPLAY.RESTORING:
                        DisplayRestoring();
                        break;

                    case DISPLAY.RESTORE:
                        DisplayRestore();
                        break;

                    case DISPLAY.CONFIGURE:
                        DisplayConfigure();
                        break;

                    case DISPLAY.STATUS:
                        DisplayStatus();
                        break;

                    case DISPLAY.CLONE:
                        DisplayClone();
                        break;

                    case DISPLAY.CLONING:
                        DisplayCloning();
                        break;

                    case DISPLAY.HIDDEN:
                        // are we ingame? then make the window disappear (this shouldn't be neccessary, but just to be sure...)
                        if (HighLogic.LoadedScene == GameScenes.MAINMENU)
                        {
                            SetVisible(true);
                        }
                        else
                        {
                            SetVisible(false);
                        }
                        break;
                    }
                    GUILayout.EndVertical();

                    if (display == DISPLAY.BACKUP && backupCloseTime < DateTime.Now && manager.Queuedbackups() == 0)
                    {
                        display = DISPLAY.HIDDEN;
                    }
                }
                catch (Exception e)
                {
                    Log.Error("exception: " + e.Message);
                }

                // resize GUI if display changes
                if (lastDisplay != display)
                {
                    this.bounds.height = 0;
                }
                if (S.A.V.E.src.util.io.ConfigNodeIO.fixedWindowFloating)
                {
                    GUI.DragWindow();
                }
            }