Java 类com.intellij.uiDesigner.CaptionSelection 实例源码

项目:intellij-ce-playground    文件:UngroupRowsColumnsAction.java   
protected void actionPerformed(CaptionSelection selection) {
  FormLayout layout = (FormLayout) selection.getContainer().getLayout();
  int[][] oldGroups = selection.isRow() ? layout.getRowGroups() : layout.getColumnGroups();
  List<int[]> newGroups = new ArrayList<int[]>();
  int[] selInts = selection.getSelection();
  for(int[] group: oldGroups) {
    if (!GroupRowsColumnsAction.intersect(group, selInts)) {
      newGroups.add(group);
    }
  }
  int[][] newGroupArray = newGroups.toArray(new int[newGroups.size()][]);
  if (selection.isRow()) {
    layout.setRowGroups(newGroupArray);
  }
  else {
    layout.setColumnGroups(newGroupArray);
  }
}
项目:intellij-ce-playground    文件:GroupRowsColumnsAction.java   
protected void actionPerformed(CaptionSelection selection) {
  FormLayout layout = (FormLayout) selection.getContainer().getLayout();
  int[][] oldGroups = selection.isRow() ? layout.getRowGroups() : layout.getColumnGroups();
  int[][] newGroups = new int[oldGroups.length + 1][];
  System.arraycopy(oldGroups, 0, newGroups, 0, oldGroups.length);
  int[] cellsToGroup = getCellsToGroup(selection);
  newGroups [oldGroups.length] = new int [cellsToGroup.length];
  for(int i=0; i<cellsToGroup.length; i++) {
    newGroups [oldGroups.length] [i] = cellsToGroup [i]+1;
  }
  if (selection.isRow()) {
    layout.setRowGroups(newGroups);
  }
  else {
    layout.setColumnGroups(newGroups);
  }
}
项目:intellij-ce-playground    文件:RowColumnAction.java   
public void update(final AnActionEvent e) {
  final Presentation presentation = e.getPresentation();
  CaptionSelection selection = CaptionSelection.DATA_KEY.getData(e.getDataContext());
  if (selection == null) {
    presentation.setEnabled(false);
  }
  else {
    presentation.setEnabled(selection.getContainer() != null && selection.getFocusedIndex() >= 0);
    if (!selection.isRow()) {
      presentation.setText(myColumnText);
      if (myColumnIcon != null) {
        presentation.setIcon(myColumnIcon);
      }
    }
    else {
      presentation.setText(myRowText);
      if (myRowIcon != null) {
        presentation.setIcon(myRowIcon);
      }
    }
  }
}
项目:tools-idea    文件:UngroupRowsColumnsAction.java   
protected void actionPerformed(CaptionSelection selection) {
  FormLayout layout = (FormLayout) selection.getContainer().getLayout();
  int[][] oldGroups = selection.isRow() ? layout.getRowGroups() : layout.getColumnGroups();
  List<int[]> newGroups = new ArrayList<int[]>();
  int[] selInts = selection.getSelection();
  for(int[] group: oldGroups) {
    if (!GroupRowsColumnsAction.intersect(group, selInts)) {
      newGroups.add(group);
    }
  }
  int[][] newGroupArray = newGroups.toArray(new int[newGroups.size()][]);
  if (selection.isRow()) {
    layout.setRowGroups(newGroupArray);
  }
  else {
    layout.setColumnGroups(newGroupArray);
  }
}
项目:tools-idea    文件:GroupRowsColumnsAction.java   
protected void actionPerformed(CaptionSelection selection) {
  FormLayout layout = (FormLayout) selection.getContainer().getLayout();
  int[][] oldGroups = selection.isRow() ? layout.getRowGroups() : layout.getColumnGroups();
  int[][] newGroups = new int[oldGroups.length + 1][];
  System.arraycopy(oldGroups, 0, newGroups, 0, oldGroups.length);
  int[] cellsToGroup = getCellsToGroup(selection);
  newGroups [oldGroups.length] = new int [cellsToGroup.length];
  for(int i=0; i<cellsToGroup.length; i++) {
    newGroups [oldGroups.length] [i] = cellsToGroup [i]+1;
  }
  if (selection.isRow()) {
    layout.setRowGroups(newGroups);
  }
  else {
    layout.setColumnGroups(newGroups);
  }
}
项目:tools-idea    文件:RowColumnAction.java   
public void update(final AnActionEvent e) {
  final Presentation presentation = e.getPresentation();
  CaptionSelection selection = CaptionSelection.DATA_KEY.getData(e.getDataContext());
  if (selection == null) {
    presentation.setEnabled(false);
  }
  else {
    presentation.setEnabled(selection.getContainer() != null && selection.getFocusedIndex() >= 0);
    if (!selection.isRow()) {
      presentation.setText(myColumnText);
      if (myColumnIcon != null) {
        presentation.setIcon(myColumnIcon);
      }
    }
    else {
      presentation.setText(myRowText);
      if (myRowIcon != null) {
        presentation.setIcon(myRowIcon);
      }
    }
  }
}
项目:consulo-ui-designer    文件:UngroupRowsColumnsAction.java   
@Override
protected void actionPerformed(CaptionSelection selection)
{
    FormLayout layout = (FormLayout) selection.getContainer().getLayout();
    int[][] oldGroups = selection.isRow() ? layout.getRowGroups() : layout.getColumnGroups();
    List<int[]> newGroups = new ArrayList<int[]>();
    int[] selInts = selection.getSelection();
    for(int[] group : oldGroups)
    {
        if(!GroupRowsColumnsAction.intersect(group, selInts))
        {
            newGroups.add(group);
        }
    }
    int[][] newGroupArray = newGroups.toArray(new int[newGroups.size()][]);
    if(selection.isRow())
    {
        layout.setRowGroups(newGroupArray);
    }
    else
    {
        layout.setColumnGroups(newGroupArray);
    }
}
项目:consulo-ui-designer    文件:GroupRowsColumnsAction.java   
@Override
protected void actionPerformed(CaptionSelection selection)
{
    FormLayout layout = (FormLayout) selection.getContainer().getLayout();
    int[][] oldGroups = selection.isRow() ? layout.getRowGroups() : layout.getColumnGroups();
    int[][] newGroups = new int[oldGroups.length + 1][];
    System.arraycopy(oldGroups, 0, newGroups, 0, oldGroups.length);
    int[] cellsToGroup = getCellsToGroup(selection);
    newGroups[oldGroups.length] = new int[cellsToGroup.length];
    for(int i = 0; i < cellsToGroup.length; i++)
    {
        newGroups[oldGroups.length][i] = cellsToGroup[i] + 1;
    }
    if(selection.isRow())
    {
        layout.setRowGroups(newGroups);
    }
    else
    {
        layout.setColumnGroups(newGroups);
    }
}
项目:consulo-ui-designer    文件:GroupRowsColumnsAction.java   
private static int[] getCellsToGroup(CaptionSelection selection)
{
    ArrayList<Integer> cells = new ArrayList<Integer>();
    int[] selectedIndices = selection.getSelection();
    for(int i : selectedIndices)
    {
        if(!selection.getContainer().getGridLayoutManager().isGapCell(selection.getContainer(), selection.isRow(), i))
        {
            cells.add(i);
        }
    }
    int[] result = new int[cells.size()];
    for(int i = 0; i < cells.size(); i++)
    {
        result[i] = cells.get(i).intValue();
    }
    return result;
}
项目:consulo-ui-designer    文件:GridCaptionPanel.java   
@Override
@Nullable
public Object getData(@NotNull Key dataId)
{
    if(GuiEditor.DATA_KEY == dataId)
    {
        return myEditor;
    }
    if(CaptionSelection.DATA_KEY == dataId)
    {
        return new CaptionSelection(mySelectedContainer, myIsRow, getSelectedCells(null), mySelectionModel.getLeadSelectionIndex());
    }
    if(PlatformDataKeys.DELETE_ELEMENT_PROVIDER == dataId)
    {
        return myDeleteProvider;
    }
    return myEditor.getData(dataId);
}
项目:intellij-ce-playground    文件:UngroupRowsColumnsAction.java   
@Override
public void update(final AnActionEvent e) {
  super.update(e);
  CaptionSelection selection = CaptionSelection.DATA_KEY.getData(e.getDataContext());
  if (selection != null) {
    e.getPresentation().setEnabled(selection.getContainer() != null &&
      selection.getContainer().getLayout() instanceof FormLayout &&
      GroupRowsColumnsAction.isGrouped(selection));
  }
}
项目:intellij-ce-playground    文件:GroupRowsColumnsAction.java   
@Override
public void update(final AnActionEvent e) {
  super.update(e);
  CaptionSelection selection = CaptionSelection.DATA_KEY.getData(e.getDataContext());
  if (selection != null) {
    e.getPresentation().setEnabled(selection.getContainer() != null &&
      selection.getContainer().getLayout() instanceof FormLayout &&
      getCellsToGroup(selection).length > 1 &&
      !isGrouped(selection));
  }
}
项目:intellij-ce-playground    文件:GroupRowsColumnsAction.java   
public static boolean isGrouped(final CaptionSelection selection) {
  FormLayout layout = (FormLayout) selection.getContainer().getLayout();
  int[][] groups = selection.isRow() ? layout.getRowGroups() : layout.getColumnGroups();
  final int[] indices = selection.getSelection();
  for (int[] group : groups) {
    if (intersect(group, indices)) return true;
  }
  return false;
}
项目:intellij-ce-playground    文件:GroupRowsColumnsAction.java   
private static int[] getCellsToGroup(CaptionSelection selection) {
  ArrayList<Integer> cells = new ArrayList<Integer>();
  int[] selectedIndices = selection.getSelection();
  for(int i: selectedIndices) {
    if (!selection.getContainer().getGridLayoutManager().isGapCell(selection.getContainer(), selection.isRow(), i)) {
      cells.add(i);
    }
  }
  int[] result = new int[cells.size()];
  for(int i=0; i<cells.size(); i++) {
    result [i] = cells.get(i).intValue();
  }
  return result;
}
项目:intellij-ce-playground    文件:RowColumnAction.java   
public void actionPerformed(final AnActionEvent e) {
  GuiEditor editor = FormEditingUtil.getEditorFromContext(e.getDataContext());
  CaptionSelection selection = CaptionSelection.DATA_KEY.getData(e.getDataContext());
  if (editor == null || selection == null || !editor.ensureEditable()) {
    return;
  }
  actionPerformed(selection);
  selection.getContainer().revalidate();
  editor.refreshAndSave(true);
}
项目:intellij-ce-playground    文件:DeleteAction.java   
public void actionPerformed(final AnActionEvent e) {
  final GuiEditor editor = FormEditingUtil.getEditorFromContext(e.getDataContext());
  CaptionSelection selection = CaptionSelection.DATA_KEY.getData(e.getDataContext());
  if (editor == null || selection == null || selection.getFocusedIndex() < 0) return;
  FormEditingUtil.deleteRowOrColumn(editor, selection.getContainer(), selection.getSelection(), selection.isRow());
  selection.getContainer().revalidate();
}
项目:intellij-ce-playground    文件:DeleteAction.java   
public void update(final AnActionEvent e) {
  final Presentation presentation = e.getPresentation();
  CaptionSelection selection = CaptionSelection.DATA_KEY.getData(e.getDataContext());
  if(selection == null || selection.getContainer() == null){
    presentation.setVisible(false);
    return;
  }
  presentation.setVisible(true);
  if (selection.getSelection().length > 1) {
    presentation.setText(!selection.isRow()
                         ? UIDesignerBundle.message("action.delete.columns")
                         : UIDesignerBundle.message("action.delete.rows"));
  }
  else {
    presentation.setText(!selection.isRow()
                         ? UIDesignerBundle.message("action.delete.column")
                         : UIDesignerBundle.message("action.delete.row"));
  }

  int minCellCount = selection.getContainer().getGridLayoutManager().getMinCellCount();
  if (selection.getContainer().getGridCellCount(selection.isRow()) - selection.getSelection().length < minCellCount) {
    presentation.setEnabled(false);
  }
  else if (selection.getFocusedIndex() < 0) {
    presentation.setEnabled(false);
  }
  else {
    presentation.setEnabled(true);
  }
}
项目:intellij-ce-playground    文件:GridCaptionPanel.java   
@Nullable public Object getData(String dataId) {
  if (GuiEditor.DATA_KEY.is(dataId)) {
    return myEditor;
  }
  if (CaptionSelection.DATA_KEY.is(dataId)) {
    return new CaptionSelection(mySelectedContainer, myIsRow, getSelectedCells(null), mySelectionModel.getLeadSelectionIndex());
  }
  if (PlatformDataKeys.DELETE_ELEMENT_PROVIDER.is(dataId)) {
    return myDeleteProvider;
  }
  return myEditor.getData(dataId);
}
项目:tools-idea    文件:UngroupRowsColumnsAction.java   
@Override
public void update(final AnActionEvent e) {
  super.update(e);
  CaptionSelection selection = CaptionSelection.DATA_KEY.getData(e.getDataContext());
  if (selection != null) {
    e.getPresentation().setEnabled(selection.getContainer() != null &&
      selection.getContainer().getLayout() instanceof FormLayout &&
      GroupRowsColumnsAction.isGrouped(selection));
  }
}
项目:tools-idea    文件:GroupRowsColumnsAction.java   
@Override
public void update(final AnActionEvent e) {
  super.update(e);
  CaptionSelection selection = CaptionSelection.DATA_KEY.getData(e.getDataContext());
  if (selection != null) {
    e.getPresentation().setEnabled(selection.getContainer() != null &&
      selection.getContainer().getLayout() instanceof FormLayout &&
      getCellsToGroup(selection).length > 1 &&
      !isGrouped(selection));
  }
}
项目:tools-idea    文件:GroupRowsColumnsAction.java   
public static boolean isGrouped(final CaptionSelection selection) {
  FormLayout layout = (FormLayout) selection.getContainer().getLayout();
  int[][] groups = selection.isRow() ? layout.getRowGroups() : layout.getColumnGroups();
  final int[] indices = selection.getSelection();
  for (int[] group : groups) {
    if (intersect(group, indices)) return true;
  }
  return false;
}
项目:tools-idea    文件:GroupRowsColumnsAction.java   
private static int[] getCellsToGroup(CaptionSelection selection) {
  ArrayList<Integer> cells = new ArrayList<Integer>();
  int[] selectedIndices = selection.getSelection();
  for(int i: selectedIndices) {
    if (!selection.getContainer().getGridLayoutManager().isGapCell(selection.getContainer(), selection.isRow(), i)) {
      cells.add(i);
    }
  }
  int[] result = new int[cells.size()];
  for(int i=0; i<cells.size(); i++) {
    result [i] = cells.get(i).intValue();
  }
  return result;
}
项目:tools-idea    文件:RowColumnAction.java   
public void actionPerformed(final AnActionEvent e) {
  GuiEditor editor = FormEditingUtil.getEditorFromContext(e.getDataContext());
  CaptionSelection selection = CaptionSelection.DATA_KEY.getData(e.getDataContext());
  if (editor == null || selection == null || !editor.ensureEditable()) {
    return;
  }
  actionPerformed(selection);
  selection.getContainer().revalidate();
  editor.refreshAndSave(true);
}
项目:tools-idea    文件:DeleteAction.java   
public void actionPerformed(final AnActionEvent e) {
  final GuiEditor editor = FormEditingUtil.getEditorFromContext(e.getDataContext());
  CaptionSelection selection = CaptionSelection.DATA_KEY.getData(e.getDataContext());
  if (editor == null || selection == null || selection.getFocusedIndex() < 0) return;
  FormEditingUtil.deleteRowOrColumn(editor, selection.getContainer(), selection.getSelection(), selection.isRow());
  selection.getContainer().revalidate();
}
项目:tools-idea    文件:DeleteAction.java   
public void update(final AnActionEvent e) {
  final Presentation presentation = e.getPresentation();
  CaptionSelection selection = CaptionSelection.DATA_KEY.getData(e.getDataContext());
  if(selection == null || selection.getContainer() == null){
    presentation.setVisible(false);
    return;
  }
  presentation.setVisible(true);
  if (selection.getSelection().length > 1) {
    presentation.setText(!selection.isRow()
                         ? UIDesignerBundle.message("action.delete.columns")
                         : UIDesignerBundle.message("action.delete.rows"));
  }
  else {
    presentation.setText(!selection.isRow()
                         ? UIDesignerBundle.message("action.delete.column")
                         : UIDesignerBundle.message("action.delete.row"));
  }

  int minCellCount = selection.getContainer().getGridLayoutManager().getMinCellCount();
  if (selection.getContainer().getGridCellCount(selection.isRow()) - selection.getSelection().length < minCellCount) {
    presentation.setEnabled(false);
  }
  else if (selection.getFocusedIndex() < 0) {
    presentation.setEnabled(false);
  }
  else {
    presentation.setEnabled(true);
  }
}
项目:tools-idea    文件:GridCaptionPanel.java   
@Nullable public Object getData(String dataId) {
  if (GuiEditor.DATA_KEY.is(dataId)) {
    return myEditor;
  }
  if (CaptionSelection.DATA_KEY.is(dataId)) {
    return new CaptionSelection(mySelectedContainer, myIsRow, getSelectedCells(null), mySelectionModel.getLeadSelectionIndex());
  }
  if (PlatformDataKeys.DELETE_ELEMENT_PROVIDER.is(dataId)) {
    return myDeleteProvider;
  }
  return myEditor.getData(dataId);
}
项目:consulo-ui-designer    文件:UngroupRowsColumnsAction.java   
@RequiredDispatchThread
@Override
public void update(@NotNull final AnActionEvent e)
{
    super.update(e);
    CaptionSelection selection = e.getData(CaptionSelection.DATA_KEY);
    if(selection != null)
    {
        e.getPresentation().setEnabled(selection.getContainer() != null && selection.getContainer().getLayout() instanceof FormLayout && GroupRowsColumnsAction.isGrouped(selection));
    }
}
项目:consulo-ui-designer    文件:GroupRowsColumnsAction.java   
@Override
public void update(final AnActionEvent e)
{
    super.update(e);
    CaptionSelection selection = e.getData(CaptionSelection.DATA_KEY);
    if(selection != null)
    {
        e.getPresentation().setEnabled(selection.getContainer() != null && selection.getContainer().getLayout() instanceof FormLayout && getCellsToGroup(selection).length > 1 && !isGrouped
                (selection));
    }
}
项目:consulo-ui-designer    文件:GroupRowsColumnsAction.java   
public static boolean isGrouped(final CaptionSelection selection)
{
    FormLayout layout = (FormLayout) selection.getContainer().getLayout();
    int[][] groups = selection.isRow() ? layout.getRowGroups() : layout.getColumnGroups();
    final int[] indices = selection.getSelection();
    for(int[] group : groups)
    {
        if(intersect(group, indices))
        {
            return true;
        }
    }
    return false;
}
项目:consulo-ui-designer    文件:RowColumnAction.java   
@RequiredDispatchThread
@Override
public void actionPerformed(@NotNull final AnActionEvent e)
{
    GuiEditor editor = FormEditingUtil.getEditorFromContext(e.getDataContext());
    CaptionSelection selection = e.getData(CaptionSelection.DATA_KEY);
    if(editor == null || selection == null || !editor.ensureEditable())
    {
        return;
    }
    actionPerformed(selection);
    selection.getContainer().revalidate();
    editor.refreshAndSave(true);
}
项目:consulo-ui-designer    文件:RowColumnAction.java   
@RequiredDispatchThread
@Override
public void update(@NotNull final AnActionEvent e)
{
    final Presentation presentation = e.getPresentation();
    CaptionSelection selection = e.getData(CaptionSelection.DATA_KEY);
    if(selection == null)
    {
        presentation.setEnabled(false);
    }
    else
    {
        presentation.setEnabled(selection.getContainer() != null && selection.getFocusedIndex() >= 0);
        if(!selection.isRow())
        {
            presentation.setText(myColumnText);
            if(myColumnIcon != null)
            {
                presentation.setIcon(myColumnIcon);
            }
        }
        else
        {
            presentation.setText(myRowText);
            if(myRowIcon != null)
            {
                presentation.setIcon(myRowIcon);
            }
        }
    }
}
项目:consulo-ui-designer    文件:DeleteAction.java   
@RequiredDispatchThread
@Override
public void actionPerformed(@NotNull final AnActionEvent e)
{
    final GuiEditor editor = FormEditingUtil.getEditorFromContext(e.getDataContext());
    CaptionSelection selection = e.getData(CaptionSelection.DATA_KEY);
    if(editor == null || selection == null || selection.getFocusedIndex() < 0)
    {
        return;
    }
    FormEditingUtil.deleteRowOrColumn(editor, selection.getContainer(), selection.getSelection(), selection.isRow());
    selection.getContainer().revalidate();
}
项目:consulo-ui-designer    文件:DeleteAction.java   
@RequiredDispatchThread
@Override
public void update(@NotNull final AnActionEvent e)
{
    final Presentation presentation = e.getPresentation();
    CaptionSelection selection = e.getData(CaptionSelection.DATA_KEY);
    if(selection == null || selection.getContainer() == null)
    {
        presentation.setVisible(false);
        return;
    }
    presentation.setVisible(true);
    if(selection.getSelection().length > 1)
    {
        presentation.setText(!selection.isRow() ? UIDesignerBundle.message("action.delete.columns") : UIDesignerBundle.message("action.delete.rows"));
    }
    else
    {
        presentation.setText(!selection.isRow() ? UIDesignerBundle.message("action.delete.column") : UIDesignerBundle.message("action.delete.row"));
    }

    int minCellCount = selection.getContainer().getGridLayoutManager().getMinCellCount();
    if(selection.getContainer().getGridCellCount(selection.isRow()) - selection.getSelection().length < minCellCount)
    {
        presentation.setEnabled(false);
    }
    else if(selection.getFocusedIndex() < 0)
    {
        presentation.setEnabled(false);
    }
    else
    {
        presentation.setEnabled(true);
    }
}
项目:intellij-ce-playground    文件:SplitAction.java   
protected void actionPerformed(CaptionSelection selection) {
  GridChangeUtil.splitCell(selection.getContainer(), selection.getFocusedIndex(), selection.isRow());
}
项目:intellij-ce-playground    文件:InsertAfterAction.java   
protected void actionPerformed(final CaptionSelection selection) {
  final RadContainer container = selection.getContainer();
  container.getGridLayoutManager().insertGridCells(container, selection.getFocusedIndex(), selection.isRow(), false, false);
}
项目:intellij-ce-playground    文件:InsertBeforeAction.java   
protected void actionPerformed(CaptionSelection selection) {
  RadContainer container = selection.getContainer();
  container.getGridLayoutManager().insertGridCells(container, selection.getFocusedIndex(), selection.isRow(), true, false);
}
项目:tools-idea    文件:SplitAction.java   
protected void actionPerformed(CaptionSelection selection) {
  GridChangeUtil.splitCell(selection.getContainer(), selection.getFocusedIndex(), selection.isRow());
}
项目:tools-idea    文件:InsertAfterAction.java   
protected void actionPerformed(final CaptionSelection selection) {
  final RadContainer container = selection.getContainer();
  container.getGridLayoutManager().insertGridCells(container, selection.getFocusedIndex(), selection.isRow(), false, false);
}
项目:tools-idea    文件:InsertBeforeAction.java   
protected void actionPerformed(CaptionSelection selection) {
  RadContainer container = selection.getContainer();
  container.getGridLayoutManager().insertGridCells(container, selection.getFocusedIndex(), selection.isRow(), true, false);
}
项目:consulo-ui-designer    文件:SplitAction.java   
protected void actionPerformed(CaptionSelection selection) {
  GridChangeUtil.splitCell(selection.getContainer(), selection.getFocusedIndex(), selection.isRow());
}