askToSave() public static method

public static askToSave ( bool &dirty, SaveFunction saveToFile, ReturnComboBoxIndexFunction returnCbLevelIndex ) : bool
dirty bool
saveToFile SaveFunction
returnCbLevelIndex ReturnComboBoxIndexFunction
return bool
Example #1
0
        private void cbLevel_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (!UtilsGui.askToSave(ref dirty, saveToFile, returnCbLevelIndex))
            {
                return;
            }
            if (cbLayoutNo.SelectedIndex == -1)
            {
                return;
            }

            curActiveLayout = cbLayoutNo.SelectedIndex;
            curWidth        = ConfigScript.getLevelWidth(curActiveLayout);
            curHeight       = ConfigScript.getLevelHeight(curActiveLayout);

            drawMode          = MapDrawMode.Screens;
            curActiveBlock    = 0;
            activeBlock.Image = screenImages.Images[0];

            updatePanelsVisibility();
            cbLayoutNo.Items.Clear();
            foreach (var lr in ConfigScript.getLevelRecs())
            {
                cbLayoutNo.Items.Add(String.Format("0x{0:X} ({1}x{2})", lr.layoutAddr, lr.width, lr.height));
            }
            UtilsGui.setCbIndexWithoutUpdateLevel(cbLayoutNo, cbLevel_SelectedIndexChanged, curActiveLayout);
            reloadLevelLayer();
        }
Example #2
0
        private void cbLevel_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (cbLayoutNo.SelectedIndex == -1)
            {
                return;
            }
            bool realReload    = sender == cbLayoutNo;
            bool reloadObjects = realReload;

            if (!readOnly && realReload)
            {
                if (!UtilsGui.askToSave(ref dirty, saveToFile, returnCbLevelIndex))
                {
                    return;
                }
            }

            curActiveLayout = cbLayoutNo.SelectedIndex;
            curScale        = cbScale.SelectedIndex + 1; //TODO: normal scale factors;
            cbLayoutNo.Items.Clear();
            foreach (var lr in ConfigScript.levelRecs)
            {
                cbLayoutNo.Items.Add(String.Format("{0}:0x{1:X} ({2}x{3})", lr.name, lr.layoutAddr, lr.width, lr.height));
            }
            UtilsGui.setCbIndexWithoutUpdateLevel(cbLayoutNo, cbLevel_SelectedIndexChanged, curActiveLayout);

            reloadLevel(reloadObjects);
            resizeMapScreen();
            mapScreen.Invalidate();
        }
Example #3
0
        private bool openFile()
        {
            if (!UtilsGui.askToSave(ref dirty, saveToFile, returnCbLevelIndex))
            {
                updateSaveVisibility();
                return(false);
            }
            updateSaveVisibility();
            var f = new OpenFile();

            if (f.ShowDialog() == DialogResult.OK)
            {
                if (!Globals.loadData(OpenFile.fileName, OpenFile.dumpName, OpenFile.configName))
                {
                    Close();
                    return(false);
                }
                setDefaultScale();
                fileLoaded = true;
                resetControls();
                setWindowText();
            }

            if (!fileLoaded)
            {
                return(false);
            }

            return(true);
        }
Example #4
0
 private void SegaBlockEdit_FormClosing(object sender, FormClosingEventArgs e)
 {
     if (!UtilsGui.askToSave(ref dirty, saveFunc, null))
     {
         e.Cancel = true;
     }
 }
Example #5
0
 private void FormMain_FormClosing(object sender, FormClosingEventArgs e)
 {
     if (!UtilsGui.askToSave(ref dirty, saveToFile, returnCbLevelIndex))
     {
         updateSaveVisibility();
         e.Cancel = true;
     }
 }
Example #6
0
 private void bttReload_Click(object sender, EventArgs e)
 {
     if (UtilsGui.askToSave(ref dirty, saveToFile, returnCbLevelIndex))
     {
         reloadLevel(true, true);
         mapScreen.Invalidate();
     }
 }
Example #7
0
 private void bttReload_Click(object sender, EventArgs e)
 {
     if (UtilsGui.askToSave(ref dirty, saveToFile, returnCbLevelIndex))
     {
         Globals.loadData(OpenFile.FileName, OpenFile.DumpName, OpenFile.ConfigName);
         resetControls();
         reloadLevel(true, true);
         mapScreen.Invalidate();
     }
 }
Example #8
0
 private void cbLevelNo_SelectedIndexChanged(object sender, EventArgs e)
 {
     if (!UtilsGui.askToSave(ref dirty, saveToFile, returnCbLevelIndex))
     {
         updateSaveVisibility();
         return;
     }
     curActiveLevelForScreen = cbLevelNo.SelectedIndex;
     resetScreens();
     resetMapScreenSize();
     mapScreen.Invalidate();
 }
