mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2009 JetBrains s.r.o.
|
||||
* Copyright 2000-2012 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -45,6 +45,7 @@ public abstract class ProjectViewTree extends DnDAwareTree {
|
||||
cellRenderer.setOpaque(false);
|
||||
cellRenderer.setIconOpaque(false);
|
||||
setCellRenderer(cellRenderer);
|
||||
cellRenderer.setTransparentIconBackground(true);
|
||||
setOpaque(false);
|
||||
}
|
||||
|
||||
@@ -66,6 +67,8 @@ public abstract class ProjectViewTree extends DnDAwareTree {
|
||||
|
||||
@Override
|
||||
protected void paintComponent(Graphics g) {
|
||||
g.setColor(getBackground());
|
||||
g.fillRect(0, 0, getWidth(), getHeight());
|
||||
if (isFileColorsEnabled()) {
|
||||
paintFileColorGutter(g);
|
||||
}
|
||||
@@ -74,7 +77,7 @@ public abstract class ProjectViewTree extends DnDAwareTree {
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean isFileColorsEnabled() {
|
||||
public boolean isFileColorsEnabled() {
|
||||
return FileColorManagerImpl._isEnabled() && FileColorManagerImpl._isEnabledForProjectView();
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
/*
|
||||
* Copyright 2000-2012 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.intellij.ui;
|
||||
|
||||
/**
|
||||
* @author Konstantin Bulenkov
|
||||
*/
|
||||
public interface ComponentWithFileColors {
|
||||
boolean isFileColorsEnabled();
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2009 JetBrains s.r.o.
|
||||
* Copyright 2000-2012 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -636,6 +636,10 @@ public class SimpleColoredComponent extends JComponent implements Accessible {
|
||||
return myTransparentIconBackground;
|
||||
}
|
||||
|
||||
public void setTransparentIconBackground(boolean transparentIconBackground) {
|
||||
myTransparentIconBackground = transparentIconBackground;
|
||||
}
|
||||
|
||||
private static int getTextBaseLine(FontMetrics metrics, final int height) {
|
||||
return (height - metrics.getHeight()) / 2 + metrics.getAscent();
|
||||
}
|
||||
|
||||
@@ -21,10 +21,7 @@ import com.intellij.openapi.ui.Queryable;
|
||||
import com.intellij.openapi.util.Disposer;
|
||||
import com.intellij.openapi.util.SystemInfo;
|
||||
import com.intellij.openapi.wm.impl.content.GraphicsConfig;
|
||||
import com.intellij.ui.ComponentWithExpandableItems;
|
||||
import com.intellij.ui.ExpandableItemsHandler;
|
||||
import com.intellij.ui.ExpandableItemsHandlerFactory;
|
||||
import com.intellij.ui.LoadingNode;
|
||||
import com.intellij.ui.*;
|
||||
import com.intellij.util.ReflectionUtil;
|
||||
import com.intellij.util.ui.AsyncProcessIcon;
|
||||
import com.intellij.util.ui.ComponentWithEmptyText;
|
||||
@@ -48,7 +45,8 @@ import java.lang.reflect.Method;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Map;
|
||||
|
||||
public class Tree extends JTree implements ComponentWithEmptyText, ComponentWithExpandableItems<Integer>, Autoscroll, Queryable {
|
||||
public class Tree extends JTree implements ComponentWithEmptyText, ComponentWithExpandableItems<Integer>, Autoscroll, Queryable,
|
||||
ComponentWithFileColors {
|
||||
private StatusText myEmptyText;
|
||||
private ExpandableItemsHandler<Integer> myExpandableItemsHandler;
|
||||
|
||||
@@ -132,7 +130,7 @@ public class Tree extends JTree implements ComponentWithEmptyText, ComponentWith
|
||||
return true;
|
||||
}
|
||||
|
||||
protected boolean isFileColorsEnabled() {
|
||||
public boolean isFileColorsEnabled() {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
+1
@@ -15,6 +15,7 @@
|
||||
*/
|
||||
package com.intellij.android.designer.designSurface.layout;
|
||||
|
||||
import com.intellij.android.designer.designSurface.layout.grid.GridOperation;
|
||||
import com.intellij.designer.designSurface.OperationContext;
|
||||
import com.intellij.designer.model.RadComponent;
|
||||
|
||||
|
||||
+2
@@ -15,6 +15,8 @@
|
||||
*/
|
||||
package com.intellij.android.designer.designSurface.layout;
|
||||
|
||||
import com.intellij.android.designer.designSurface.layout.actions.ResizeOperation;
|
||||
import com.intellij.android.designer.designSurface.layout.flow.FlowBaseOperation;
|
||||
import com.intellij.android.designer.model.ModelParser;
|
||||
import com.intellij.android.designer.model.RadViewComponent;
|
||||
import com.intellij.android.designer.model.layout.Gravity;
|
||||
|
||||
+5
-4
@@ -15,13 +15,14 @@
|
||||
*/
|
||||
package com.intellij.android.designer.designSurface.layout;
|
||||
|
||||
import com.intellij.android.designer.designSurface.layout.grid.GridOperation;
|
||||
import com.intellij.android.designer.model.ModelParser;
|
||||
import com.intellij.android.designer.model.RadViewComponent;
|
||||
import com.intellij.android.designer.model.ViewsMetaManager;
|
||||
import com.intellij.android.designer.model.agrid.GridInfo;
|
||||
import com.intellij.android.designer.model.agrid.GridInsertType;
|
||||
import com.intellij.android.designer.model.table.RadTableLayoutComponent;
|
||||
import com.intellij.android.designer.model.table.RadTableRowLayout;
|
||||
import com.intellij.android.designer.model.grid.GridInfo;
|
||||
import com.intellij.android.designer.model.grid.GridInsertType;
|
||||
import com.intellij.android.designer.model.layout.table.RadTableLayoutComponent;
|
||||
import com.intellij.android.designer.model.layout.table.RadTableRowLayout;
|
||||
import com.intellij.designer.designSurface.OperationContext;
|
||||
import com.intellij.designer.model.MetaManager;
|
||||
import com.intellij.designer.model.MetaModel;
|
||||
|
||||
+1
-1
@@ -13,7 +13,7 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.intellij.android.designer.designSurface.layout;
|
||||
package com.intellij.android.designer.designSurface.layout.actions;
|
||||
|
||||
import com.intellij.android.designer.model.ModelParser;
|
||||
import com.intellij.android.designer.model.RadViewComponent;
|
||||
+3
-3
@@ -13,12 +13,12 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.intellij.android.designer.designSurface.layout;
|
||||
package com.intellij.android.designer.designSurface.layout.actions;
|
||||
|
||||
import com.intellij.android.designer.model.ModelParser;
|
||||
import com.intellij.android.designer.model.RadViewComponent;
|
||||
import com.intellij.android.designer.model.agrid.GridInfo;
|
||||
import com.intellij.android.designer.model.table.RadTableLayoutComponent;
|
||||
import com.intellij.android.designer.model.grid.GridInfo;
|
||||
import com.intellij.android.designer.model.layout.table.RadTableLayoutComponent;
|
||||
import com.intellij.designer.designSurface.EditOperation;
|
||||
import com.intellij.designer.designSurface.FeedbackLayer;
|
||||
import com.intellij.designer.designSurface.OperationContext;
|
||||
+1
-1
@@ -13,7 +13,7 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.intellij.android.designer.designSurface.layout;
|
||||
package com.intellij.android.designer.designSurface.layout.actions;
|
||||
|
||||
import com.intellij.android.designer.model.ModelParser;
|
||||
import com.intellij.designer.designSurface.OperationContext;
|
||||
+1
-1
@@ -13,7 +13,7 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.intellij.android.designer.designSurface.layout;
|
||||
package com.intellij.android.designer.designSurface.layout.actions;
|
||||
|
||||
import com.intellij.android.designer.model.RadViewComponent;
|
||||
import com.intellij.android.designer.propertyTable.renderers.ResourceRenderer;
|
||||
+4
-4
@@ -13,13 +13,13 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.intellij.android.designer.designSurface.layout;
|
||||
package com.intellij.android.designer.designSurface.layout.caption;
|
||||
|
||||
import com.intellij.android.designer.model.ModelParser;
|
||||
import com.intellij.android.designer.model.RadViewComponent;
|
||||
import com.intellij.android.designer.model.table.RadCaptionTableColumn;
|
||||
import com.intellij.android.designer.model.table.RadTableLayoutComponent;
|
||||
import com.intellij.android.designer.model.table.RadTableRowLayout;
|
||||
import com.intellij.android.designer.model.layout.table.RadCaptionTableColumn;
|
||||
import com.intellij.android.designer.model.layout.table.RadTableLayoutComponent;
|
||||
import com.intellij.android.designer.model.layout.table.RadTableRowLayout;
|
||||
import com.intellij.designer.designSurface.EditableArea;
|
||||
import com.intellij.designer.designSurface.FeedbackLayer;
|
||||
import com.intellij.designer.designSurface.FlowBaseOperation;
|
||||
+3
-3
@@ -13,12 +13,12 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.intellij.android.designer.designSurface.layout;
|
||||
package com.intellij.android.designer.designSurface.layout.caption;
|
||||
|
||||
import com.intellij.android.designer.designSurface.AbstractEditOperation;
|
||||
import com.intellij.android.designer.model.RadViewComponent;
|
||||
import com.intellij.android.designer.model.table.RadCaptionTableRow;
|
||||
import com.intellij.android.designer.model.table.RadTableLayoutComponent;
|
||||
import com.intellij.android.designer.model.layout.table.RadCaptionTableRow;
|
||||
import com.intellij.android.designer.model.layout.table.RadTableLayoutComponent;
|
||||
import com.intellij.designer.designSurface.EditableArea;
|
||||
import com.intellij.designer.designSurface.FlowBaseOperation;
|
||||
import com.intellij.designer.designSurface.OperationContext;
|
||||
+1
-1
@@ -13,7 +13,7 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.intellij.android.designer.designSurface.layout;
|
||||
package com.intellij.android.designer.designSurface.layout.flow;
|
||||
|
||||
import com.intellij.android.designer.designSurface.AbstractEditOperation;
|
||||
import com.intellij.android.designer.model.RadViewComponent;
|
||||
+2
-1
@@ -13,8 +13,9 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.intellij.android.designer.designSurface.layout;
|
||||
package com.intellij.android.designer.designSurface.layout.flow;
|
||||
|
||||
import com.intellij.android.designer.designSurface.layout.BorderStaticDecorator;
|
||||
import com.intellij.android.designer.model.RadViewComponent;
|
||||
import com.intellij.designer.designSurface.DecorationLayer;
|
||||
import com.intellij.designer.designSurface.StaticDecorator;
|
||||
+5
-3
@@ -13,10 +13,12 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.intellij.android.designer.designSurface.layout;
|
||||
package com.intellij.android.designer.designSurface.layout.grid;
|
||||
|
||||
import com.intellij.android.designer.model.agrid.GridInfo;
|
||||
import com.intellij.android.designer.model.agrid.IGridProvider;
|
||||
import com.intellij.android.designer.designSurface.layout.BorderStaticDecorator;
|
||||
import com.intellij.android.designer.designSurface.layout.flow.FlowStaticDecorator;
|
||||
import com.intellij.android.designer.model.grid.GridInfo;
|
||||
import com.intellij.android.designer.model.grid.IGridProvider;
|
||||
import com.intellij.designer.designSurface.DecorationLayer;
|
||||
import com.intellij.designer.designSurface.StaticDecorator;
|
||||
import com.intellij.designer.model.RadComponent;
|
||||
+5
-4
@@ -13,12 +13,13 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.intellij.android.designer.designSurface.layout;
|
||||
package com.intellij.android.designer.designSurface.layout.grid;
|
||||
|
||||
import com.intellij.android.designer.designSurface.AbstractEditOperation;
|
||||
import com.intellij.android.designer.model.agrid.GridInfo;
|
||||
import com.intellij.android.designer.model.agrid.GridInsertType;
|
||||
import com.intellij.android.designer.model.agrid.IGridProvider;
|
||||
import com.intellij.android.designer.designSurface.layout.BorderStaticDecorator;
|
||||
import com.intellij.android.designer.model.grid.GridInfo;
|
||||
import com.intellij.android.designer.model.grid.GridInsertType;
|
||||
import com.intellij.android.designer.model.grid.IGridProvider;
|
||||
import com.intellij.designer.designSurface.FeedbackLayer;
|
||||
import com.intellij.designer.designSurface.OperationContext;
|
||||
import com.intellij.designer.designSurface.feedbacks.AlphaFeedback;
|
||||
+1
-1
@@ -13,7 +13,7 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.intellij.android.designer.model.agrid;
|
||||
package com.intellij.android.designer.model.grid;
|
||||
|
||||
import com.intellij.designer.model.RadComponent;
|
||||
import com.intellij.util.ArrayUtil;
|
||||
+1
-1
@@ -13,7 +13,7 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.intellij.android.designer.model.agrid;
|
||||
package com.intellij.android.designer.model.grid;
|
||||
|
||||
/**
|
||||
* @author Alexander Lobas
|
||||
+1
-1
@@ -13,7 +13,7 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.intellij.android.designer.model.agrid;
|
||||
package com.intellij.android.designer.model.grid;
|
||||
|
||||
/**
|
||||
* @author Alexander Lobas
|
||||
+1
-1
@@ -13,7 +13,7 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.intellij.android.designer.model.agrid;
|
||||
package com.intellij.android.designer.model.grid;
|
||||
|
||||
import com.intellij.android.designer.model.RadViewComponent;
|
||||
|
||||
+1
-1
@@ -13,7 +13,7 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.intellij.android.designer.model.agrid;
|
||||
package com.intellij.android.designer.model.grid;
|
||||
|
||||
import com.intellij.android.designer.designSurface.layout.CaptionStaticDecorator;
|
||||
import com.intellij.android.designer.model.RadViewComponent;
|
||||
+1
-1
@@ -13,7 +13,7 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.intellij.android.designer.model.agrid;
|
||||
package com.intellij.android.designer.model.grid;
|
||||
|
||||
import com.intellij.android.designer.model.RadViewComponent;
|
||||
|
||||
+1
-1
@@ -17,7 +17,7 @@ package com.intellij.android.designer.model.layout;
|
||||
|
||||
import com.intellij.android.designer.designSurface.TreeDropToOperation;
|
||||
import com.intellij.android.designer.designSurface.layout.AbsoluteLayoutOperation;
|
||||
import com.intellij.android.designer.designSurface.layout.ResizeOperation;
|
||||
import com.intellij.android.designer.designSurface.layout.actions.ResizeOperation;
|
||||
import com.intellij.android.designer.model.RadViewLayoutWithData;
|
||||
import com.intellij.designer.componentTree.TreeEditOperation;
|
||||
import com.intellij.designer.designSurface.ComponentDecorator;
|
||||
|
||||
+2
-2
@@ -17,8 +17,8 @@ package com.intellij.android.designer.model.layout;
|
||||
|
||||
import com.intellij.android.designer.designSurface.TreeDropToOperation;
|
||||
import com.intellij.android.designer.designSurface.layout.FrameLayoutOperation;
|
||||
import com.intellij.android.designer.designSurface.layout.LayoutMarginOperation;
|
||||
import com.intellij.android.designer.designSurface.layout.ResizeOperation;
|
||||
import com.intellij.android.designer.designSurface.layout.actions.LayoutMarginOperation;
|
||||
import com.intellij.android.designer.designSurface.layout.actions.ResizeOperation;
|
||||
import com.intellij.android.designer.model.RadViewComponent;
|
||||
import com.intellij.android.designer.model.RadViewLayoutWithData;
|
||||
import com.intellij.designer.componentTree.TreeEditOperation;
|
||||
|
||||
+4
@@ -17,6 +17,10 @@ package com.intellij.android.designer.model.layout;
|
||||
|
||||
import com.intellij.android.designer.designSurface.TreeDropToOperation;
|
||||
import com.intellij.android.designer.designSurface.layout.*;
|
||||
import com.intellij.android.designer.designSurface.layout.actions.LayoutMarginOperation;
|
||||
import com.intellij.android.designer.designSurface.layout.actions.LayoutWeightOperation;
|
||||
import com.intellij.android.designer.designSurface.layout.actions.ResizeOperation;
|
||||
import com.intellij.android.designer.designSurface.layout.flow.FlowStaticDecorator;
|
||||
import com.intellij.android.designer.model.RadViewComponent;
|
||||
import com.intellij.android.designer.model.RadViewLayoutWithData;
|
||||
import com.intellij.designer.componentTree.TreeEditOperation;
|
||||
|
||||
+2
-2
@@ -13,9 +13,9 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.intellij.android.designer.model.grid;
|
||||
package com.intellij.android.designer.model.layout.grid;
|
||||
|
||||
import com.intellij.android.designer.model.agrid.RadCaptionColumn;
|
||||
import com.intellij.android.designer.model.grid.RadCaptionColumn;
|
||||
|
||||
/**
|
||||
* @author Alexander Lobas
|
||||
+2
-2
@@ -13,9 +13,9 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.intellij.android.designer.model.grid;
|
||||
package com.intellij.android.designer.model.layout.grid;
|
||||
|
||||
import com.intellij.android.designer.model.agrid.RadCaptionRow;
|
||||
import com.intellij.android.designer.model.grid.RadCaptionRow;
|
||||
|
||||
/**
|
||||
* @author Alexander Lobas
|
||||
+5
-5
@@ -13,16 +13,16 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.intellij.android.designer.model.grid;
|
||||
package com.intellij.android.designer.model.layout.grid;
|
||||
|
||||
import com.intellij.android.designer.designSurface.TreeDropToOperation;
|
||||
import com.intellij.android.designer.designSurface.layout.GridDecorator;
|
||||
import com.intellij.android.designer.designSurface.layout.grid.GridDecorator;
|
||||
import com.intellij.android.designer.designSurface.layout.GridLayoutOperation;
|
||||
import com.intellij.android.designer.designSurface.layout.LayoutSpanOperation;
|
||||
import com.intellij.android.designer.designSurface.layout.ResizeOperation;
|
||||
import com.intellij.android.designer.designSurface.layout.actions.LayoutSpanOperation;
|
||||
import com.intellij.android.designer.designSurface.layout.actions.ResizeOperation;
|
||||
import com.intellij.android.designer.model.RadViewLayout;
|
||||
import com.intellij.android.designer.model.RadViewLayoutWithData;
|
||||
import com.intellij.android.designer.model.agrid.GridInfo;
|
||||
import com.intellij.android.designer.model.grid.GridInfo;
|
||||
import com.intellij.designer.componentTree.TreeEditOperation;
|
||||
import com.intellij.designer.designSurface.*;
|
||||
import com.intellij.designer.designSurface.selection.ResizeSelectionDecorator;
|
||||
+3
-3
@@ -13,13 +13,13 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.intellij.android.designer.model.grid;
|
||||
package com.intellij.android.designer.model.layout.grid;
|
||||
|
||||
import com.android.ide.common.rendering.api.ViewInfo;
|
||||
import com.intellij.android.designer.model.RadViewComponent;
|
||||
import com.intellij.android.designer.model.RadViewContainer;
|
||||
import com.intellij.android.designer.model.agrid.GridInfo;
|
||||
import com.intellij.android.designer.model.agrid.IGridProvider;
|
||||
import com.intellij.android.designer.model.grid.GridInfo;
|
||||
import com.intellij.android.designer.model.grid.IGridProvider;
|
||||
import com.intellij.designer.model.RadComponent;
|
||||
|
||||
import java.awt.*;
|
||||
+3
-3
@@ -13,10 +13,10 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.intellij.android.designer.model.table;
|
||||
package com.intellij.android.designer.model.layout.table;
|
||||
|
||||
import com.intellij.android.designer.model.agrid.GridInfo;
|
||||
import com.intellij.android.designer.model.agrid.RadCaptionColumn;
|
||||
import com.intellij.android.designer.model.grid.GridInfo;
|
||||
import com.intellij.android.designer.model.grid.RadCaptionColumn;
|
||||
import com.intellij.designer.model.RadComponent;
|
||||
|
||||
/**
|
||||
+1
-1
@@ -13,7 +13,7 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.intellij.android.designer.model.table;
|
||||
package com.intellij.android.designer.model.layout.table;
|
||||
|
||||
import com.intellij.android.designer.designSurface.layout.CaptionStaticDecorator;
|
||||
import com.intellij.android.designer.model.RadViewComponent;
|
||||
+6
-2
@@ -13,14 +13,18 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.intellij.android.designer.model.table;
|
||||
package com.intellij.android.designer.model.layout.table;
|
||||
|
||||
import com.intellij.android.designer.designSurface.TreeDropToOperation;
|
||||
import com.intellij.android.designer.designSurface.layout.*;
|
||||
import com.intellij.android.designer.designSurface.layout.actions.ResizeOperation;
|
||||
import com.intellij.android.designer.designSurface.layout.caption.HorizontalCaptionFlowBaseOperation;
|
||||
import com.intellij.android.designer.designSurface.layout.caption.VerticalCaptionFlowBaseOperation;
|
||||
import com.intellij.android.designer.designSurface.layout.grid.GridDecorator;
|
||||
import com.intellij.android.designer.model.RadViewComponent;
|
||||
import com.intellij.android.designer.model.RadViewLayout;
|
||||
import com.intellij.android.designer.model.RadViewLayoutWithData;
|
||||
import com.intellij.android.designer.model.agrid.GridInfo;
|
||||
import com.intellij.android.designer.model.grid.GridInfo;
|
||||
import com.intellij.designer.componentTree.TreeEditOperation;
|
||||
import com.intellij.designer.designSurface.*;
|
||||
import com.intellij.designer.designSurface.selection.ResizeSelectionDecorator;
|
||||
+3
-3
@@ -13,14 +13,14 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.intellij.android.designer.model.table;
|
||||
package com.intellij.android.designer.model.layout.table;
|
||||
|
||||
import com.android.ide.common.rendering.api.ViewInfo;
|
||||
import com.intellij.android.designer.model.ModelParser;
|
||||
import com.intellij.android.designer.model.RadViewComponent;
|
||||
import com.intellij.android.designer.model.RadViewContainer;
|
||||
import com.intellij.android.designer.model.agrid.GridInfo;
|
||||
import com.intellij.android.designer.model.agrid.IGridProvider;
|
||||
import com.intellij.android.designer.model.grid.GridInfo;
|
||||
import com.intellij.android.designer.model.grid.IGridProvider;
|
||||
import com.intellij.designer.model.RadComponent;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.psi.xml.XmlTag;
|
||||
+2
-2
@@ -13,9 +13,9 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.intellij.android.designer.model.table;
|
||||
package com.intellij.android.designer.model.layout.table;
|
||||
|
||||
import com.intellij.android.designer.designSurface.layout.LayoutSpanOperation;
|
||||
import com.intellij.android.designer.designSurface.layout.actions.LayoutSpanOperation;
|
||||
import com.intellij.android.designer.model.ModelParser;
|
||||
import com.intellij.android.designer.model.RadViewComponent;
|
||||
import com.intellij.android.designer.model.layout.AbstractGravityAction;
|
||||
+5
-5
@@ -1099,8 +1099,8 @@
|
||||
</creation>
|
||||
</meta>
|
||||
|
||||
<meta model="com.intellij.android.designer.model.table.RadTableLayoutComponent"
|
||||
layout="com.intellij.android.designer.model.table.RadTableLayout"
|
||||
<meta model="com.intellij.android.designer.model.layout.table.RadTableLayoutComponent"
|
||||
layout="com.intellij.android.designer.model.layout.table.RadTableLayout"
|
||||
class="android.widget.TableLayout"
|
||||
tag="TableLayout">
|
||||
|
||||
@@ -1120,7 +1120,7 @@
|
||||
</meta>
|
||||
|
||||
<meta model="com.intellij.android.designer.model.RadViewContainer"
|
||||
layout="com.intellij.android.designer.model.table.RadTableRowLayout"
|
||||
layout="com.intellij.android.designer.model.layout.table.RadTableRowLayout"
|
||||
class="android.widget.TableRow"
|
||||
tag="TableRow">
|
||||
|
||||
@@ -1137,8 +1137,8 @@
|
||||
</creation>
|
||||
</meta>
|
||||
|
||||
<meta model="com.intellij.android.designer.model.grid.RadGridLayoutComponent"
|
||||
layout="com.intellij.android.designer.model.grid.RadGridLayout"
|
||||
<meta model="com.intellij.android.designer.model.layout.grid.RadGridLayoutComponent"
|
||||
layout="com.intellij.android.designer.model.layout.grid.RadGridLayout"
|
||||
class="android.widget.GridLayout"
|
||||
tag="GridLayout">
|
||||
|
||||
|
||||
+2
-2
@@ -10,7 +10,7 @@
|
||||
<children>
|
||||
<grid id="e7277" layout-manager="GridBagLayout">
|
||||
<constraints>
|
||||
<grid row="0" column="0" row-span="1" col-span="1" vsize-policy="3" hsize-policy="3" anchor="0" fill="1" indent="0" use-parent-layout="false"/>
|
||||
<grid row="0" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="1" fill="1" indent="0" use-parent-layout="false"/>
|
||||
</constraints>
|
||||
<properties/>
|
||||
<border type="none"/>
|
||||
@@ -91,7 +91,7 @@
|
||||
<grid id="ca987" layout-manager="GridLayoutManager" row-count="1" column-count="3" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
|
||||
<margin top="0" left="0" bottom="0" right="0"/>
|
||||
<constraints>
|
||||
<grid row="0" column="1" row-span="1" col-span="1" vsize-policy="3" hsize-policy="3" anchor="0" fill="3" indent="0" use-parent-layout="false"/>
|
||||
<grid row="0" column="1" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="1" fill="1" indent="0" use-parent-layout="false"/>
|
||||
</constraints>
|
||||
<properties/>
|
||||
<border type="none"/>
|
||||
|
||||
+38
-2
@@ -31,6 +31,8 @@ import com.intellij.openapi.projectRoots.JavaSdk;
|
||||
import com.intellij.openapi.projectRoots.ProjectJdkTable;
|
||||
import com.intellij.openapi.projectRoots.Sdk;
|
||||
import com.intellij.openapi.projectRoots.impl.JavaAwareProjectJdkTableImpl;
|
||||
import com.intellij.openapi.roots.ProjectRootManager;
|
||||
import com.intellij.openapi.roots.ui.configuration.ProjectSettingsService;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.openapi.vfs.encoding.EncodingManager;
|
||||
import com.intellij.openapi.vfs.encoding.EncodingProjectManager;
|
||||
@@ -99,7 +101,7 @@ public class MavenExternalParameters {
|
||||
|
||||
params.setWorkingDirectory(parameters.getWorkingDirFile());
|
||||
|
||||
params.setJdk(getJdk(runnerSettings, project != null && MavenRunner.getInstance(project).getState() == runnerSettings));
|
||||
params.setJdk(getJdk(project, runnerSettings, project != null && MavenRunner.getInstance(project).getState() == runnerSettings));
|
||||
|
||||
final String mavenHome = resolveMavenHome(coreSettings, project, runConfiguration);
|
||||
|
||||
@@ -121,12 +123,29 @@ public class MavenExternalParameters {
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private static Sdk getJdk(MavenRunnerSettings runnerSettings, boolean isGlobalRunnerSettings) throws ExecutionException {
|
||||
private static Sdk getJdk(@Nullable Project project, MavenRunnerSettings runnerSettings, boolean isGlobalRunnerSettings) throws ExecutionException {
|
||||
String name = runnerSettings.getJreName();
|
||||
if (name.equals(MavenRunnerSettings.USE_INTERNAL_JAVA)) {
|
||||
return JavaAwareProjectJdkTableImpl.getInstanceEx().getInternalJdk();
|
||||
}
|
||||
|
||||
if (name.equals(MavenRunnerSettings.USE_PROJECT_JDK)) {
|
||||
if (project != null) {
|
||||
Sdk res = ProjectRootManager.getInstance(project).getProjectSdk();
|
||||
if (res != null) {
|
||||
return res;
|
||||
}
|
||||
}
|
||||
|
||||
if (project == null) {
|
||||
Sdk recent = ProjectJdkTable.getInstance().findMostRecentSdkOfType(JavaSdk.getInstance());
|
||||
if (recent != null) return recent;
|
||||
return JavaAwareProjectJdkTableImpl.getInstanceEx().getInternalJdk();
|
||||
}
|
||||
|
||||
throw new ProjectJdkSettingsOpenerExecutionException("Project JDK is not specified. <a href='#'>Configure</a>", project);
|
||||
}
|
||||
|
||||
if (name.equals(MavenRunnerSettings.USE_JAVA_HOME)) {
|
||||
final String javaHome = System.getenv(JAVA_HOME);
|
||||
if (StringUtil.isEmptyOrSpaces(javaHome)) {
|
||||
@@ -355,6 +374,23 @@ public class MavenExternalParameters {
|
||||
}
|
||||
}
|
||||
|
||||
private static class ProjectJdkSettingsOpenerExecutionException extends ExecutionException implements HyperlinkListener {
|
||||
|
||||
private final Project myProject;
|
||||
|
||||
public ProjectJdkSettingsOpenerExecutionException(final String s, Project project) {
|
||||
super(s);
|
||||
myProject = project;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void hyperlinkUpdate(HyperlinkEvent e) {
|
||||
if (e.getEventType() != HyperlinkEvent.EventType.ACTIVATED) return;
|
||||
|
||||
ProjectSettingsService.getInstance(myProject).openProjectSettings();
|
||||
}
|
||||
}
|
||||
|
||||
private static class RunConfigurationOpenerExecutionException extends ExecutionException implements HyperlinkListener {
|
||||
|
||||
private final MavenRunConfiguration myRunConfiguration;
|
||||
|
||||
+32
-2
@@ -21,6 +21,10 @@ import com.intellij.openapi.options.Configurable;
|
||||
import com.intellij.openapi.options.ConfigurationException;
|
||||
import com.intellij.openapi.options.SearchableConfigurable;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.projectRoots.JavaSdk;
|
||||
import com.intellij.openapi.projectRoots.ProjectJdkTable;
|
||||
import com.intellij.openapi.projectRoots.Sdk;
|
||||
import com.intellij.openapi.roots.ProjectRootManager;
|
||||
import com.intellij.ui.IdeBorderFactory;
|
||||
import com.intellij.ui.RawCommandLineEditor;
|
||||
import org.jetbrains.annotations.Nls;
|
||||
@@ -50,7 +54,7 @@ public abstract class MavenRunnerConfigurable implements SearchableConfigurable,
|
||||
|
||||
private Map<String, String> myProperties;
|
||||
|
||||
public MavenRunnerConfigurable(Project p, boolean isRunConfiguration) {
|
||||
public MavenRunnerConfigurable(@NotNull Project p, boolean isRunConfiguration) {
|
||||
myProject = p;
|
||||
myRunConfigurationMode = isRunConfiguration;
|
||||
}
|
||||
@@ -189,7 +193,7 @@ public abstract class MavenRunnerConfigurable implements SearchableConfigurable,
|
||||
myVMParametersEditor.setText(data.getVmOptions());
|
||||
mySkipTestsCheckBox.setSelected(data.isSkipTests());
|
||||
|
||||
Map<String, String> jdkMap = data.collectJdkNamesAndDescriptions();
|
||||
Map<String, String> jdkMap = collectJdkNamesAndDescriptions();
|
||||
if (!jdkMap.containsKey(data.getJreName())) {
|
||||
jdkMap.put(data.getJreName(), data.getJreName());
|
||||
}
|
||||
@@ -204,6 +208,32 @@ public abstract class MavenRunnerConfigurable implements SearchableConfigurable,
|
||||
myPropertiesPanel.setDataFromMap(data.getMavenProperties());
|
||||
}
|
||||
|
||||
private Map<String, String> collectJdkNamesAndDescriptions() {
|
||||
Map<String, String> result = new LinkedHashMap<String, String>();
|
||||
|
||||
for (Sdk projectJdk : ProjectJdkTable.getInstance().getSdksOfType(JavaSdk.getInstance())) {
|
||||
String name = projectJdk.getName();
|
||||
result.put(name, name);
|
||||
}
|
||||
|
||||
result.put(MavenRunnerSettings.USE_INTERNAL_JAVA, RunnerBundle.message("maven.java.internal"));
|
||||
|
||||
String projectJdkTitle;
|
||||
|
||||
String projectJdk = ProjectRootManager.getInstance(myProject).getProjectSdkName();
|
||||
if (projectJdk == null) {
|
||||
projectJdkTitle = "Use Project JDK (not defined yet)";
|
||||
}
|
||||
else {
|
||||
projectJdkTitle = "Use Project JDK (" + projectJdk + ')';
|
||||
}
|
||||
|
||||
result.put(MavenRunnerSettings.USE_PROJECT_JDK, projectJdkTitle);
|
||||
result.put(MavenRunnerSettings.USE_JAVA_HOME, RunnerBundle.message("maven.java.home.env"));
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
void setData(MavenRunnerSettings data) {
|
||||
data.setRunMavenInBackground(myRunInBackgroundCheckbox.isSelected());
|
||||
data.setVmOptions(myVMParametersEditor.getText().trim());
|
||||
|
||||
+2
-31
@@ -21,15 +21,12 @@ package org.jetbrains.idea.maven.execution;
|
||||
import com.intellij.openapi.projectRoots.JavaSdk;
|
||||
import com.intellij.openapi.projectRoots.ProjectJdkTable;
|
||||
import com.intellij.openapi.projectRoots.Sdk;
|
||||
import com.intellij.openapi.projectRoots.SdkType;
|
||||
import com.intellij.openapi.util.Pair;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@@ -37,10 +34,11 @@ import java.util.Map;
|
||||
public class MavenRunnerSettings implements Cloneable {
|
||||
|
||||
@NonNls public static final String USE_INTERNAL_JAVA = "#JAVA_INTERNAL";
|
||||
@NonNls public static final String USE_PROJECT_JDK = "#USE_PROJECT_JDK";
|
||||
@NonNls public static final String USE_JAVA_HOME = "#JAVA_HOME";
|
||||
|
||||
private boolean runMavenInBackground = true;
|
||||
@NotNull private String jreName = "";
|
||||
@NotNull private String jreName = USE_PROJECT_JDK;
|
||||
@NotNull private String vmOptions = "";
|
||||
private boolean skipTests = false;
|
||||
private Map<String, String> mavenProperties = new LinkedHashMap<String, String>();
|
||||
@@ -57,9 +55,6 @@ public class MavenRunnerSettings implements Cloneable {
|
||||
|
||||
@NotNull
|
||||
public String getJreName() {
|
||||
if (StringUtil.isEmpty(jreName)) {
|
||||
jreName = getDefaultJdkName();
|
||||
}
|
||||
return jreName;
|
||||
}
|
||||
|
||||
@@ -98,30 +93,6 @@ public class MavenRunnerSettings implements Cloneable {
|
||||
this.mavenProperties = mavenProperties;
|
||||
}
|
||||
|
||||
public Map<String, String> collectJdkNamesAndDescriptions() {
|
||||
Map<String, String> result = new LinkedHashMap<String, String>();
|
||||
|
||||
for (Sdk projectJdk : ProjectJdkTable.getInstance().getSdksOfType(getSdkType())) {
|
||||
String name = projectJdk.getName();
|
||||
result.put(name, name);
|
||||
}
|
||||
|
||||
result.put(USE_INTERNAL_JAVA, RunnerBundle.message("maven.java.internal"));
|
||||
result.put(USE_JAVA_HOME, RunnerBundle.message("maven.java.home.env"));
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
private SdkType getSdkType() {
|
||||
return JavaSdk.getInstance();
|
||||
}
|
||||
|
||||
public String getDefaultJdkName() {
|
||||
Sdk recent = ProjectJdkTable.getInstance().findMostRecentSdkOfType(getSdkType());
|
||||
if (recent == null) return USE_INTERNAL_JAVA;
|
||||
return recent.getName();
|
||||
}
|
||||
|
||||
public void addListener(Listener l) {
|
||||
myListeners.add(l);
|
||||
}
|
||||
|
||||
@@ -27,6 +27,7 @@ import com.intellij.ui.PanelWithAnchor;
|
||||
import com.intellij.ui.components.JBLabel;
|
||||
import com.intellij.util.Alarm;
|
||||
import com.intellij.util.ui.UIUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.idea.maven.utils.MavenUtil;
|
||||
|
||||
@@ -127,6 +128,11 @@ public class MavenEnvironmentForm implements PanelWithAnchor {
|
||||
localRepositoryOverrider.reset(data.getLocalRepository());
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public String getMavenHome() {
|
||||
return mavenHomeOverrider.getResult();
|
||||
}
|
||||
|
||||
public JComponent createComponent() {
|
||||
// all listeners will be removed when dialog is closed
|
||||
mavenHomeComponent.getComponent().addBrowseFolderListener(ProjectBundle.message("maven.select.maven.home.directory"), "", null,
|
||||
|
||||
+13
-6
@@ -15,15 +15,14 @@
|
||||
*/
|
||||
package org.jetbrains.idea.maven.wizards;
|
||||
|
||||
import com.intellij.ide.util.projectWizard.ModuleBuilder;
|
||||
import com.intellij.ide.util.projectWizard.ModuleWizardStep;
|
||||
import com.intellij.ide.util.projectWizard.SourcePathsBuilder;
|
||||
import com.intellij.ide.util.projectWizard.WizardContext;
|
||||
import com.intellij.ide.util.projectWizard.*;
|
||||
import com.intellij.openapi.module.ModuleType;
|
||||
import com.intellij.openapi.module.StdModuleTypes;
|
||||
import com.intellij.openapi.options.ConfigurationException;
|
||||
import com.intellij.openapi.project.DumbAwareRunnable;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.projectRoots.JavaSdk;
|
||||
import com.intellij.openapi.projectRoots.Sdk;
|
||||
import com.intellij.openapi.roots.ModifiableRootModel;
|
||||
import com.intellij.openapi.roots.ui.configuration.ModulesProvider;
|
||||
import com.intellij.openapi.util.IconLoader;
|
||||
@@ -104,10 +103,18 @@ public class MavenModuleBuilder extends ModuleBuilder implements SourcePathsBuil
|
||||
return StdModuleTypes.JAVA;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSuitableSdk(Sdk sdk) {
|
||||
return sdk.getSdkType() == JavaSdk.getInstance();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ModuleWizardStep[] createWizardSteps(WizardContext wizardContext, ModulesProvider modulesProvider) {
|
||||
return new ModuleWizardStep[]{new MavenModuleWizardStep(wizardContext.getProject(), this),
|
||||
new SelectPropertiesStep(wizardContext.getProject(), this)};
|
||||
return new ModuleWizardStep[]{
|
||||
new MavenModuleWizardStep(wizardContext.getProject(), this),
|
||||
new SelectPropertiesStep(wizardContext.getProject(), this),
|
||||
ProjectWizardStepFactory.getInstance().createProjectJdkStep(wizardContext)
|
||||
};
|
||||
}
|
||||
|
||||
public MavenProject findPotentialParentProject(Project project) {
|
||||
|
||||
+17
-3
@@ -16,21 +16,21 @@
|
||||
package org.jetbrains.idea.maven.wizards;
|
||||
|
||||
import com.intellij.ide.util.projectWizard.ModuleWizardStep;
|
||||
import com.intellij.openapi.options.ConfigurationException;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.project.ProjectManager;
|
||||
import com.intellij.util.containers.hash.HashMap;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.idea.maven.execution.MavenPropertiesPanel;
|
||||
import org.jetbrains.idea.maven.indices.MavenIndex;
|
||||
import org.jetbrains.idea.maven.model.MavenArchetype;
|
||||
import org.jetbrains.idea.maven.model.MavenId;
|
||||
import org.jetbrains.idea.maven.project.MavenEnvironmentForm;
|
||||
import org.jetbrains.idea.maven.project.MavenGeneralSettings;
|
||||
import org.jetbrains.idea.maven.project.MavenProjectsManager;
|
||||
import org.jetbrains.idea.maven.utils.MavenUtil;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.*;
|
||||
import java.util.Collections;
|
||||
import java.io.File;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.Map;
|
||||
|
||||
@@ -100,6 +100,20 @@ public class SelectPropertiesStep extends ModuleWizardStep {
|
||||
return myBuilder.getArchetype() != null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean validate() throws ConfigurationException {
|
||||
File mavenHome = MavenUtil.resolveMavenHomeDirectory(myEnvironmentForm.getMavenHome());
|
||||
if (mavenHome == null) {
|
||||
throw new ConfigurationException("Maven home directory is not specified");
|
||||
}
|
||||
|
||||
if (!MavenUtil.isValidMavenHome(mavenHome)) {
|
||||
throw new ConfigurationException("Maven home directory is invalid: " + mavenHome);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateDataModel() {
|
||||
myBuilder.setEnvironmentForm(myEnvironmentForm);
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user