Example #1
0
        public static void OpenSource(RemoteSource Source)
        {
            SourceEditor sourcePanel;
            string       resultFile = "";
            string       text       = Source.GetName() + (Source.GetExtension() != "" ? '.' + Source.GetExtension().ToLower() : "");

            Editor.TheEditor.SetStatus("Fetching file " + text + "...");

            new Thread((ThreadStart) delegate
            {
                switch (Source.GetFS())
                {
                case FileSystem.QSYS:
                    resultFile = IBMiUtils.DownloadSourceMember(Source.GetLibrary(), Source.GetObject(), Source.GetName(), Source.GetExtension());
                    break;

                case FileSystem.IFS:
                    resultFile = IBMiUtils.DownloadFile(Source.GetRemoteFile());
                    break;
                }

                if (resultFile != "")
                {
                    TheEditor.SetStatus("Opening file " + text + "...");

                    Source._Local = resultFile;
                    Source.Lock();

                    sourcePanel = new SourceEditor(Source.GetLocalFile(), GetBoundLangType(Source.GetExtension()), Source.GetRecordLength(), !Source.IsEditable());

                    sourcePanel.Tag  = Source;
                    sourcePanel.Text = text;

                    switch (Source.GetFS())
                    {
                    case FileSystem.QSYS:
                        sourcePanel.ToolTipText = Source.GetLibrary() + "/" + Source.GetObject() + ":" + Source.GetName() + "." + Source.GetExtension().ToLower();
                        break;

                    case FileSystem.IFS:
                        sourcePanel.ToolTipText = Source.GetRemoteFile();
                        break;
                    }

                    TheEditor.Invoke((MethodInvoker) delegate
                    {
                        TheEditor.AddTool(sourcePanel, DockState.Document, false);
                    });
                }
                else
                {
                    switch (Source.GetFS())
                    {
                    case FileSystem.QSYS:
                        MessageBox.Show("Unable to download member " + Source.GetLibrary() + "/" + Source.GetObject() + "." + Source.GetName() + ". Please check it exists and that you have access to the remote system.");
                        break;
                    }
                }
            }).Start();
        }
Example #2
0
        public SourceCompareSelect()
        {
            InitializeComponent();

            if (Editor.LastEditing != null)
            {
                RemoteSource src = Editor.LastEditing.Tag as RemoteSource;

                if (src != null)
                {
                    switch (src.GetFS())
                    {
                    case FileSystem.QSYS:
                        newSourceBox.SetSource(src.GetLibrary(), src.GetObject(), src.GetName());
                        oldSourceBox.SetSource("", src.GetObject(), src.GetName());
                        break;

                    case FileSystem.IFS:
                        newSourceBox.SetSource(src.GetRemoteFile());
                        newSourceBox.SetTab(src.GetFS());
                        break;
                    }
                }
            }
        }
Example #3
0
        public SaveAs(RemoteSource MemberInfo = null)
        {
            InitializeComponent();

            if (MemberInfo != null)
            {
                switch (MemberInfo.GetFS())
                {
                case FileSystem.IFS:
                    sourceSelectBox.SetSource(MemberInfo.GetRemoteFile());
                    sourceSelectBox.SetSource("", "", MemberInfo.GetName());
                    break;

                case FileSystem.QSYS:
                    sourceSelectBox.SetSource("", MemberInfo.GetObject(), MemberInfo.GetName());
                    break;
                }
            }
        }
Example #4
0
        public static void OpenSource(RemoteSource source)
        {
            string resultFile = "";
            Thread gothread   = new Thread((ThreadStart) delegate {
                switch (source.GetFS())
                {
                case FileSystem.QSYS:
                    resultFile = IBMiUtils.DownloadMember(source.GetLibrary(), source.GetObject(), source.GetName(), source.GetExtension());
                    break;

                case FileSystem.IFS:
                    resultFile = IBMiUtils.DownloadFile(source.GetRemoteFile());
                    break;
                }

                if (resultFile != "")
                {
                    source._Local = resultFile;
                    //LOCK HERE
                    source.Lock();
                    TheEditor.Invoke((MethodInvoker) delegate
                    {
                        TheEditor.AddSourceEditor(source, GetBoundLangType(source.GetExtension()));
                    });
                }
                else
                {
                    switch (source.GetFS())
                    {
                    case FileSystem.QSYS:
                        MessageBox.Show("Unable to download member " + source.GetLibrary() + "/" + source.GetObject() + "." + source.GetName() + ". Please check it exists and that you have access to the remote system.");
                        break;
                    }
                }
            });

            gothread.Start();
        }
