Stetic.Project.OnBackendChanged C# (CSharp) Method

OnBackendChanged() private method

private OnBackendChanged ( ApplicationBackend oldBackend ) : void
oldBackend ApplicationBackend
return void
        void OnBackendChanged(ApplicationBackend oldBackend)
        {
            if (oldBackend != null) {
                tmpProjectFile = Path.GetTempFileName ();
                backend.Save (tmpProjectFile);
            }

            backend = app.Backend.CreateProject ();
            backend.SetFrontend (this);

            if (tmpProjectFile != null && File.Exists (tmpProjectFile)) {
                backend.Load (tmpProjectFile, fileName);
                File.Delete (tmpProjectFile);
                tmpProjectFile = null;
            } else if (fileName != null) {
                backend.Load (fileName);
            }

            if (resourceProvider != null)
                backend.ResourceProvider = resourceProvider;

            if (BackendChanged != null)
                BackendChanged (oldBackend);

            if (ProjectReloaded != null)
                ProjectReloaded (this, EventArgs.Empty);
        }