#!/usr/bin/env python # -*- coding: utf-8 -*- """ Application Constants -------------------- 应用程序的常量定义,按功能模块分类 """ # ==================== 默认路径 ==================== # 默认项目文件夹路径 DEFAULT_WORKSPACE_PATH = "D:\\Workspace" # 默认Maya插件文件夹路径 DEFAULT_MAYA_PLUGINS_PATH = "D:\\Plugins\\Maya" # 默认SPShelf文件夹路径 DEFAULT_SP_SHELF_PATH = "D:\\Plugins\\SPShelf" # ==================== 项目模板配置 ==================== # 默认任务类型文件夹模板 DEFAULT_TASK_FOLDER_TEMPLATES = { "Character": [ "Reference", "MP", "HP", "LP", "Baking", "Baking/HP", "Baking/LP", "Texture", "Texture/MeshMaps", "Texture/SP", "FBX", "Screenshot" ], "Weapon": [ "Reference", "MP", "HP", "LP", "Baking", "Baking/HP", "Baking/LP", "Texture", "Texture/MeshMaps", "Texture/SP", "FBX", "Screenshot" ], "Prop": [ "Reference", "MP", "HP", "LP", "Baking", "Baking/HP", "Baking/LP", "Texture", "Texture/MeshMaps", "Texture/SP", "FBX", "Screenshot" ], "Environment": [ "Reference", "MP", "HP", "LP", "Baking", "Baking/HP", "Baking/LP", "Texture", "Texture/MeshMaps", "Texture/SP", "FBX", "Screenshot" ], "Animation": [ "Reference", "Maya", "FBX", "Mocap" ], "Rigging": [ "Source", "Maya", "FBX" ], "Other": [ "Reference", "MP", "HP", "LP", "Baking", "Baking/HP", "Baking/LP", "Texture", "Texture/MeshMaps", "Texture/SP", "FBX", "Screenshot" ] } # ==================== 图标映射配置 ==================== # 应用名称到图标的映射 APP_ICON_MAPPING = { "maya": "Maya", "maya2025": "Maya", "maya2026": "Maya", "maya2027": "Maya", "maya2028": "Maya", "maya2029": "Maya", "maya2020": "Maya", "maya2021": "Maya", "maya2022": "Maya", "maya2023": "Maya", "maya2024": "Maya", "ma": "Maya", "3dsmax": "3DsMax", "3ds": "3DsMax", "3ds-max": "3DsMax", "max": "3DsMax", "blender": "Blender", "photoshop": "Photoshop", "painter": "SubstancePainter", "3dpainter": "SubstancePainter", "substancepainter": "SubstancePainter", "substance3dpainter": "SubstancePainter", "sp": "SubstancePainter", "designer": "SubstanceDesigner", "3ddesigner": "SubstanceDesigner", "substancedesigner": "SubstanceDesigner", "substance3ddesigner": "SubstanceDesigner", "sd": "SubstanceDesigner", "marvelousdesigner": "MarvelousDesigner", "marvelous": "MarvelousDesigner", "md": "MarvelousDesigner", "marvelousdesigner": "MarvelousDesigner", "marvelous": "MarvelousDesigner", "rizom": "RizomUV", "rizomuv": "RizomUV", "zbrush": "Zbrush", "ue": "UnrealEngine", "ue4": "UnrealEngine", "ue5": "UnrealEngine", "ue6": "UnrealEngine", "unrealengine": "UnrealEngine", "unrealtoolbox": "UnrealEngine", "unrealgamesync": "UnrealGameSync", "ugs": "UnrealGameSync", "uefn": "UEFN", "marmoset": "MarmosetToolBag", "marmosettoolbag": "MarmosetToolBag", "toolbag": "MarmosetToolBag", "3dcoat": "3DCoat", "houdini": "Houdini", "houdinifx": "Houdini", "houdiniengine": "Houdini", "everything": "Everything", "billfish": "Billfish", "eagle": "Eagle" } # ==================== 通用UI常量 ==================== # 预设颜色列表 PRESET_COLORS = [ "#607d8b", # 蓝灰色(默认) "#2196f3", # 蓝色 "#f44336", # 红色 "#4caf50", # 绿色 "#ff9800", # 橙色 "#9c27b0", # 紫色 "#00bcd4", # 青色 "#ffeb3b", # 黄色 "#009688", # 青绿色 "#673ab7", # 深紫色 "#3f51b5", # 青蓝色 "#795548" # 棕色 ] # 基础颜色 BG_COLOR_DARK = "#2b2b2b" BG_COLOR_LIGHT = "#3a3a3a" BG_COLOR_FRAME = "#3a3a3a" BG_COLOR_BUTTON = "#4a5568" BG_COLOR_BUTTON_HOVER = "#2d3748" COLOR_TRANSPARENT = "transparent" BORDER_COLOR = "#555555" BORDER_COLOR_WHITE = "#ffffff" LINE_COLOR_GRAY = "#aaaaaa" # 文本颜色 TEXT_COLOR_PRIMARY = "white" TEXT_COLOR_SECONDARY = "gray" TEXT_COLOR_WHITE = "#ffffff" # 状态颜色 COLOR_SUCCESS = "#28a745" COLOR_SUCCESS_HOVER = "#218838" COLOR_ERROR = "#dc3545" COLOR_ERROR_HOVER = "#c82333" COLOR_WARNING = "#ffc107" COLOR_INFO = "#17a2b8" # 通用按钮颜色 BUTTON_GRAY = "#757575" BUTTON_GRAY_HOVER = "#616161" BUTTON_RED = "#d32f2f" BUTTON_RED_HOVER = "#b71c1c" BUTTON_BLUE = "#2d6ba0" BUTTON_BLUE_HOVER = "#1d5b90" BUTTON_GREEN = "#3a8545" BUTTON_GREEN_HOVER = "#2a7535" # 对话框颜色 DIALOG_BG_COLOR = "#2b2b2b" DIALOG_TEXT_COLOR = "#e0e0e0" # 拖拽和选择颜色 DRAG_HIGHLIGHT_COLOR = "#3584e4" DRAG_HIGHLIGHT_BG = "#2a3f52" SELECTION_BORDER = "#1e5a96" # 更深的蓝色边框 SELECTION_BG = "#2d3441" # 选择时的背景色(更亮一些,保持可读性) # ==================== 主窗口常量 ==================== # 滚动条颜色 - 与卡片颜色统一 SCROLLBAR_COLOR = "#2b2b2b" # 与卡片背景色一致 SCROLLBAR_HOVER_COLOR = "#3a3a3a" # 悬停时稍亮一些 # 分段按钮颜色 SEGMENTED_BUTTON_SELECTED_COLOR = "#4a5568" SEGMENTED_BUTTON_SELECTED_HOVER_COLOR = "#2d3748" SEGMENTED_BUTTON_UNSELECTED_COLOR = "#3a3a3a" SEGMENTED_BUTTON_UNSELECTED_HOVER_COLOR = "#4a4a4a" # 下拉菜单颜色 DROPDOWN_FG_COLOR = "#2b2b2b" DROPDOWN_HOVER_COLOR = "#4a5568" # ==================== 项目管理面板常量 ==================== # 项目面板背景颜色(与任务面板保持一致) PROJECT_PANEL_BG_LIGHT = "#3B4252" PROJECT_PANEL_BG_DARK = "#2E3440" # ==================== 设置窗口常量 ==================== # 特殊按钮颜色 SAVE_BUTTON_COLOR = "#2e7d32" SAVE_BUTTON_HOVER = "#1b5e20" SAVE_BUTTON_BORDER = "#34d058" # ==================== 任务管理面板常量 ==================== # 任务面板颜色 TASK_PANEL_BG_LIGHT = "#3B4252" TASK_PANEL_BG_DARK = "#2E3440" # 重置按钮颜色 RESET_BUTTON_BORDER = "#868e96" # ==================== 节点编辑器常量 ==================== # 画布和网格颜色 NODE_CANVAS_BG = "#1a202c" NODE_GRID_COLOR = "#2d3748" # 节点颜色 NODE_BG_COLOR = "#2d2d2d" NODE_BORDER_COLOR = "#3a3a3a" NODE_SELECTED_BORDER = "#00d9ff" NODE_ID_TEXT_COLOR = "#888888" # 连接点和连接线颜色 NODE_INPUT_COLOR = "#5a9fd4" NODE_OUTPUT_COLOR = "#10b981" NODE_CONNECTION_COLOR = "#5a9fd4" NODE_CONNECTION_SELECTED = "#ff6b6b" # 节点颜色调色板 NODE_COLOR_PALETTE = [ "#5a9fd4", # 蓝色 "#10b981", # 绿色 "#d97706", # 橙色 "#dc2626", # 红色 "#8b5cf6", # 紫色 "#ec4899", # 粉色 "#06b6d4", # 青色 "#f59e0b", # 黄色 "#6366f1", # 靛蓝 "#14b8a6", # 青绿 "#f97316", # 深橙 "#a855f7", # 紫罗兰 ] # ==================== 通用尺寸常量 ==================== # 窗口尺寸常量 # 主窗口尺寸 CONSOLE_WINDOW_SIZE = "600x400" # 设置窗口尺寸 SETTINGS_WINDOW_SIZE = "650x800" # SubFolder Editor 窗口尺寸 SUBFOLDER_EDITOR_WINDOW_SIZE = "1200x900" SUBFOLDER_EDITOR_MIN_SIZE = (1000, 800) # 对话框尺寸 DIALOG_INPUT_SIZE = "400x220" DIALOG_CONFIRM_SIZE = "450x200" DIALOG_APP_EDIT_SIZE = "650x700" DIALOG_ICON_SELECT_SIZE = "600x400" DIALOG_MESSAGE_SIZE = "400x250" DIALOG_YES_NO_SIZE = "450x250" DIALOG_NODE_RENAME_SIZE = "400x180" # 对话框尺寸 (width, height) - 保持向后兼容 DIALOG_SIZE_SMALL = (400, 220) DIALOG_SIZE_MEDIUM = (450, 200) DIALOG_SIZE_LARGE = (650, 700) DIALOG_SIZE_XLARGE = (600, 400) # 图标尺寸 ICON_SIZE_TINY = 1 ICON_SIZE_SMALL = 22 ICON_SIZE_MEDIUM = 48 ICON_SIZE_LARGE = 64 ICON_SIZE_XLARGE = 128 # 按钮尺寸 BUTTON_WIDTH_SMALL = 80 BUTTON_WIDTH_MEDIUM = 100 BUTTON_WIDTH_LARGE = 120 BUTTON_HEIGHT_SMALL = 30 BUTTON_HEIGHT_MEDIUM = 40 # 圆角半径 CORNER_RADIUS_SMALL = 8 CORNER_RADIUS_MEDIUM = 10 CORNER_RADIUS_LARGE = 15 # 间距 PADDING_SMALL = 5 PADDING_MEDIUM = 10 PADDING_LARGE = 20 # ==================== 字体常量 ==================== FONT_SIZE_TINY = 8 FONT_SIZE_SMALL = 10 FONT_SIZE_MEDIUM = 12 FONT_SIZE_LARGE = 13 FONT_SIZE_XLARGE = 16 # ==================== 应用配置常量 ==================== # 图标延迟设置时间 ICON_DELAY_SHORT = 10 ICON_DELAY_MEDIUM = 50 ICON_DELAY_LONG = 200 # 默认窗口设置 DEFAULT_ICON_SIZE = 80 MIN_ICON_SIZE = 50 MAX_ICON_SIZE = 150 DEFAULT_WINDOW_WIDTH = 425 DEFAULT_WINDOW_HEIGHT = 480 MIN_WINDOW_WIDTH = 200 MIN_WINDOW_HEIGHT = 200 # 任务栏高度(用于窗口定位) TASKBAR_HEIGHT = 80 # 网格列数 MAX_GRID_COLUMNS = 7 DEFAULT_GRID_COLUMNS = 3