Example #5
0
        public void Save()
        {
            RemoteSource SourceInfo   = (RemoteSource)this.Tag;
            bool         UploadResult = true;

            if (SourceInfo != null)
            {
                if (SourceInfo.IsEditable())
                {
                    if (!SourceInfo._IsBeingSaved)
                    {
                        SourceInfo._IsBeingSaved = true;

                        Editor.TheEditor.SetStatus("Saving " + SourceInfo.GetName() + "..");
                        Thread gothread = new Thread((ThreadStart) delegate
                        {
                            MemberCache.EditsAdd(SourceInfo.GetLibrary(), SourceInfo.GetObject(), SourceInfo.GetName());
                            this.Invoke((MethodInvoker) delegate
                            {
                                File.WriteAllText(SourceInfo.GetLocalFile(), this.GetText(), textEditor.Encoding);
                            });

                            switch (SourceInfo.GetFS())
                            {
                            case FileSystem.QSYS:
                                UploadResult = IBMiUtils.UploadMember(SourceInfo.GetLocalFile(), SourceInfo.GetLibrary(), SourceInfo.GetObject(), SourceInfo.GetName());
                                break;

                            case FileSystem.IFS:
                                UploadResult = IBMiUtils.UploadFile(SourceInfo.GetLocalFile(), SourceInfo.GetRemoteFile());
                                break;
                            }
                            if (UploadResult == false)
                            {
                            }
                            else
                            {
                                this.Invoke((MethodInvoker) delegate
                                {
                                    if (GetParent().Text.EndsWith("*"))
                                    {
                                        GetParent().Text = GetParent().Text.Substring(0, GetParent().Text.Length - 1);
                                    }
                                });
                            }

                            this.Invoke((MethodInvoker) delegate
                            {
                                Editor.TheEditor.SetStatus(SourceInfo.GetName() + " " + (UploadResult ? "" : "not ") + "saved.");
                            });

                            SourceInfo._IsBeingSaved = false;
                        });

                        gothread.Start();
                    }
                }
                else
                {
                    MessageBox.Show("This file is readonly.");
                }
            }
            else
            {
                File.WriteAllText(this.LocalPath, this.GetText(), textEditor.Encoding);
                if (GetParent().Text.EndsWith("*"))
                {
                    GetParent().Text = GetParent().Text.Substring(0, GetParent().Text.Length - 1);
                }
                Editor.TheEditor.SetStatus("File saved locally.");
            }
        }
Example #6
0
        private void Save()
        {
            RemoteSource SourceInfo   = (RemoteSource)this.Tag;
            bool         UploadResult = true;

            if (SourceInfo != null)
            {
                if (SourceInfo.IsEditable())
                {
                    if (!CurrentSaving)
                    {
                        CurrentSaving = true;

                        Editor.TheEditor.SetStatus("Saving " + SourceInfo.GetName() + "..");
                        Thread gothread = new Thread((ThreadStart) delegate
                        {
                            MemberCache.EditsAdd(SourceInfo.GetLibrary(), SourceInfo.GetObject(), SourceInfo.GetName());
                            this.Invoke((MethodInvoker) delegate
                            {
                                File.WriteAllText(SourceInfo.GetLocalFile(), this.GetText(), textEditor.Encoding);
                            });

                            switch (SourceInfo.GetFS())
                            {
                            case FileSystem.QSYS:
                                UploadResult = IBMiUtils.UploadMember(SourceInfo.GetLocalFile(), SourceInfo.GetLibrary(), SourceInfo.GetObject(), SourceInfo.GetName());
                                break;

                            case FileSystem.IFS:
                                UploadResult = IBMiUtils.UploadFile(SourceInfo.GetLocalFile(), SourceInfo.GetRemoteFile());
                                break;
                            }
                            if (UploadResult == false)
                            {
                            }
                            else
                            {
                                this.Invoke((MethodInvoker) delegate
                                {
                                    if (this.Text.EndsWith("*"))
                                    {
                                        this.Text = this.Text.Substring(0, this.Text.Length - 1);
                                    }
                                });
                                DoAction(EditorAction.ParseCode);
                                DoAction(EditorAction.OutlineUpdate);
                            }

                            this.Invoke((MethodInvoker) delegate
                            {
                                Editor.TheEditor.SetStatus(SourceInfo.GetName() + " " + (UploadResult ? "" : "not ") + "saved.");
                            });

                            CurrentSaving = false;
                        });

                        gothread.Start();
                    }
                    else
                    {
                        Editor.TheEditor.SetStatus("Please wait until previous save has finished.");
                    }
                }
                else
                {
                    MessageBox.Show("This file is readonly.");
                }
            }
            else
            {
                File.WriteAllText(this.LocalPath, this.GetText(), textEditor.Encoding);
                if (this.Text.EndsWith("*"))
                {
                    this.Text = this.Text.Substring(0, this.Text.Length - 1);
                }
                Editor.TheEditor.SetStatus("File saved locally.");
            }
        }