Skip to content

Commit

Permalink
When a template file is opened in editor -
Browse files Browse the repository at this point in the history
1. Rename its tab upon renaming from Settings/Templating
2. Removing the tab upon deletion from Settings/Templating
(reference #62)
  • Loading branch information
rat-moonshine committed Nov 23, 2017
1 parent 7b6458e commit 882699b
Show file tree
Hide file tree
Showing 2 changed files with 96 additions and 78 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -18,58 +18,56 @@
////////////////////////////////////////////////////////////////////////////////
package actionScripts.plugin.templating
{
import actionScripts.valueObjects.TemplateVO;

import flash.display.DisplayObject;
import flash.events.Event;

import flash.events.Event;
import mx.collections.ArrayCollection;

import mx.controls.Alert;
import mx.core.FlexGlobals;
import mx.events.CloseEvent;
import mx.managers.PopUpManager;
import mx.resources.ResourceManager;

import __AS3__.vec.Vector;

import actionScripts.events.AddTabEvent;
import actionScripts.events.EditorPluginEvent;
import actionScripts.events.GeneralEvent;
import actionScripts.events.GlobalEventDispatcher;
import actionScripts.events.NewFileEvent;
import actionScripts.events.NewProjectEvent;
import actionScripts.events.OpenFileEvent;
import actionScripts.events.ProjectEvent;
import actionScripts.events.RenameApplicationEvent;
import actionScripts.events.TreeMenuItemEvent;
import actionScripts.factory.FileLocation;
import actionScripts.plugin.IMenuPlugin;
import actionScripts.plugin.PluginBase;
import actionScripts.plugin.actionscript.as3project.vo.AS3ProjectVO;
import actionScripts.plugin.settings.ISettingsProvider;
import actionScripts.plugin.settings.vo.ISetting;
import actionScripts.plugin.settings.vo.StaticLabelSetting;
import actionScripts.plugin.templating.event.TemplateEvent;
import actionScripts.plugin.templating.settings.NewTemplateSetting;
import actionScripts.plugin.templating.settings.TemplateSetting;
import actionScripts.plugin.templating.settings.renderer.NewTemplateRenderer;
import actionScripts.plugin.templating.settings.renderer.TemplateRenderer;
import actionScripts.ui.IContentWindow;
import actionScripts.ui.editor.BasicTextEditor;
import actionScripts.ui.menu.vo.MenuItem;
import actionScripts.ui.renderers.FTETreeItemRenderer;
import actionScripts.ui.tabview.CloseTabEvent;
import actionScripts.utils.TextUtil;
import actionScripts.utils.UtilsCore;
import actionScripts.valueObjects.AS3ClassAttributes;
import actionScripts.valueObjects.ConstantsCoreVO;
import actionScripts.valueObjects.FileWrapper;

import components.popup.NewASFilePopup;
import components.popup.NewCSSFilePopup;
import components.popup.NewFilePopup;
import components.popup.NewMXMLFilePopup;
import mx.core.FlexGlobals;
import mx.events.CloseEvent;
import mx.managers.PopUpManager;
import mx.resources.ResourceManager;

import __AS3__.vec.Vector;

import actionScripts.events.AddTabEvent;
import actionScripts.events.EditorPluginEvent;
import actionScripts.events.GeneralEvent;
import actionScripts.events.GlobalEventDispatcher;
import actionScripts.events.NewFileEvent;
import actionScripts.events.NewProjectEvent;
import actionScripts.events.OpenFileEvent;
import actionScripts.events.ProjectEvent;
import actionScripts.events.RenameApplicationEvent;
import actionScripts.events.TreeMenuItemEvent;
import actionScripts.factory.FileLocation;
import actionScripts.plugin.IMenuPlugin;
import actionScripts.plugin.PluginBase;
import actionScripts.plugin.actionscript.as3project.vo.AS3ProjectVO;
import actionScripts.plugin.settings.ISettingsProvider;
import actionScripts.plugin.settings.vo.ISetting;
import actionScripts.plugin.settings.vo.StaticLabelSetting;
import actionScripts.plugin.templating.event.TemplateEvent;
import actionScripts.plugin.templating.settings.NewTemplateSetting;
import actionScripts.plugin.templating.settings.TemplateSetting;
import actionScripts.plugin.templating.settings.renderer.NewTemplateRenderer;
import actionScripts.plugin.templating.settings.renderer.TemplateRenderer;
import actionScripts.ui.IContentWindow;
import actionScripts.ui.editor.BasicTextEditor;
import actionScripts.ui.menu.vo.MenuItem;
import actionScripts.ui.renderers.FTETreeItemRenderer;
import actionScripts.ui.tabview.CloseTabEvent;
import actionScripts.utils.TextUtil;
import actionScripts.utils.UtilsCore;
import actionScripts.valueObjects.AS3ClassAttributes;
import actionScripts.valueObjects.ConstantsCoreVO;
import actionScripts.valueObjects.FileWrapper;
import actionScripts.valueObjects.TemplateVO;

import components.popup.NewASFilePopup;
import components.popup.NewCSSFilePopup;
import components.popup.NewFilePopup;
import components.popup.NewMXMLFilePopup;

/*
Templating plugin
Expand Down Expand Up @@ -606,7 +604,23 @@ package actionScripts.plugin.templating
{
var customNewLocation:FileLocation = custom.fileBridge.parent.resolvePath(newFileName +(!custom.fileBridge.isDirectory ? ".template" : ""));

if (!custom.fileBridge.isDirectory) custom.fileBridge.moveTo(customNewLocation, true);
if (!custom.fileBridge.isDirectory)
{
// we need to update file location of the (if any) opened instance
// of the file template
for each (var tab:IContentWindow in model.editors)
{
var ed:BasicTextEditor = tab as BasicTextEditor;
if (ed
&& ed.currentFile
&& ed.currentFile.fileBridge.nativePath == custom.fileBridge.nativePath)
{
ed.currentFile = customNewLocation;
ed.label = newFileName;
}
}
custom.fileBridge.moveTo(customNewLocation, true);
}
else dispatcher.dispatchEvent(new RenameApplicationEvent(RenameApplicationEvent.RENAME_APPLICATION_FOLDER, custom, customNewLocation));

rdr.setting.customTemplate = customNewLocation;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,34 +19,34 @@
package actionScripts.ui.editor
{
import flash.display.DisplayObject;
import flash.events.Event;
import mx.containers.Canvas;
import mx.core.FlexGlobals;
import mx.events.FlexEvent;
import mx.managers.IFocusManagerComponent;
import mx.managers.PopUpManager;
import actionScripts.controllers.DataAgent;
import actionScripts.events.ChangeEvent;
import actionScripts.events.GlobalEventDispatcher;
import actionScripts.events.RefreshTreeEvent;
import actionScripts.events.SaveFileEvent;
import actionScripts.factory.FileLocation;
import actionScripts.locator.IDEModel;
import actionScripts.plugin.actionscript.as3project.vo.AS3ProjectVO;
import actionScripts.plugin.console.ConsoleOutputEvent;
import actionScripts.ui.IContentWindow;
import actionScripts.ui.editor.text.DebugHighlightManager;
import actionScripts.ui.editor.text.TextEditor;
import actionScripts.ui.editor.text.vo.SearchResult;
import actionScripts.valueObjects.ConstantsCoreVO;
import actionScripts.valueObjects.ProjectVO;
import actionScripts.valueObjects.URLDescriptorVO;
import components.popup.FileSavePopup;
import components.popup.SelectOpenedFlexProject;
import components.views.project.TreeView;
import flash.events.Event;
import mx.containers.Canvas;
import mx.core.FlexGlobals;
import mx.events.FlexEvent;
import mx.managers.IFocusManagerComponent;
import mx.managers.PopUpManager;
import actionScripts.controllers.DataAgent;
import actionScripts.events.ChangeEvent;
import actionScripts.events.GlobalEventDispatcher;
import actionScripts.events.RefreshTreeEvent;
import actionScripts.events.SaveFileEvent;
import actionScripts.factory.FileLocation;
import actionScripts.locator.IDEModel;
import actionScripts.plugin.actionscript.as3project.vo.AS3ProjectVO;
import actionScripts.plugin.console.ConsoleOutputEvent;
import actionScripts.ui.IContentWindow;
import actionScripts.ui.editor.text.DebugHighlightManager;
import actionScripts.ui.editor.text.TextEditor;
import actionScripts.ui.editor.text.vo.SearchResult;
import actionScripts.valueObjects.ConstantsCoreVO;
import actionScripts.valueObjects.ProjectVO;
import actionScripts.valueObjects.URLDescriptorVO;
import components.popup.FileSavePopup;
import components.popup.SelectOpenedFlexProject;
import components.views.project.TreeView;

public class BasicTextEditor extends Canvas implements IContentWindow, IFocusManagerComponent
{
Expand Down Expand Up @@ -94,6 +94,10 @@ package actionScripts.ui.editor
{
return file;
}
public function set currentFile(value:FileLocation):void
{
file = value;
}

public function get text():String
{
Expand Down

0 comments on commit 882699b

Please sign in to comment.