You've already forked v8-code-style
mirror of
https://github.com/1C-Company/v8-code-style.git
synced 2026-05-21 02:19:05 +02:00
G5V8DT-24189 При добавлении обработчика события или команды автоматически размещать его в соответствующей области
This commit is contained in:
@@ -37,6 +37,7 @@ Import-Package: com._1c.g5.ides.ui.texteditor.xtext.embedded;version="[6.0.0,7.0
|
||||
com._1c.g5.v8.dt.core.filesystem;version="[6.0.0,7.0.0)",
|
||||
com._1c.g5.v8.dt.core.model;version="[6.0.0,7.0.0)",
|
||||
com._1c.g5.v8.dt.core.platform;version="[11.0.0,12.0.0)",
|
||||
com._1c.g5.v8.dt.form.model;version="[11.1.0,12.0.0)",
|
||||
com._1c.g5.v8.dt.lcore.ui.texteditor;version="[1.1.0,2.0.0)",
|
||||
com._1c.g5.v8.dt.mcore;version="[7.0.0,8.0.0)",
|
||||
com._1c.g5.v8.dt.metadata.mdclass;version="[9.0.0,10.0.0)",
|
||||
|
||||
@@ -369,10 +369,10 @@
|
||||
</fix>
|
||||
</extension>
|
||||
<extension
|
||||
point="com._1c.g5.v8.dt.bsl.ui.bslModuleInformationService">
|
||||
<bslModuleInformationService
|
||||
class="com.e1c.v8codestyle.internal.bsl.ui.services.BslModuleRegionsService">
|
||||
</bslModuleInformationService>
|
||||
point="com._1c.g5.v8.dt.bsl.ui.bslModuleTextInsertInfoService">
|
||||
<bslModuleTextInsertInfoService
|
||||
class="com.e1c.v8codestyle.internal.bsl.ui.services.BslModuleRegionsInfoService">
|
||||
</bslModuleTextInsertInfoService>
|
||||
</extension>
|
||||
|
||||
</plugin>
|
||||
|
||||
+4
-4
@@ -60,7 +60,7 @@ public final class BslModuleOffsets
|
||||
}
|
||||
|
||||
/**
|
||||
* Start offset of module region
|
||||
* Returns start offset of module region
|
||||
*
|
||||
* @return offset before region declaration
|
||||
*/
|
||||
@@ -70,7 +70,7 @@ public final class BslModuleOffsets
|
||||
}
|
||||
|
||||
/**
|
||||
* End offset of module region
|
||||
* Returns end offset of module region
|
||||
*
|
||||
* @return offset after region declaration
|
||||
*/
|
||||
@@ -80,7 +80,7 @@ public final class BslModuleOffsets
|
||||
}
|
||||
|
||||
/**
|
||||
* Before end offset inside module region
|
||||
* Returns before end offset inside module region
|
||||
*
|
||||
* @return offset before end of region declaration
|
||||
*/
|
||||
@@ -133,7 +133,7 @@ public final class BslModuleOffsets
|
||||
}
|
||||
|
||||
/**
|
||||
* Get module region information by suffix if exists
|
||||
* Returns module region information by suffix if exists
|
||||
*
|
||||
* @param suffix {@link String} suffix of declared name module region
|
||||
* @return {@link BslModuleOffsets} if suffix exists, {@code null} otherwise
|
||||
|
||||
+8
-8
@@ -3,7 +3,7 @@
|
||||
*/
|
||||
package com.e1c.v8codestyle.internal.bsl.ui.services;
|
||||
|
||||
import com._1c.g5.v8.dt.bsl.common.IBslModuleInformation;
|
||||
import com._1c.g5.v8.dt.bsl.common.IBslModuleTextInsertInfo;
|
||||
import com._1c.g5.v8.dt.bsl.model.Module;
|
||||
|
||||
/**
|
||||
@@ -11,21 +11,21 @@ import com._1c.g5.v8.dt.bsl.model.Module;
|
||||
*
|
||||
* @author Kuznetsov Nikita
|
||||
*/
|
||||
public class BslModuleRegionInformation
|
||||
implements IBslModuleInformation
|
||||
public class BslModuleRegionsInfo
|
||||
implements IBslModuleTextInsertInfo
|
||||
{
|
||||
private final int insertPosition;
|
||||
private final Module module;
|
||||
private final String regionName;
|
||||
|
||||
/**
|
||||
* {@link BslModuleRegionInformation} constructor
|
||||
* {@link BslModuleRegionsInfo} constructor
|
||||
*
|
||||
* @param insertPosition
|
||||
* @param insertPosition <code>int</code> insertion offset, cannot be negative
|
||||
* @param module current {@link Module}, cannot be <code>null</code>
|
||||
* @param regionName
|
||||
* @param regionName {@link String} region name, can be <code>null</code>
|
||||
*/
|
||||
public BslModuleRegionInformation(int insertPosition, Module module, String regionName)
|
||||
public BslModuleRegionsInfo(int insertPosition, Module module, String regionName)
|
||||
{
|
||||
this.insertPosition = insertPosition;
|
||||
this.module = module;
|
||||
@@ -45,7 +45,7 @@ public class BslModuleRegionInformation
|
||||
}
|
||||
|
||||
/**
|
||||
* Get region name
|
||||
* Returns region name
|
||||
*
|
||||
* @return {@link String} region name, can be <code>null</code>
|
||||
*/
|
||||
+14
-13
@@ -26,8 +26,8 @@ import org.eclipse.xtext.ui.editor.model.IXtextDocument;
|
||||
|
||||
import com._1c.g5.v8.dt.bsl.common.EventItemType;
|
||||
import com._1c.g5.v8.dt.bsl.common.IBslModuleEventData;
|
||||
import com._1c.g5.v8.dt.bsl.common.IBslModuleInformation;
|
||||
import com._1c.g5.v8.dt.bsl.common.IBslModuleInformationService;
|
||||
import com._1c.g5.v8.dt.bsl.common.IBslModuleTextInsertInfo;
|
||||
import com._1c.g5.v8.dt.bsl.common.IBslModuleTextInsertInfoService;
|
||||
import com._1c.g5.v8.dt.bsl.model.Module;
|
||||
import com._1c.g5.v8.dt.bsl.model.RegionPreprocessor;
|
||||
import com._1c.g5.v8.dt.bsl.model.util.BslUtil;
|
||||
@@ -38,21 +38,22 @@ import com._1c.g5.v8.dt.common.PreferenceUtils;
|
||||
import com._1c.g5.v8.dt.common.StringUtils;
|
||||
import com._1c.g5.v8.dt.core.platform.IV8Project;
|
||||
import com._1c.g5.v8.dt.core.platform.IV8ProjectManager;
|
||||
import com._1c.g5.v8.dt.form.model.FormPackage;
|
||||
import com._1c.g5.v8.dt.mcore.NamedElement;
|
||||
import com._1c.g5.v8.dt.metadata.mdclass.ScriptVariant;
|
||||
import com.e1c.v8codestyle.bsl.ModuleStructureSection;
|
||||
|
||||
/**
|
||||
* Implementation of {@link IBslModuleInformationService}
|
||||
* Module regions related implementation of {@link IBslModuleTextInsertInfoService}
|
||||
*
|
||||
* @author Kuznetsov Nikita
|
||||
*/
|
||||
public class BslModuleRegionsService
|
||||
implements IBslModuleInformationService
|
||||
public class BslModuleRegionsInfoService
|
||||
implements IBslModuleTextInsertInfoService
|
||||
{
|
||||
@Override
|
||||
public IBslModuleInformation getInformation(IXtextDocument document, Module module, int defaultPosition,
|
||||
IBslModuleEventData data)
|
||||
public IBslModuleTextInsertInfo getEventHandlerTextInsertInfo(IXtextDocument document, Module module,
|
||||
int defaultPosition, IBslModuleEventData data)
|
||||
{
|
||||
if (!(data instanceof BslModuleEventData))
|
||||
{
|
||||
@@ -80,16 +81,16 @@ public class BslModuleRegionsService
|
||||
{
|
||||
regionName = suffix.isEmpty() ? declaredRegionName : (declaredRegionName + suffix);
|
||||
}
|
||||
return new BslModuleRegionInformation(offset, module, regionName);
|
||||
return new BslModuleRegionsInfo(offset, module, regionName);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String wrap(IBslModuleInformation moduleInformation, String content)
|
||||
public String wrap(IBslModuleTextInsertInfo moduleTextInsertInfo, String content)
|
||||
{
|
||||
if (moduleInformation instanceof BslModuleRegionInformation)
|
||||
if (moduleTextInsertInfo instanceof BslModuleRegionsInfo)
|
||||
{
|
||||
BslModuleRegionInformation moduleRegionInformation = (BslModuleRegionInformation)moduleInformation;
|
||||
Module module = moduleInformation.getModule();
|
||||
BslModuleRegionsInfo moduleRegionInformation = (BslModuleRegionsInfo)moduleTextInsertInfo;
|
||||
Module module = moduleTextInsertInfo.getModule();
|
||||
String regionName = moduleRegionInformation.getRegionName();
|
||||
if (module != null && regionName != null)
|
||||
{
|
||||
@@ -286,7 +287,7 @@ public class BslModuleRegionsService
|
||||
{
|
||||
while ((eventOwner = eventOwner.eContainer()) != null)
|
||||
{
|
||||
if (eventOwner instanceof NamedElement && eventOwner.eClass().getName().equals("Table")) //$NON-NLS-1$
|
||||
if (eventOwner.eClass() == FormPackage.Literals.TABLE)
|
||||
{
|
||||
return ((NamedElement)eventOwner).getName();
|
||||
}
|
||||
Reference in New Issue
Block a user