1/* 2 * Copyright (c) 2022 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16import { CommonConstants } from '@ohos/common'; 17import { PresetStyleConstants } from '@ohos/common'; 18import { LauncherLayoutStyleConfig } from '@ohos/common'; 19import PadPresetStyleConstants from './constants/PadPresentConstants'; 20 21/** 22 * Pad launcher config 23 */ 24export default class PadLauncherLayoutStyleConfig extends LauncherLayoutStyleConfig { 25 26 /** 27 * CommonDialog width 28 */ 29 mCommonDialogWidth: string = PadPresetStyleConstants.DEFAULT_COMMONDIALOG_WIDTH; 30 31 /** 32 * systemUI top height 33 */ 34 mSysTopHeight: number = PadPresetStyleConstants.DEFAULT_SYS_TOP_HEIGHT; 35 36 /** 37 * systemUI bottom height 38 */ 39 mSysBottomHeight: number = PadPresetStyleConstants.DEFAULT_SYS_BOTTOM_HEIGHT; 40 41 /** 42 * systemUI height (top + bottom) 43 */ 44 mSystemUIHeight: number = PresetStyleConstants.DEFAULT_PAD_SYSTEM_UI; 45 46 /** 47 * indicator height 48 */ 49 mIndicatorHeight: number = PresetStyleConstants.DEFAULT_PAD_INDICATOR_HEIGHT; 50 51 /** 52 * desktop item Size 53 */ 54 mAppItemSize: number = PadPresetStyleConstants.DEFAULT_APP_LAYOUT_SIZE; 55 56 /** 57 * desktop space margin 58 */ 59 mMargin: number = PadPresetStyleConstants.DEFAULT_LAYOUT_MARGIN; 60 61 /** 62 * desktop grid gap 63 */ 64 mGridGutter: number = PadPresetStyleConstants.DEFAULT_APP_LAYOUT_MIN_GUTTER; 65 66 /** 67 * icon name lines 68 */ 69 mNameLines: number = PadPresetStyleConstants.DEFAULT_APP_NAME_LINES; 70 /** 71 * icon ratio 72 */ 73 mIconRatio: number = PadPresetStyleConstants.DEFAULT_APP_TOP_RATIO; 74 75 /** 76 * icon name margin 77 */ 78 mIconNameGap: number = PadPresetStyleConstants.DEFAULT_ICON_NAME_GAP; 79 80 /** 81 * icon name text size 82 */ 83 mNameSize: number = PadPresetStyleConstants.DEFAULT_APP_NAME_TEXT_SIZE; 84 85 /** 86 * name height 87 */ 88 mNameHeight: number = PadPresetStyleConstants.DEFAULT_DESKTOP_NAME_HEIGHT; 89 //folder 90 /** 91 * ratio of gutter with folder 92 */ 93 mFolderGutterRatio: number = PadPresetStyleConstants.DEFAULT_FOLDER_GUTTER_RATIO; 94 95 /** 96 * ratio of margin with folder 97 */ 98 mFolderMarginRatio: number = PadPresetStyleConstants.DEFAULT_FOLDER_PADDING_RATIO; 99 100 /** 101 * gutter of open folder 102 */ 103 mFolderOpenGutter: number = PadPresetStyleConstants.DEFAULT_OPEN_FOLDER_GUTTER; 104 105 /** 106 * padding of open folder 107 */ 108 mFolderOpenPADDING: number = PadPresetStyleConstants.DEFAULT_OPEN_FOLDER_PADDING; 109 110 /** 111 * margin of open folder 112 */ 113 mFolderOpenMargin: number = PadPresetStyleConstants.DEFAULT_OPEN_FOLDER_MARGIN_TOP; 114 115 /** 116 * margin top of open folder 117 */ 118 mFolderOpenTitle: number = PadPresetStyleConstants.DEFAULT_OPEN_FOLDER_TITLE_TOP; 119 120 /** 121 * gutter of add app 122 */ 123 mFolderAddGridGap: number = PadPresetStyleConstants.DEFAULT_FOLDER_ADD_GAP; 124 125 /** 126 * margin of add app and padding of add app 127 */ 128 mFolderAddGridMargin: number = PadPresetStyleConstants.DEFAULT_FOLDER_ADD_MARGIN; 129 130 /** 131 * max height of add app 132 */ 133 mFolderAddMaxHeight: number = PadPresetStyleConstants.DEFAULT_FOLDER_ADD_MAX_HEIGHT; 134 135 /** 136 * toggle size of add app 137 */ 138 mFolderToggleSize: number = PadPresetStyleConstants.DEFAULT_APP_GRID_TOGGLE_SIZE; 139 140 /** 141 * name lines of add app 142 */ 143 mFolderAddTextLines: number = PadPresetStyleConstants.DEFAULT_FOLDER_ADD_TEXT_LINES; 144 145 /** 146 * text size of add app 147 */ 148 mFolderAddTextSize: number = PadPresetStyleConstants.DEFAULT_FOLDER_ADD_GRID_TEXT_SIZE; 149 150 /** 151 * title size of add app 152 */ 153 mFolderAddTitleSize: number = PadPresetStyleConstants.DEFAULT_FOLDER_ADD_TITLE_TEXT_SIZE; 154 155 /** 156 * ratio of padding top with icon in add app 157 */ 158 mFolderAddIconRatio: number = PadPresetStyleConstants.DEFAULT_FOLDER_ADD_ICON_TOP_RATIO; 159 160 /** 161 * button size of add app 162 */ 163 mFolderAddButtonSize: number = PadPresetStyleConstants.DEFAULT_FOLDER_ADD_BUTTON_SIZE; 164 //App Center 165 /** 166 * left margin of app center 167 */ 168 mAppCenterMarginLeft: number = PadPresetStyleConstants.DEFAULT_APP_CENTER_MARGIN; 169 170 //App Center 171 /** 172 * margin of app center 173 */ 174 mAppCenterMargin: number = PadPresetStyleConstants.DEFAULT_APP_CENTER_MARGIN; 175 176 /** 177 * gutter of app center 178 */ 179 mAppCenterGutter: number = PadPresetStyleConstants.DEFAULT_APP_CENTER_GUTTER; 180 181 /** 182 * size of app center container 183 */ 184 mAppCenterSize: number = PadPresetStyleConstants.DEFAULT_APP_CENTER_SIZE; 185 186 /** 187 * ratio of padding top with icon in app center 188 */ 189 mAppCenterRatio: number = PadPresetStyleConstants.DEFAULT_APP_CENTER_TOP_RATIO; 190 191 /** 192 * name lines of app center 193 */ 194 mAppCenterNameLines: number = PadPresetStyleConstants.DEFAULT_APP_CENTER_NAME_LINES; 195 196 /** 197 * name size of app center 198 */ 199 mAppCenterNameSize: number = PadPresetStyleConstants.DEFAULT_APP_CENTER_NAME_TEXT_SIZE; 200 201 //dock 202 /** 203 * padding of dock 204 */ 205 mDockPadding: number = PadPresetStyleConstants.DEFAULT_DOCK_PADDING; 206 207 /** 208 * icon size of dock 209 */ 210 mDockIconSize: number = PadPresetStyleConstants.DEFAULT_DOCK_ICON_SIZE; 211 212 /** 213 * gap of icon and icon 214 */ 215 mDockItemGap: number = PadPresetStyleConstants.DEFAULT_DOCK_ITEM_GAP; 216 217 /** 218 * gap of dock and dock 219 */ 220 mDockGutter: number = PadPresetStyleConstants.DEFAULT_DOCK_GUTTER; 221 222 /** 223 * save margin of dock 224 */ 225 mDockSaveMargin: number = PadPresetStyleConstants.DEFAULT_DOCK_SAVE_MARGIN; 226 227 /** 228 * margin bottom of dock 229 */ 230 mDockMarginBottom: number = PadPresetStyleConstants.DEFAULT_DOCK_MARGIN_BOTTOM; 231 232 /** 233 * margin bottom of dock (Immersive navigation bar) 234 */ 235 mDockMarginBottomHideBar: number = PadPresetStyleConstants.DEFAULT_DOCK_MARGIN_BOTTOM_HIDE_BAR; 236 237 private constructor() { 238 super(); 239 } 240 241 /** 242 * PadLauncherLayoutStyleConfig of instance 243 */ 244 static getInstance(): PadLauncherLayoutStyleConfig { 245 if (globalThis.PadLauncherLayoutStyleConfigInstance == null) { 246 globalThis.PadLauncherLayoutStyleConfigInstance = new PadLauncherLayoutStyleConfig(); 247 } 248 return globalThis.PadLauncherLayoutStyleConfigInstance; 249 } 250 251 getConfigLevel(): string { 252 return CommonConstants.LAYOUT_CONFIG_LEVEL_PRODUCT; 253 } 254 255 getFeatureName(): string { 256 return LauncherLayoutStyleConfig.LAUNCHER_PRODUCT_STYLE_CONFIG; 257 } 258} 259