| Current Path : C:/Program Files/Adobe/Adobe Photoshop 2025/Required/layouts/Actions/Panels/ |
| Current File : C:/Program Files/Adobe/Adobe Photoshop 2025/Required/layouts/Actions/Panels/ModernActionsPanel.eve |
layout ModernActionsPanel
{
interface:
detailViewIconVisible : false;
openRecipeCardViewVisible: false;
actionShortcutTextVisible: false;
createNewActionView : false;
showSearchBar <== !detailViewIconVisible && !createNewActionView && !openRecipeCardViewVisible;
showSuggestionsButton : true;
showLibraryButton : true;
showLibraryView : false;
showSuggestionsView : true;
showIconList : true;
showLibraryAndSuggestions: true;
showSearchView :false;
showSearchSuggestionsView: false;
showTabButtons : true;
showTagSuggestionsWaitState: true;
showTagSuggestionsList <== showLibraryAndSuggestions && showSuggestionsView && !showTagSuggestionsWaitState;
showFeaturedSuggestionsWaitState: true;
showFeaturedSuggestionsList <== showLibraryAndSuggestions && showSuggestionsView && !showFeaturedSuggestionsWaitState;
showSearchOnboarding : true;
showSuggestionsRefreshButton: false;
showSearchBarTopMargin <== !showSearchOnboarding;
constant:
zSearchIcon : 'ActionSearchIcon';
grid_button_width: 29;
grid_button_height: 25;
zBackIcon : 'BackArrow';
zInfoIcon : 'PL_Info';
zMoreIcon : 'CxUI_More';
search_suggestion_button_width : 30;
search_suggestion_button_height : 24;
image_suggestions_height : 160;
wait_state_height : image_suggestions_height + 20;
view TView()
{
column(
horizontal : align_fill,
vertical : align_fill,
spacing : -1)
{
TOptional(bind :@openRecipeCardViewVisible,
vertical :align_fill,
horizontal :align_fill)
{
row(height:40,horizontal : align_fill, child_vertical: align_center,margin : [9,10,0,10])
{
TIconButton(identifier: @recipeCardBackButton,
dataType: 'int32',
vertical: align_center,
horizontal : align_left,
iconRootName : zBackIcon);
TIconButton(identifier: @recipeCardMoreButton,
dataType: 'int32',
vertical: align_center,
horizontal : align_right,
iconRootName : zMoreIcon);
}
row(
horizontal : align_fill,
vertical : align_top,
margin :[0,10,0,10]
){
TActionThumbNameDescriptionView(horizontal : align_fill,
vertical : align_top,
placement : place_column,
height :135)
{
row(margin :[8,0,0,0],
vertical :align_top,
horizontal :align_fill
)
{
RoundedIconImageView(identifier : @actionThumbnail,
iconRootName: 'ActionDefaultThumbnailRecipeCard',
horizontal: align_center,
height : 56,
width : 56
);
}
row(margin :[-4,12,0,12],
vertical :align_top,
horizontal :align_fill
)
{
TStaticText (
identifier : @actionNameText,
name : '$$$/private/ActionsPanel/ModernView/Button/RecipeCard/ActionName=Actions Name',
vertical : align_top,
horizontal : align_left,
font : staticFont
);
}
TOptional(bind :@actionShortcutTextVisible,
vertical :align_fill,
horizontal :align_fill
){
row(vertical :align_top,
horizontal :align_fill,
margin :[-2,12,0,12]){
TStaticText (
identifier : @actionShortcutText,
name : '$$$/private/ActionsPanel/ModernView/Button/RecipeCard/ActionShortcut=Action Shortcut',
vertical : align_top,
horizontal : align_left,
font : staticSmallFont);
}
}
row(horizontal: align_left,
margin :[-4,12,0,12]) {
row(child_vertical: align_center) {
TStaticText(vertical: align_bottom,
lines: 2, auto_wrap: true,
identifier: @actionDescriptionText,
name: '$$$/private/ActionsPanel/ModernView/Button/RecipeCard/ActionDescription=Description');
}
}
}
}
row(horizontal : align_fill, child_vertical: align_center,spacing: 10, margin :[0,10,0,10])
{
TStaticText(identifier: @stepsText,
width: 40,
height: 15,
horizontal: align_left,
vertical: align_center,
name: '$$$/ActionsPanel/ModernView/Steps/Name=Steps');
TActionsPanelIconView(
identifier : @actionOpenViewIcons,
height : 20,
horizontal : align_fill);
}
TScroller(
horizontal : align_fill,
vertical : align_fill,
noFrame : true,
verticalScroll : true)
{
TActionThumbnailView(
identifier : @actionsCommandList,
horizontal : align_fill,
vertical : align_fill);
}
TBevelViewDown(height: 2, width: 232,vertical:align_bottom, horizontalResizeBehavior: sizeRelSuperView, horizontal: align_fill);
row(height:38,
vertical:align_bottom,
horizontal : align_fill,
child_vertical: align_center,
margin :[-1,0,10,14]){
TModernTextButton(identifier: @ApplyButtonRecipeCardView,
name: '$$$/ActionsPanel/ModernView/Button/RecipeCardButton/Apply=Apply',
vertical: align_center,
horizontal: align_right,
height: 22,
font : staticFont);
}
}
column(horizontal : align_fill)
{
TOptional(
bind : @showSearchOnboarding,
value : true,
spacing : 0,
horizontal : align_fill,
vertical : align_fill,
margin : [8, 10, 0, 10])
{
TActionSearchOnboardingBackgroundView(horizontal: align_fill,
vertical: align_fill) {
TIconImageView(iconRootName: 'ActionSearchOnboarding',
horizontal: align_fill,
width: 220,
height: 80);
}
}
TOptional(
bind : @showSearchBarTopMargin,
value : true,
horizontal : align_fill,
spacing : 0)
{
TView(margin: [10, 0, 0, 0]) {}
}
TOptional(
bind : @showSearchBar,
value : true,
horizontal : align_fill,
spacing : 0,
margin : [0, 10, 10, 10])
{
#ifdef MacEve
// This is a hack for handling all focus related errors on mac. Currently, whenever we reopen the actions panel, the search bar assumes an
// incomplete focus (on Mac) which causes a range of issues, that would require handlings at multiple places (and make the code more complex).
// Adding a non-visible TEditText here eliminates these issues by assuming the focus whenever actions panel is reopened.
TEditText (
width: 0,
height: -2,
margin: [0, 0, 0, 0]);
#endif
row(horizontal: align_fill, child_vertical: align_center)
{
TSearchBarView(
identifier : @actionSearchBar,
horizontal : align_fill,
height : 24)
{
row(horizontal: align_fill, child_vertical: align_center, vertical: align_center, margin: [0, 10, 0, 5])
{
TIconImageView(identifier: @actionSearchIcon, vertical: align_center, iconRootName : zSearchIcon);
TEditText (identifier: @actionSearchText,
width: 20,
height: 19,
horizontal : align_fill,
maxChars: 250,
frame: 0);
}
}
TIconButton(
identifier : @searchCancelButton,
dataType : 'int32',
horizontal : align_right,
vertical : align_center,
width : 14,
height : 14,
useDefaultIcon : false,
drawDepressed : false,
iconRootName : 'CancelBtn',
tooltip : '$$$/ActionsPanel/ModernView/Button/Cancel/ToolTip=Exit Search');
}
}
}
TBevelViewDown(height: 2, width: 232, horizontalResizeBehavior: sizeRelSuperView, horizontal: align_fill);
TOptional(bind : @showLibraryAndSuggestions,
horizontal : align_fill,
vertical : align_fill,
spacing : 0)
{
TOptional(
bind : @showTabButtons,
horizontal : align_fill,
margin : [5, 2, 8, 7])
{
row(horizontal : align_fill, spacing: -5)
{
TOptional(
bind : @showSuggestionsButton)
{
TModernTextButton(identifier: @suggestionsButton,
width: 40,
height: 15,
horizontal: align_left,
vertical: align_center,
name: '$$$/ActionsPanel/ModernView/Button/SuggestionsButton/Name=Suggested',
tooltip: '$$$/ActionsPanel/ModernView/Button/SuggestionsButton/Tooltip=Suggested');
}
TOptional(
bind : @showLibraryButton)
{
TModernTextButton(identifier: @libraryButton,
width: 40,
height: 15,
horizontal: align_left,
vertical: align_center,
name: '$$$/ActionsPanel/ModernView/Button/LibraryButton/Name=Yours',
tooltip: '$$$/ActionsPanel/ModernView/Button/LibraryButton/Tooltip=Yours');
}
TOptional(
bind : @showIconList,
horizontal : align_fill)
{
TActionsPanelIconView(
identifier : @actionsPanelIcons,
height : 20,
horizontal : align_fill);
}
}
}
TOptional(bind : @showLibraryView,
horizontal : align_fill,
vertical : align_fill)
{
TScroller(
horizontal : align_fill,
vertical : align_fill,
noFrame : true,
verticalScroll : true)
{
TActionThumbnailView(
identifier : @actionsList,
horizontal : align_fill,
vertical : align_fill);
}
}
TOptional(bind : @showSuggestionsView,
horizontal : align_fill,
vertical : align_fill)
{
TScroller(
identifier : @suggestionsScroller,
horizontal : align_fill,
vertical : align_fill,
noFrame : true,
verticalScroll : true)
{
TActionSuggestionView(
identifier : @suggestionsList,
horizontal: align_fill,
vertical: align_fill)
{
column(
horizontal : align_fill,
vertical : align_fill)
{
column(
horizontal : align_fill,
vertical : align_top,
spacing: 5)
{
row(
horizontal : align_fill, margin:[0, 12, 0, 10])
{
TActionSuggestionHeaderView(placement: place_row,horizontal : align_fill)
{
TIconImageView(horizontal: align_left, vertical: align_center, iconRootName: 'GenerativeLayer', width: 14, height: 14);
TStaticText(horizontal: align_left, vertical: align_center,
name: '$$$/SuggestionsView/Labels/Suggestions/Name=Based on your image', useDefaultColor: true);
TOptional(bind : @showSuggestionsRefreshButton,
horizontal: align_right,
vertical: align_fill)
{
TIconButton(identifier: @suggestionsRefreshButton,
dataType : 'int32',
horizontal : align_right,
vertical : align_fill,
iconRootName : 'RefreshView',
useDefaultIcon : false,
drawDepressed : false,
width : 12,
height : 8);
}
}
}
TOptional(bind : @showTagSuggestionsWaitState,
horizontal : align_fill,
vertical : align_fill,
margin : [5, 10, 0, 10])
{
TActionWaitStateBackgroundView(horizontal : align_fill,
vertical : align_fill,
placement : place_column,
height : wait_state_height)
{
column(horizontal : align_fill, vertical: align_center ) {
TIconImageView(horizontal: align_center, vertical: align_fill, iconRootName: 'ActionSuggestionPopulateIcon');
TStaticText (
identifier : @suggestionsWaitText,
name : 'Choosing relevant Actions...',
vertical : align_fill,
max_width : 40,
multiline : true,
lines : 3,
horizontal : align_center,
autoWrap : true,
font : staticSmallFont,
wincontrol : false
);
}
}
}
TOptional(bind : @showTagSuggestionsList,
horizontal : align_fill,
vertical : align_fill)
{
TActionThumbnailView(
identifier : @imageSuggestions,
horizontal : align_fill,
vertical : align_fill,
height : image_suggestions_height);
column(
horizontal : align_fill,
vertical : align_top)
{
TStaticText(identifier: @feedback_link,
horizontal: align_center,
name: '$$$/SuggestionsView/FeedbackLink/Name=Give feedback on Actions',
customFontSize: 12,
autoWrap: true,
height : 24);
}
}
}
column(
horizontal : align_fill,
vertical : align_top,
spacing: 5)
{
row(
horizontal : align_fill, margin:[0, 10, 0, 0]
)
{
TIconImageView(horizontal: align_left, vertical: align_center, iconRootName: 'ActionFeaturedSuggestionIcon', width: 14, height: 14);
TStaticText(horizontal: align_left, vertical: align_center,
name: '$$$/SuggestionsView/Labels/Featured/Name=Featured essentials', useDefaultColor: true);
}
TOptional(bind : @showFeaturedSuggestionsWaitState,
horizontal : align_fill,
vertical : align_fill,
height : wait_state_height)
{
TView(margin: [0, 0, 0, 0]) {}
}
TOptional(bind : @showFeaturedSuggestionsList,
horizontal : align_fill,
vertical : align_fill)
{
TActionThumbnailView(
identifier : @featuredSuggestions,
horizontal : align_fill,
vertical : align_fill,
height : image_suggestions_height);
}
}
}
}
}
}
}
TOptional(bind : @showSearchSuggestionsView,
horizontal : align_fill,
vertical : align_fill)
{
TIconButtonCluster_int32(
frame : gClusterFrame,
identifier : @searchSuggestionCluster,
vertical : align_top,
placement : place_column,
spacing : 6,
margin : [10, 10, 10, 0])
{
TIconButton(identifier : @searchSuggestion_1,
height : search_suggestion_button_height,
width : search_suggestion_button_width,
horizontal : align_left,
vertical : align_center,
dataType : 'int32',
frame : 2,
alignIconTextTogether: true,
iconTextAlignment: align_left,
fontColorFromTheme: true,
iconRootName : zSearchIcon,
initialValue : 0,
hiliteStrokeSize: 2,
hiliteStrokeColorContrast: true,
button_style : 'standard',
layoverTextPosition: align_right);
TIconButton(identifier : @searchSuggestion_2,
height : search_suggestion_button_height,
width : search_suggestion_button_width,
horizontal : align_left,
vertical : align_center,
dataType : 'int32',
frame : 2,
alignIconTextTogether: true,
iconTextAlignment: align_left,
fontColorFromTheme: true,
iconRootName : zSearchIcon,
initialValue : 1,
hiliteStrokeSize: 2,
hiliteStrokeColorContrast: true,
button_style : 'standard',
layoverTextPosition: align_right);
TIconButton(identifier : @searchSuggestion_3,
height : search_suggestion_button_height,
width : search_suggestion_button_width,
horizontal : align_left,
vertical : align_center,
dataType : 'int32',
frame : 2,
alignIconTextTogether: true,
iconTextAlignment: align_left,
fontColorFromTheme: true,
iconRootName : zSearchIcon,
initialValue : 2,
hiliteStrokeSize: 2,
hiliteStrokeColorContrast: true,
button_style : 'standard',
layoverTextPosition: align_right);
TIconButton(identifier : @searchSuggestion_4,
height : search_suggestion_button_height,
width : search_suggestion_button_width,
horizontal : align_left,
vertical : align_center,
dataType : 'int32',
frame : 2,
alignIconTextTogether: true,
iconTextAlignment: align_left,
fontColorFromTheme: true,
iconRootName : zSearchIcon,
initialValue : 3,
hiliteStrokeSize: 2,
hiliteStrokeColorContrast: true,
button_style : 'standard',
layoverTextPosition: align_right);
TIconButton(identifier : @searchSuggestion_5,
height : search_suggestion_button_height,
width : search_suggestion_button_width,
horizontal : align_left,
vertical : align_center,
dataType : 'int32',
frame : 2,
alignIconTextTogether: true,
iconTextAlignment: align_left,
fontColorFromTheme: true,
iconRootName : zSearchIcon,
initialValue : 4,
hiliteStrokeSize: 2,
hiliteStrokeColorContrast: true,
button_style : 'standard',
layoverTextPosition: align_right);
}
}
TOptional(bind : @showSearchView,
horizontal : align_fill,
vertical : align_fill)
{
TScroller(
horizontal : align_fill,
vertical : align_fill,
noFrame : true,
verticalScroll : true)
{
TActionThumbnailView(
identifier : @searchList,
horizontal : align_fill,
vertical : align_fill);
}
}
}
}
}