From a6eea1de3f2f73dce19de7a4cb0bf616697c793e Mon Sep 17 00:00:00 2001 From: LeshaInc Date: Tue, 9 Jun 2020 19:46:30 +0300 Subject: [PATCH] Add status bar --- sprites/icons/DragLMB.png | Bin 0 -> 246 bytes sprites/icons/DragRMB.png | Bin 0 -> 376 bytes sprites/icons/LMB.png | Bin 0 -> 191 bytes sprites/icons/RMB.png | Bin 0 -> 346 bytes .../resources/ocelot/desktop/colorscheme.txt | 7 +- .../resources/ocelot/desktop/spritesheet.png | Bin 59726 -> 60259 bytes .../resources/ocelot/desktop/spritesheet.txt | 172 +++++++++--------- src/main/scala/ocelot/desktop/node/Node.scala | 12 +- .../ocelot/desktop/node/NodeTypeWidget.scala | 11 +- .../ocelot/desktop/ui/widget/RootWidget.scala | 26 ++- .../ocelot/desktop/ui/widget/Widget.scala | 12 +- .../desktop/ui/widget/WorkspaceView.scala | 13 +- .../ui/widget/statusbar/MouseEntry.scala | 21 +++ .../ui/widget/statusbar/StatusBar.scala | 25 +++ 14 files changed, 199 insertions(+), 100 deletions(-) create mode 100644 sprites/icons/DragLMB.png create mode 100644 sprites/icons/DragRMB.png create mode 100644 sprites/icons/LMB.png create mode 100644 sprites/icons/RMB.png create mode 100644 src/main/scala/ocelot/desktop/ui/widget/statusbar/MouseEntry.scala create mode 100644 src/main/scala/ocelot/desktop/ui/widget/statusbar/StatusBar.scala diff --git a/sprites/icons/DragLMB.png b/sprites/icons/DragLMB.png new file mode 100644 index 0000000000000000000000000000000000000000..e6e8bc7a15d9626f1ce6a5c2129b009a2c83499b GIT binary patch literal 246 zcmeAS@N?(olHy`uVBq!ia0vp^qCm{Y!3HD`u!WxkQk(@Ik;M!Q{D~mUxWayUCQxvN zr;B5Vh5z2kfqV@H9L`58{%iX?Dy~`lV!GOIgEjdVN;iGIpKXm!BqU4D;A8e!Q z)g-ujrQ0?h+JCCMrsLI@`v=Ybb^n|t5Odjb21jeunhmFyILUj*7au9|TYgrh|8lEX t?;YMrZvs9}|M35pkFw?)QIp_2^*3B0{C`6wuL0f6;OXk;vd$@?2>_(cWq1Gp literal 0 HcmV?d00001 diff --git a/sprites/icons/DragRMB.png b/sprites/icons/DragRMB.png new file mode 100644 index 0000000000000000000000000000000000000000..edc235874ceffba81cc21ef276c29f627a48ff38 GIT binary patch literal 376 zcmeAS@N?(olHy`uVBq!ia0vp^qCm{Y!2%?+_~*LO>_%)r2(2*Qjj?3ZT(1=&kHeO=j~uyOM1XhqFm6Acu~_H=O!(Kz25=*V|Kfrshx z|N5D-F>@}=ywQD$>DIIl6BOkbw-ig3mMKl&IoW-m+%4Tx#q0Z}=3fq7SiYH)b&7EF z)=exS|D4P01)3bLl;`GDZf54uKe}_))A@Dh4!9kE%;i(|>T%x2+NiKv29s1xv1{w> zvw+sBmbgZgq$HN4S|t~y0x1R~10w@n12bI%%Me3TD`QJ5Lvw8d11kfA1rMDXQ8eV{ ar(~v8;?{6+&o5h`1_n=8KbLh*2~7Y2cXT}f literal 0 HcmV?d00001 diff --git a/sprites/icons/LMB.png b/sprites/icons/LMB.png new file mode 100644 index 0000000000000000000000000000000000000000..72810fafd7d340c557d1741c856bac5b500d2105 GIT binary patch literal 191 zcmeAS@N?(olHy`uVBq!ia0vp^+(697!3HFMCO(@Aq&N#aB8wRq_!B{xafSWzOrT() zr;B5VM)1^0fqV@H9L@(T{%bFGKE1)9w?<-{%`T=@XEsbJUiJ8peY!I{=ce)RnmNpVc8phk neh%7H9(U?}>Eh|<dAqwX{BQ3+vmeOg zEbxddW?3_0}WO!ag8WRNi0dVN-jzTQVd20Mh3bDX1WHJA%><_ t#+Fvb2HFM&Rt5&@$<;+D8glbfGSez?YY4MDd=99A!PC{xWt~$(69E4PVZHzW literal 0 HcmV?d00001 diff --git a/src/main/resources/ocelot/desktop/colorscheme.txt b/src/main/resources/ocelot/desktop/colorscheme.txt index 6ba79c3..77b9bab 100644 --- a/src/main/resources/ocelot/desktop/colorscheme.txt +++ b/src/main/resources/ocelot/desktop/colorscheme.txt @@ -31,4 +31,9 @@ ContextMenuSeparator = #444444 ComputerAddress = #333333 -ScreenOff = #000000 \ No newline at end of file +ScreenOff = #000000 + +StatusBar = #181818 +StatusBarBorder = #222222 +StatusBarForeground = #777777 +StatusBarIcon = #bbbbbb \ No newline at end of file diff --git a/src/main/resources/ocelot/desktop/spritesheet.png b/src/main/resources/ocelot/desktop/spritesheet.png index b4c796f70ff4950a64aa3555ebeea33a7b220536..ca6ea6a73baf61952b36d74598aa96efe6799186 100644 GIT binary patch literal 60259 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 TZ^1oz1|aZs^>bP0l+XkKDlR1o diff --git a/src/main/resources/ocelot/desktop/spritesheet.txt b/src/main/resources/ocelot/desktop/spritesheet.txt index ead16c2..769f74c 100644 --- a/src/main/resources/ocelot/desktop/spritesheet.txt +++ b/src/main/resources/ocelot/desktop/spritesheet.txt @@ -1,98 +1,102 @@ BackgroundPattern 0 0 304 304 ComputerMotherboard 305 0 79 70 -Empty 337 277 1 1 +Empty 417 0 1 1 EmptySlot 441 96 18 18 -ShadowBorder 305 277 1 24 +ShadowBorder 385 0 1 24 ShadowCorner 424 71 24 24 buttons/PowerOff 460 96 18 18 buttons/PowerOn 479 96 18 18 -icons/CPU 424 129 16 16 -icons/Card 441 129 16 16 -icons/ComponentBus 458 129 16 16 -icons/EEPROM 475 129 16 16 -icons/Floppy 492 129 16 16 -icons/HDD 424 146 16 16 -icons/Memory 441 146 16 16 -icons/NA 458 146 16 16 -icons/RackMountable 475 146 16 16 -icons/Tier0 492 146 16 16 -icons/Tier1 449 71 16 16 -icons/Tier2 466 71 16 16 +icons/CPU 424 144 16 16 +icons/Card 441 144 16 16 +icons/ComponentBus 458 144 16 16 +icons/DragLMB 424 129 21 14 +icons/DragRMB 446 129 21 14 +icons/EEPROM 475 144 16 16 +icons/Floppy 492 144 16 16 +icons/HDD 449 71 16 16 +icons/LMB 373 268 11 14 +icons/Memory 466 71 16 16 +icons/NA 483 71 16 16 +icons/RMB 385 268 11 14 +icons/RackMountable 356 168 16 16 +icons/Tier0 373 168 16 16 +icons/Tier1 390 168 16 16 +icons/Tier2 407 168 16 16 items/APU0 356 71 16 96 items/APU1 373 71 16 96 items/APU2 390 71 16 96 -items/CPU0 483 71 16 16 -items/CPU1 356 168 16 16 -items/CPU2 373 168 16 16 -items/CardBase 390 168 16 16 -items/CircuitBoard 407 168 16 16 -items/ComponentBus0 424 168 16 16 -items/ComponentBus1 441 168 16 16 -items/ComponentBus2 458 168 16 16 -items/ComponentBus3 475 168 16 16 +items/CPU0 424 168 16 16 +items/CPU1 441 168 16 16 +items/CPU2 458 168 16 16 +items/CardBase 475 168 16 16 +items/CircuitBoard 492 168 16 16 +items/ComponentBus0 305 200 16 16 +items/ComponentBus1 322 200 16 16 +items/ComponentBus2 339 200 16 16 +items/ComponentBus3 356 200 16 16 items/DataCard0 305 71 16 128 items/DataCard1 322 71 16 128 items/DataCard2 339 71 16 128 -items/DebugCard 492 168 16 16 -items/DiskDriveMountable 305 200 16 16 -items/EEPROM 322 200 16 16 -items/FloppyDisk_dyeBlack 339 200 16 16 -items/FloppyDisk_dyeBlue 356 200 16 16 -items/FloppyDisk_dyeBrown 373 200 16 16 -items/FloppyDisk_dyeCyan 390 200 16 16 -items/FloppyDisk_dyeGray 407 200 16 16 -items/FloppyDisk_dyeGreen 424 200 16 16 -items/FloppyDisk_dyeLightBlue 441 200 16 16 -items/FloppyDisk_dyeLightGray 458 200 16 16 -items/FloppyDisk_dyeLime 475 200 16 16 -items/FloppyDisk_dyeMagenta 492 200 16 16 -items/FloppyDisk_dyeOrange 305 217 16 16 -items/FloppyDisk_dyePink 322 217 16 16 -items/FloppyDisk_dyePurple 339 217 16 16 -items/FloppyDisk_dyeRed 356 217 16 16 -items/FloppyDisk_dyeWhite 373 217 16 16 -items/FloppyDisk_dyeYellow 390 217 16 16 -items/GraphicsCard0 407 217 16 16 -items/GraphicsCard1 424 217 16 16 -items/GraphicsCard2 441 217 16 16 -items/HardDiskDrive0 458 217 16 16 -items/HardDiskDrive1 475 217 16 16 -items/HardDiskDrive2 492 217 16 16 +items/DebugCard 373 200 16 16 +items/DiskDriveMountable 390 200 16 16 +items/EEPROM 407 200 16 16 +items/FloppyDisk_dyeBlack 424 200 16 16 +items/FloppyDisk_dyeBlue 441 200 16 16 +items/FloppyDisk_dyeBrown 458 200 16 16 +items/FloppyDisk_dyeCyan 475 200 16 16 +items/FloppyDisk_dyeGray 492 200 16 16 +items/FloppyDisk_dyeGreen 305 217 16 16 +items/FloppyDisk_dyeLightBlue 322 217 16 16 +items/FloppyDisk_dyeLightGray 339 217 16 16 +items/FloppyDisk_dyeLime 356 217 16 16 +items/FloppyDisk_dyeMagenta 373 217 16 16 +items/FloppyDisk_dyeOrange 390 217 16 16 +items/FloppyDisk_dyePink 407 217 16 16 +items/FloppyDisk_dyePurple 424 217 16 16 +items/FloppyDisk_dyeRed 441 217 16 16 +items/FloppyDisk_dyeWhite 458 217 16 16 +items/FloppyDisk_dyeYellow 475 217 16 16 +items/GraphicsCard0 492 217 16 16 +items/GraphicsCard1 305 234 16 16 +items/GraphicsCard2 322 234 16 16 +items/HardDiskDrive0 339 234 16 16 +items/HardDiskDrive1 356 234 16 16 +items/HardDiskDrive2 373 234 16 16 items/InternetCard 424 96 16 32 items/LinkedCard 407 71 16 96 -items/Memory0 305 234 16 16 -items/Memory1 322 234 16 16 -items/Memory2 339 234 16 16 -items/Memory3 356 234 16 16 -items/Memory4 373 234 16 16 -items/Memory5 390 234 16 16 -items/NetworkCard 407 234 16 16 -items/RedstoneCard0 424 234 16 16 -items/RedstoneCard1 441 234 16 16 -items/Server0 458 234 16 16 -items/Server1 475 234 16 16 -items/Server2 492 234 16 16 -items/Server3 305 251 16 16 -items/WirelessNetworkCard0 322 251 16 16 -items/WirelessNetworkCard1 339 251 16 16 -nodes/Computer 356 251 16 16 -nodes/ComputerActivityOverlay 373 251 16 16 -nodes/ComputerErrorOverlay 390 251 16 16 -nodes/ComputerOnOverlay 407 251 16 16 -nodes/NewNode 424 251 16 16 -nodes/Relay 441 251 16 16 -nodes/Screen 458 251 16 16 -nodes/ScreenOnOverlay 475 251 16 16 -screen/BorderB 310 277 2 8 -screen/BorderT 307 277 2 10 -screen/CornerBL 305 268 8 8 -screen/CornerBR 314 268 8 8 -screen/CornerTL 492 251 8 10 -screen/CornerTR 501 251 8 10 -window/BorderDark 333 277 1 4 -window/BorderLight 335 277 1 4 -window/CloseButton 323 268 7 6 -window/CornerBL 313 277 4 4 -window/CornerBR 318 277 4 4 -window/CornerTL 323 277 4 4 -window/CornerTR 328 277 4 4 +items/Memory0 390 234 16 16 +items/Memory1 407 234 16 16 +items/Memory2 424 234 16 16 +items/Memory3 441 234 16 16 +items/Memory4 458 234 16 16 +items/Memory5 475 234 16 16 +items/NetworkCard 492 234 16 16 +items/RedstoneCard0 305 251 16 16 +items/RedstoneCard1 322 251 16 16 +items/Server0 339 251 16 16 +items/Server1 356 251 16 16 +items/Server2 373 251 16 16 +items/Server3 390 251 16 16 +items/WirelessNetworkCard0 407 251 16 16 +items/WirelessNetworkCard1 424 251 16 16 +nodes/Computer 441 251 16 16 +nodes/ComputerActivityOverlay 458 251 16 16 +nodes/ComputerErrorOverlay 475 251 16 16 +nodes/ComputerOnOverlay 492 251 16 16 +nodes/NewNode 305 268 16 16 +nodes/Relay 322 268 16 16 +nodes/Screen 339 268 16 16 +nodes/ScreenOnOverlay 356 268 16 16 +screen/BorderB 390 0 2 8 +screen/BorderT 387 0 2 10 +screen/CornerBL 415 268 8 8 +screen/CornerBR 424 268 8 8 +screen/CornerTL 397 268 8 10 +screen/CornerTR 406 268 8 10 +window/BorderDark 413 0 1 4 +window/BorderLight 415 0 1 4 +window/CloseButton 433 268 7 6 +window/CornerBL 393 0 4 4 +window/CornerBR 398 0 4 4 +window/CornerTL 403 0 4 4 +window/CornerTR 408 0 4 4 diff --git a/src/main/scala/ocelot/desktop/node/Node.scala b/src/main/scala/ocelot/desktop/node/Node.scala index 2a6ccaa..3984f37 100644 --- a/src/main/scala/ocelot/desktop/node/Node.scala +++ b/src/main/scala/ocelot/desktop/node/Node.scala @@ -41,7 +41,7 @@ trait Node extends Widget with DragHandler with ClickHandler with HoverHandler { case ClickEvent(MouseEvent.Button.Right, _) => val menu = new ContextMenu setupContextMenu(menu) - workspaceView.rootWidget.contextMenus.open(menu) + root.get.contextMenus.open(menu) case DragEvent(DragEvent.State.Start, MouseEvent.Button.Left, pos) => startMoving(pos) @@ -88,6 +88,16 @@ trait Node extends Widget with DragHandler with ClickHandler with HoverHandler { })) } + override def update(): Unit = { + super.update() + if (isHovered || isMoving) { + root.get.statusBar.addMouseEntry("icons/LMB", "Open") + root.get.statusBar.addMouseEntry("icons/RMB", "Menu") + root.get.statusBar.addMouseEntry("icons/DragLMB", "Move node") + root.get.statusBar.addMouseEntry("icons/DragRMB", "Connect/Disconnect") + } + } + def environment: Environment def icon: String = "icons/NA" diff --git a/src/main/scala/ocelot/desktop/node/NodeTypeWidget.scala b/src/main/scala/ocelot/desktop/node/NodeTypeWidget.scala index 5419a5b..57b1048 100644 --- a/src/main/scala/ocelot/desktop/node/NodeTypeWidget.scala +++ b/src/main/scala/ocelot/desktop/node/NodeTypeWidget.scala @@ -2,12 +2,12 @@ package ocelot.desktop.node import ocelot.desktop.geometry.Size2D import ocelot.desktop.graphics.Graphics -import ocelot.desktop.ui.event.handlers.ClickHandler +import ocelot.desktop.ui.event.handlers.{ClickHandler, HoverHandler} import ocelot.desktop.ui.event.{ClickEvent, MouseEvent} import ocelot.desktop.ui.widget.Widget import ocelot.desktop.util.TierColor -class NodeTypeWidget(val nodeType: NodeType) extends Widget with ClickHandler { +class NodeTypeWidget(val nodeType: NodeType) extends Widget with ClickHandler with HoverHandler { override def minimumSize: Size2D = Size2D(68, 68) override def maximumSize: Size2D = minimumSize @@ -24,4 +24,11 @@ class NodeTypeWidget(val nodeType: NodeType) extends Widget with ClickHandler { override def draw(g: Graphics): Unit = { g.sprite(nodeType.icon, position.x + 2, position.y + 2, size.width - 4, size.height - 4, TierColor.get(nodeType.tier)) } + + override def update(): Unit = { + super.update() + if (isHovered) { + root.get.statusBar.addMouseEntry("icons/LMB", "Add node") + } + } } diff --git a/src/main/scala/ocelot/desktop/ui/widget/RootWidget.scala b/src/main/scala/ocelot/desktop/ui/widget/RootWidget.scala index 5989b96..587385e 100644 --- a/src/main/scala/ocelot/desktop/ui/widget/RootWidget.scala +++ b/src/main/scala/ocelot/desktop/ui/widget/RootWidget.scala @@ -5,19 +5,31 @@ import ocelot.desktop.graphics.Graphics import ocelot.desktop.ui.UiHandler import ocelot.desktop.ui.UiHandler.graphics import ocelot.desktop.ui.event.KeyEvent -import ocelot.desktop.ui.layout.CopyLayout +import ocelot.desktop.ui.layout.{CopyLayout, LinearLayout} import ocelot.desktop.ui.widget.contextmenu.ContextMenus -import ocelot.desktop.util.DrawUtils +import ocelot.desktop.ui.widget.statusbar.StatusBar +import ocelot.desktop.util.{DrawUtils, Orientation} import org.lwjgl.input.Keyboard class RootWidget extends Widget { - override protected val layout = new CopyLayout(this) + override protected val layout = new LinearLayout(this, orientation = Orientation.Vertical) + root = Some(this) - val workspaceView: WorkspaceView = new WorkspaceView - val contextMenus: ContextMenus = new ContextMenus + val workspaceView = new WorkspaceView + workspaceView.root = root + workspaceView.createDefaultWorkspace() + + val contextMenus = new ContextMenus + val statusBar = new StatusBar + + children :+= new Widget { + override protected val layout = new CopyLayout(this) + children :+= workspaceView + children :+= contextMenus + } + + children :+= statusBar - children :+= workspaceView - children :+= contextMenus private var isDebugViewVisible = false diff --git a/src/main/scala/ocelot/desktop/ui/widget/Widget.scala b/src/main/scala/ocelot/desktop/ui/widget/Widget.scala index 4aeb7f0..d8b77e7 100644 --- a/src/main/scala/ocelot/desktop/ui/widget/Widget.scala +++ b/src/main/scala/ocelot/desktop/ui/widget/Widget.scala @@ -13,6 +13,7 @@ class Widget { protected var _children: Array[Widget] = Array[Widget]() protected var _parent: Option[Widget] = None + protected var _root: Option[RootWidget] = None protected var _position: Vector2D = Vector2D(0, 0) protected var _size: Size2D = Size2D(0, 0) @@ -35,8 +36,10 @@ class Widget { final def children_=(value: Array[Widget]): Unit = { _children = value - for (child <- _children) + for (child <- _children) { child._parent = Some(this) + child.root = _root + } recalculateBounds() size = _size @@ -46,6 +49,13 @@ class Widget { final def parent: Option[Widget] = _parent + final def root_=(v: Option[RootWidget]): Unit = { + _root = v + children.foreach(_.root = v) + } + + final def root: Option[RootWidget] = _root + def minimumSize: Size2D = layout.minimumSize def maximumSize: Size2D = layout.maximumSize.max(minimumSize) diff --git a/src/main/scala/ocelot/desktop/ui/widget/WorkspaceView.scala b/src/main/scala/ocelot/desktop/ui/widget/WorkspaceView.scala index 27485f1..6ee3c5c 100644 --- a/src/main/scala/ocelot/desktop/ui/widget/WorkspaceView.scala +++ b/src/main/scala/ocelot/desktop/ui/widget/WorkspaceView.scala @@ -38,14 +38,11 @@ class WorkspaceView extends Widget with DragHandler with ClickHandler with Hover override def hierarchy: Array[Widget] = nodes.toArray } - createDefaultWorkspace() - - def rootWidget: RootWidget = parent.get.asInstanceOf[RootWidget] - def addNode(node: Node, pos: Vector2D = newNodePos): Unit = { node.position = pos + cameraOffset resolveCollision(node) node.workspaceView = this + node.root = _root nodes += node } @@ -390,5 +387,13 @@ class WorkspaceView extends Widget with DragHandler with ClickHandler with Hover override def update(): Unit = { super.update() nodes.foreach(_.update()) + + if (isHovered && newConnection.isEmpty) { + if (nodeSelector.isShown) + root.get.statusBar.addMouseEntry("icons/LMB", "Close selector") + else + root.get.statusBar.addMouseEntry("icons/LMB", "Add node") + root.get.statusBar.addMouseEntry("icons/DragLMB", "Move camera") + } } } diff --git a/src/main/scala/ocelot/desktop/ui/widget/statusbar/MouseEntry.scala b/src/main/scala/ocelot/desktop/ui/widget/statusbar/MouseEntry.scala new file mode 100644 index 0000000..2d6495a --- /dev/null +++ b/src/main/scala/ocelot/desktop/ui/widget/statusbar/MouseEntry.scala @@ -0,0 +1,21 @@ +package ocelot.desktop.ui.widget.statusbar + +import ocelot.desktop.ColorScheme +import ocelot.desktop.color.Color +import ocelot.desktop.geometry.Size2D +import ocelot.desktop.graphics.Graphics +import ocelot.desktop.ui.widget.Widget +import ocelot.desktop.util.Spritesheet + +class MouseEntry(icon: String, text: String) extends Widget { + private val iconSize = Spritesheet.spriteSize(icon) + override def minimumSize: Size2D = Size2D(iconSize.width + 24 + text.length * 8, 16) + override def maximumSize: Size2D = minimumSize + + override def draw(g: Graphics): Unit = { + g.sprite(icon, position + Size2D(8, height / 2 - iconSize.height / 2), ColorScheme("StatusBarIcon")) + g.background = Color.Transparent + g.foreground = ColorScheme("StatusBarForeground") + g.text(position.x + iconSize.width + 16, position.y, text) + } +} diff --git a/src/main/scala/ocelot/desktop/ui/widget/statusbar/StatusBar.scala b/src/main/scala/ocelot/desktop/ui/widget/statusbar/StatusBar.scala new file mode 100644 index 0000000..8c61a42 --- /dev/null +++ b/src/main/scala/ocelot/desktop/ui/widget/statusbar/StatusBar.scala @@ -0,0 +1,25 @@ +package ocelot.desktop.ui.widget.statusbar + +import ocelot.desktop.ColorScheme +import ocelot.desktop.geometry.Size2D +import ocelot.desktop.graphics.Graphics +import ocelot.desktop.ui.layout.{AlignItems, LinearLayout} +import ocelot.desktop.ui.widget.Widget + +class StatusBar extends Widget { + override protected val layout = new LinearLayout(this, alignItems = AlignItems.Center) + override def minimumSize: Size2D = Size2D(100, 18) + override def maximumSize: Size2D = Size2D(Float.PositiveInfinity, 18) + override def receiveMouseEvents = true + + def addMouseEntry(icon: String, text: String): Unit = { + children :+= new MouseEntry(icon, text) + } + + override def draw(g: Graphics): Unit = { + g.rect(bounds, ColorScheme("StatusBar")) + g.line(position, position + Size2D(width, 0), 1, ColorScheme("StatusBarBorder")) + drawChildren(g) + children = Array() + } +}