コード例 #1
0
        private bool SaveFileIfNeeded()
        {
            var shouldExit  = false;
            var madeChanges = Document.HistoryCount > 0;

            if (madeChanges)
            {
                var result = NaroMessage.Show(
                    "You made changes. Do you want to save them?",
                    "NaroCAD", MessageBoxButtons.YesNoCancel);
                if (result == DialogResult.Cancel)
                {
                    shouldExit = true;
                }
                if (result == DialogResult.Yes)
                {
                    Inputs[InputNames.FileSaveDialog].Send(NotificationNames.SetFilter, FilterNaroXml);
                    var dialogResult =
                        Inputs[InputNames.FileSaveDialog].GetData(NotificationNames.ShowSaveAs).Get <DialogResult>();
                    if (dialogResult == DialogResult.OK)
                    {
                        var fileName = Inputs[InputNames.FileSaveDialog].GetData(NotificationNames.GetFile).Text;
                        SaveCommonCodes.SaveToFile(fileName, Document);
                    }
                }
            }
            return(shouldExit);
        }
コード例 #2
0
        public override void OnActivate()
        {
            base.OnActivate();
            if (Document.HistoryCount <= 0)
            {
                LoadDefaultTemplate();
                return;
            }
            var result = NaroMessage.Show(
                @"Do you want to save your work?",
                @"NaroCAD",
                MessageBoxButtons.YesNoCancel);

            if (result == DialogResult.Cancel)
            {
                BackToNeutralModifier();
                return;
            }
            if (result == DialogResult.No)
            {
                LoadDefaultTemplate();
                return;
            }

            const string inputName = InputNames.FileSaveDialog;

            Send(inputName, NotificationNames.SetFilter,
                 "Naro Xml Document (*.naroxml)|*.naroxml|STEP Files|*.step");
            Send(inputName, NotificationNames.ShowSaveAs);
            var fileName = GetData(inputName, NotificationNames.GetFile);

            SaveCommonCodes.SaveToFile(fileName, Document);

            LoadDefaultTemplate();
        }
コード例 #3
0
        private void SaveFile()
        {
            Inputs[InputNames.FileSaveDialog].Send(NotificationNames.SetFilter, FilterNaroXml);
            var fileName = Inputs[InputNames.FileSaveDialog].GetData(NotificationNames.GetFile).Get <string>();

            if (string.IsNullOrEmpty(fileName))
            {
                var dialogResult =
                    Inputs[InputNames.FileSaveDialog].GetData(NotificationNames.ShowSaveAs).Get <DialogResult>();
                if (dialogResult == DialogResult.OK)
                {
                    fileName = Inputs[InputNames.FileSaveDialog].GetData(NotificationNames.GetFile).Text;
                }
            }
            SaveCommonCodes.SaveToFile(fileName, Document);
        }
コード例 #4
0
        private bool SaveFile()
        {
            Inputs[InputNames.FileSaveDialog].Send(NotificationNames.SetFilter, FilterNaroXml);
            var fileName = Inputs[InputNames.FileSaveDialog].GetData(NotificationNames.GetFile).Get <string>();

            if (string.IsNullOrEmpty(fileName))
            {
                var dialogResult =
                    Inputs[InputNames.FileSaveDialog].GetData(NotificationNames.ShowSaveAs).Get <DialogResult>();
                if (dialogResult == DialogResult.OK)
                {
                    fileName = Inputs[InputNames.FileSaveDialog].GetData(NotificationNames.GetFile).Text;
                    SaveCommonCodes.SaveToFile(fileName, Document);
                    return(true);
                }
                Document.ResetHistory();
                BackToNeutralModifier();
                return(false);
            }
            return(false);
        }
コード例 #5
0
        private void OnReceiveView(DataPackage data)
        {
            Inputs[InputNames.FileSaveDialog].Send(NotificationNames.SetFilter, FilterNaroXml);
            var fileName = Inputs[InputNames.FileSaveDialog].GetData(NotificationNames.GetFile).Get <string>();

            if (string.IsNullOrEmpty(fileName))
            {
                var dialogResult = DialogResult.Cancel;
                try
                {
                    dialogResult = Inputs[InputNames.FileSaveDialog].GetData(NotificationNames.ShowSaveAs).Get <DialogResult>();
                }
                catch { }

                if (dialogResult == DialogResult.OK)
                {
                    fileName = Inputs[InputNames.FileSaveDialog].GetData(NotificationNames.GetFile).Text;
                }
            }
            SaveCommonCodes.SaveToFile(fileName, Document);
            Document.ResetHistory();
            BackToNeutralModifier();
        }
コード例 #6
0
        public override void OnActivate()
        {
            base.OnActivate();
            Inputs[InputNames.FileSaveDialog].Send(NotificationNames.SetFilter, FilterNaroXml);
            var fileName = Inputs[InputNames.FileSaveDialog].GetData(NotificationNames.GetFile).Get <string>();

            if (string.IsNullOrEmpty(fileName))
            {
                var dialogResult = DialogResult.Cancel;
                try
                {
                    dialogResult = Inputs[InputNames.FileSaveDialog].GetData(NotificationNames.ShowSaveAs).Get <DialogResult>();
                }
                catch { }

                if (dialogResult == DialogResult.OK)
                {
                    fileName = Inputs[InputNames.FileSaveDialog].GetData(NotificationNames.GetFile).Text;
                }
            }
            SaveCommonCodes.SaveToFile(fileName, Document);

            BackToNeutralModifier();
        }
コード例 #7
0
 public void Save(string path)
 {
     SaveCommonCodes.SaveToFile(path, Document);
 }