Example #9
0
 public void subeditorOpen(Form f, ToolStripItem b, bool showDialog = false)
 {
     if (UtilsGui.askToSave(ref dirty, saveToFile, returnCbLevelIndex))
     {
         updateSaveVisibility();
         b.Enabled     = false;
         f.FormClosed += subeditorClosed(b);
         if (showDialog)
         {
             f.ShowDialog();
         }
         else
         {
             f.Show();
         }
     }
 }
Example #10
0
        private void cbLevel_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (cbLayoutNo.SelectedIndex == -1)
            {
                return;
            }
            bool realReload    = sender == cbLayoutNo;
            bool reloadObjects = realReload;

            if (!readOnly && realReload)
            {
                if (!UtilsGui.askToSave(ref dirty, saveToFile, returnCbLevelIndex))
                {
                    return;
                }
            }

            curActiveLayout = cbLayoutNo.SelectedIndex;
            curScale        = cbScale.SelectedIndex + 1; //TODO: normal scale factors;
            cbLayoutNo.Items.Clear();
            foreach (var lr in ConfigScript.getLevelRecs())
            {
                cbLayoutNo.Items.Add(String.Format("{0} : 0x{1:X}  ({2}x{3})", lr.name, lr.layoutAddr, lr.width, lr.height));
            }
            UtilsGui.setCbIndexWithoutUpdateLevel(cbLayoutNo, cbLevel_SelectedIndexChanged, curActiveLayout);

            if (sender == cbLayoutNo)
            {
                var g = getLevelRecForGameType().group;
                if (g != null)
                {
                    UtilsGui.setCbIndexWithoutUpdateLevel(cbVideoNo, cbLevel_SelectedIndexChanged, g.videoNo);
                    UtilsGui.setCbIndexWithoutUpdateLevel(cbBigBlockNo, cbLevel_SelectedIndexChanged, g.bigBlockNo);
                    UtilsGui.setCbIndexWithoutUpdateLevel(cbBlockNo, cbLevel_SelectedIndexChanged, g.blockNo);
                    UtilsGui.setCbIndexWithoutUpdateLevel(cbPaletteNo, cbLevel_SelectedIndexChanged, g.palNo);
                    reloadLevelLayerData();

                    cbGroup.SelectedIndex = -1;
                }

                reloadScreens();
            }
            reloadLevel(reloadObjects);
            resizeMapScreen();
            mapScreen.Invalidate();
        }
Example #11
0
        private void cbLevel_SelectedIndexChanged(object sender, EventArgs ev)
        {
            if (!UtilsGui.askToSave(ref dirty, saveToFile, returnCbLevelIndex))
            {
                updateSaveVisibility();
                return;
            }
            updateSaveVisibility();
            bool senderIsScale = sender == bttScale;

            changeLevelIndex(!senderIsScale);
            var screen = getActiveScreen();

            if (senderIsScale)
            {
                mapScreen.Size = new Size((int)((screen.width + 2) * bigBlocks[0].Width * curScale), (int)(screen.height * bigBlocks[0].Height * curScale));
                updateBlocksImages();
            }
        }
Example #12
0
        private bool openFile()
        {
            if (!UtilsGui.askToSave(ref dirty, saveToFile, returnCbLevelIndex))
            {
                updateSaveVisibility();
                return(false);
            }
            updateSaveVisibility();
            var f = new OpenFile();

            if (f.ShowDialog() == DialogResult.OK)
            {
                Globals.loadData(OpenFile.FileName, OpenFile.DumpName, OpenFile.ConfigName);
                curScale   = ConfigScript.isBuildScreenFromSmallBlocks() ? 1 : 2;
                fileLoaded = true;
                resetControls();
                setWindowText();
            }
            if (!fileLoaded)
            {
                return(false);
            }
            return(true);
        }
Example #13
0
        private void cbLevel_SelectedIndexChanged(object sender, EventArgs ev)
        {
            if (!UtilsGui.askToSave(ref dirty, saveToFile, returnCbLevelIndex))
            {
                updateSaveVisibility();
                return;
            }
            updateSaveVisibility();
            bool senderIsScale = sender == bttScale;

            changeLevelIndex(!senderIsScale);
            if (senderIsScale)
            {
                if (ConfigScript.getScreenVertical())
                {
                    mapScreen.Size = new Size((int)(ConfigScript.getScreenHeight(curActiveLevelForScreen) * layers[0].blockWidth * curScale), (int)((ConfigScript.getScreenWidth(curActiveLevelForScreen) + 2) * layers[0].blockHeight * curScale));
                }
                else
                {
                    mapScreen.Size = new Size((int)((ConfigScript.getScreenWidth(curActiveLevelForScreen) + 2) * layers[0].blockWidth * curScale), (int)(ConfigScript.getScreenHeight(curActiveLevelForScreen) * layers[0].blockHeight * curScale));
                }
                updateBlocksImages();
            }
        }