Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions src/main/kotlin/dartzee/bean/InteractiveDartboard.kt
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
package dartzee.bean

import dartzee.core.util.getParentWindow
import dartzee.`object`.ColourWrapper
import dartzee.`object`.DartboardSegment
import dartzee.theme.IDartboardPainter
import dartzee.utils.UPPER_BOUND_OUTSIDE_BOARD_RATIO
import dartzee.utils.getColourWrapperFromPrefs
import dartzee.utils.getHighlightedColour
import java.awt.Point
import java.awt.event.MouseEvent

class InteractiveDartboard(colourWrapper: ColourWrapper = getColourWrapperFromPrefs()) :
class InteractiveDartboard(colourWrapper: IDartboardPainter = getColourWrapperFromPrefs()) :
PresentationDartboard(colourWrapper, true), IMouseListener {
private var hoveredSegment: DartboardSegment? = null
private var allowInteraction = true
Expand Down
6 changes: 3 additions & 3 deletions src/main/kotlin/dartzee/bean/PresentationDartboard.kt
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@ package dartzee.bean
import com.github.weisj.jsvg.view.ViewBox
import dartzee.logging.CODE_SLOW_DARTBOARD_RENDER
import dartzee.logging.KEY_DURATION
import dartzee.`object`.ColourWrapper
import dartzee.`object`.ComputedPoint
import dartzee.`object`.DartboardSegment
import dartzee.`object`.GREY_COLOUR_WRAPPER
import dartzee.`object`.IDartboard
import dartzee.screen.game.SegmentStatuses
import dartzee.screen.game.getSegmentStatus
import dartzee.theme.GREY_COLOUR_WRAPPER
import dartzee.theme.IDartboardPainter
import dartzee.theme.getBaseFont
import dartzee.utils.DurationTimer
import dartzee.utils.InjectedThings
Expand All @@ -34,7 +34,7 @@ import javax.swing.JComponent
import kotlin.math.roundToInt

open class PresentationDartboard(
private val colourWrapper: ColourWrapper = getColourWrapperFromPrefs(),
private val colourWrapper: IDartboardPainter = getColourWrapperFromPrefs(),
private val renderScoreLabels: Boolean = false,
private val renderThemeBanner: Boolean = false,
) : JComponent(), IDartboard {
Expand Down
5 changes: 3 additions & 2 deletions src/main/kotlin/dartzee/core/bean/ScrollTableOrdered.kt
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package dartzee.core.bean

import dartzee.core.util.InjectedCore
import dartzee.theme.themedIcon
import java.awt.BorderLayout
import java.awt.Dimension
import java.awt.event.ActionEvent
Expand All @@ -21,12 +22,12 @@ class ScrollTableOrdered(customButtons: Int = 0) : ScrollTable(), ActionListener
init {
add(panelOrdering, BorderLayout.EAST)
panelOrdering.layout = MigLayout("al center center, wrap, gapy 20")
btnMoveUp.icon = ImageIcon(javaClass.getResource("/buttons/upArrow.png"))
btnMoveUp.icon = themedIcon("/buttons/upArrow.png")
btnMoveUp.preferredSize = Dimension(40, 40)
btnMoveUp.toolTipText = "Move row up"

panelOrdering.add(btnMoveUp, "cell 0 $customButtons")
btnMoveDown.icon = ImageIcon(javaClass.getResource("/buttons/downArrow.png"))
btnMoveDown.icon = themedIcon("/buttons/downArrow.png")
btnMoveDown.preferredSize = Dimension(40, 40)
btnMoveDown.toolTipText = "Move row down"

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package dartzee.dartzee.dart

import dartzee.`object`.DEFAULT_COLOUR_WRAPPER
import dartzee.`object`.DartboardSegment
import dartzee.theme.DEFAULT_COLOUR_WRAPPER
import dartzee.utils.DartsColour
import java.awt.Color
import java.awt.FlowLayout
Expand Down
2 changes: 1 addition & 1 deletion src/main/kotlin/dartzee/screen/DartsApp.kt
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ class DartsApp(commandBar: CheatBar) : AbstractDevScreen(commandBar), WindowList
fun switchScreen(scrn: EmbeddedScreen, reInit: Boolean = true) {
try {
if (reInit) {
scrn.initialise()
scrn.init()
}
} catch (t: Throwable) {
logger.error(CODE_SCREEN_LOAD_ERROR, "Failed to load screen ${scrn.getScreenName()}", t)
Expand Down
15 changes: 11 additions & 4 deletions src/main/kotlin/dartzee/screen/EmbeddedScreen.kt
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
package dartzee.screen

import dartzee.logging.CODE_SWING_ERROR
import dartzee.theme.applyButtonOverrides
import dartzee.theme.getBaseFont
import dartzee.theme.getMenuFont
import dartzee.theme.themedIcon
import dartzee.utils.InjectedThings.logger
import java.awt.BorderLayout
Expand Down Expand Up @@ -44,12 +46,13 @@ abstract class EmbeddedScreen : JPanel(), ActionListener {
btnBack.name = "Back"

val baseFont = getBaseFont()
val size = minOf(20f, getMenuFont().size2D)

iconNext.icon = themedIcon("/buttons/rightArrow.png")
btnBack.icon = themedIcon("/buttons/leftArrow.png")

lblNext.font = baseFont.deriveFont(Font.PLAIN, 20f)
btnBack.font = baseFont.deriveFont(Font.PLAIN, 20f)
lblNext.font = baseFont.deriveFont(Font.PLAIN, size)
btnBack.font = baseFont.deriveFont(Font.PLAIN, size)

btnBack.addActionListener(this)
btnNext.addActionListener(this)
Expand All @@ -59,11 +62,15 @@ abstract class EmbeddedScreen : JPanel(), ActionListener {

abstract fun getScreenName(): String

/** Called after the new screen has been switched in etc */
fun init() {
initialise()

applyButtonOverrides()
}

open fun postInit() {
btnBack.isVisible = showBackButton()
btnNext.isVisible = showNextButton()

lblNext.text = getNextText()
}

Expand Down
4 changes: 2 additions & 2 deletions src/main/kotlin/dartzee/screen/GameplayDartboard.kt
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@ import dartzee.core.util.getAllChildComponentsForType
import dartzee.core.util.getParentWindow
import dartzee.core.util.runOnEventThreadBlocking
import dartzee.listener.DartboardListener
import dartzee.`object`.ColourWrapper
import dartzee.`object`.ComputedPoint
import dartzee.screen.game.AbstractDartsGameScreen
import dartzee.screen.game.SegmentStatuses
import dartzee.theme.IDartboardPainter
import dartzee.theme.makeDartLabel
import dartzee.utils.getColourWrapperFromPrefs
import dartzee.utils.getDartForSegment
Expand All @@ -25,7 +25,7 @@ import javax.swing.SwingUtilities
const val LAYER_DARTS = 2
const val LAYER_DODGY = 3

class GameplayDartboard(colourWrapper: ColourWrapper = getColourWrapperFromPrefs()) :
class GameplayDartboard(colourWrapper: IDartboardPainter = getColourWrapperFromPrefs()) :
JLayeredPane(), IMouseListener {
var latestClip: Clip? = null

Expand Down
14 changes: 5 additions & 9 deletions src/main/kotlin/dartzee/screen/MenuScreen.kt
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,11 @@ import dartzee.screen.reporting.ReportingSetupScreen
import dartzee.screen.stats.overall.LeaderboardsScreen
import dartzee.screen.stats.overall.SimplifiedLeaderboardScreen
import dartzee.screen.sync.SyncManagementScreen
import dartzee.theme.getBaseFont
import dartzee.theme.getMenuFont
import dartzee.theme.themedIcon
import dartzee.utils.DARTS_VERSION_NUMBER
import dartzee.utils.InjectedThings
import java.awt.Dimension
import java.awt.Font
import java.awt.event.ActionEvent
import java.awt.event.ComponentAdapter
import java.awt.event.ComponentEvent
Expand All @@ -29,10 +28,10 @@ class MenuScreen : EmbeddedScreen() {
private val changeLog = ChangeLog()
private val dartboard = PresentationDartboard(renderThemeBanner = true)
private val btnNewGame = JButton("New Game")
private val btnManagePlayers = JButton("Manage Players")
private val btnManagePlayers = JButton("Players")
private val btnLeaderboards = JButton("Leaderboards")
private val btnPreferences = JButton("Preferences")
private val btnDartzeeTemplates = JButton("Dartzee Rules")
private val btnDartzeeTemplates = JButton("Dartzee")
private val btnUtilities = JButton("Utilities")
private val btnSyncSummary = JButton("Sync Setup")
private val btnGameReport = JButton("Game Report")
Expand Down Expand Up @@ -65,16 +64,13 @@ class MenuScreen : EmbeddedScreen() {
btnNewGame.icon = themedIcon("/buttons/newGame.png")
btnManagePlayers.icon = themedIcon("/buttons/playerManagement.png")
btnUtilities.icon = themedIcon("/buttons/utilities.png")
btnPreferences.icon = ImageIcon(javaClass.getResource("/buttons/preferences.png"))
btnPreferences.icon = themedIcon("/buttons/preferences.png")
btnGameReport.icon = themedIcon("/buttons/gameReport.png")
btnSyncSummary.icon = ImageIcon(javaClass.getResource("/buttons/sync.png"))
btnDartzeeTemplates.icon = ImageIcon(javaClass.getResource("/buttons/dartzeeTemplates.png"))
btnLeaderboards.icon = ImageIcon(javaClass.getResource("/buttons/leaderboards.png"))

getAllChildComponentsForType<JButton>().forEach { button ->
button.font =
getBaseFont().deriveFont(Font.PLAIN, InjectedThings.theme?.menuFontSize ?: 18f)
}
getAllChildComponentsForType<JButton>().forEach { button -> button.font = getMenuFont() }

addComponentListener(
object : ComponentAdapter() {
Expand Down
4 changes: 2 additions & 2 deletions src/main/kotlin/dartzee/screen/UtilitiesScreen.kt
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import dartzee.core.util.runInOtherThread
import dartzee.db.sanity.DatabaseSanityCheck
import dartzee.logging.CODE_PARTY_MODE
import dartzee.`object`.DartsClient
import dartzee.theme.getBaseFont
import dartzee.theme.getMenuFont
import dartzee.utils.DARTS_VERSION_NUMBER
import dartzee.utils.DartsDatabaseUtil
import dartzee.utils.DevUtilities
Expand Down Expand Up @@ -44,7 +44,7 @@ class UtilitiesScreen : EmbeddedScreen() {
panel.add(btnAchievementConversion, "cell 0 11,alignx center")
panel.add(btnPartyMode, "cell 0 12,alignx center")

val font = getBaseFont().deriveFont(InjectedThings.theme?.menuFontSize ?: 18f)
val font = getMenuFont()
val buttons = panel.getAllChildComponentsForType<AbstractButton>()
for (button in buttons) {
button.font = font
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ package dartzee.screen.ai

import dartzee.ai.DartsAiModel
import dartzee.bean.PresentationDartboard
import dartzee.`object`.ColourWrapper
import dartzee.theme.ColourWrapper
import dartzee.utils.DartsColour
import java.awt.Point
import java.awt.image.BufferedImage
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ package dartzee.screen.ai

import dartzee.ai.DartsAiModel
import dartzee.core.bean.paint
import dartzee.`object`.WIREFRAME_COLOUR_WRAPPER
import dartzee.theme.WIREFRAME_COLOUR_WRAPPER
import dartzee.utils.ResourceCache
import java.awt.Color
import java.awt.Font
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ package dartzee.screen.ai

import dartzee.ai.DartsAiModel
import dartzee.core.bean.paint
import dartzee.`object`.ColourWrapper
import dartzee.theme.ColourWrapper
import dartzee.utils.DartsColour
import dartzee.utils.ResourceCache
import java.awt.Color
Expand Down Expand Up @@ -60,9 +60,9 @@ class VisualisationPanelScatter : AbstractVisualisationPanel() {
oddTreble,
evenDouble,
oddDouble,
outerDartboardColour = Color.WHITE,
missedBoardColour = Color.WHITE,
)
wrapper.missedBoardColour = Color.WHITE
wrapper.outerDartboardColour = Color.WHITE
return wrapper
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@ import dartzee.bean.IMouseListener
import dartzee.bean.PresentationDartboard
import dartzee.core.screen.SimpleDialog
import dartzee.core.util.setMargins
import dartzee.`object`.DEFAULT_COLOUR_WRAPPER
import dartzee.`object`.DartboardSegment
import dartzee.`object`.WIREFRAME_COLOUR_WRAPPER
import dartzee.screen.ScreenCache
import dartzee.theme.DEFAULT_COLOUR_WRAPPER
import dartzee.theme.WIREFRAME_COLOUR_WRAPPER
import dartzee.utils.DartsColour
import dartzee.utils.getAllNonMissSegments
import java.awt.BorderLayout
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ import dartzee.core.util.setMargins
import dartzee.dartzee.DartzeeRuleCalculationResult
import dartzee.dartzee.DartzeeRuleDto
import dartzee.listener.DartboardListener
import dartzee.`object`.DEFAULT_COLOUR_WRAPPER
import dartzee.`object`.Dart
import dartzee.screen.GameplayDartboard
import dartzee.theme.DEFAULT_COLOUR_WRAPPER
import dartzee.utils.DartsColour
import dartzee.utils.InjectedThings.dartzeeCalculator
import dartzee.utils.ResourceCache
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ class DartzeeTemplateSetupScreen : EmbeddedScreen(), RowSelectionListener {
btnCopy.toolTipText = "Copy Template"
btnCopy.preferredSize = Dimension(40, 40)

btnDelete.name = "delete"
btnDelete.name = "deleteTemplate"
btnDelete.icon = ImageIcon(javaClass.getResource("/buttons/remove.png"))
btnDelete.toolTipText = "Delete Template"
btnDelete.preferredSize = Dimension(40, 40)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import dartzee.dartzee.DartzeeRuleDto
import dartzee.db.DartzeeRoundResultEntity
import dartzee.`object`.Dart
import dartzee.screen.game.SegmentStatuses
import dartzee.theme.applyThemeOverride
import java.awt.BorderLayout
import java.awt.Dimension
import java.awt.event.ActionEvent
Expand Down Expand Up @@ -120,6 +121,7 @@ class DartzeeRuleCarousel(private val dtos: List<DartzeeRuleDto>) :
incompleteRules.map { rule -> DartzeeRuleTilePending(rule, getRuleNumber(rule)) }
)
pendingTiles.forEach { tile ->
tile.applyThemeOverride()
tile.addActionListener(this)
tile.addMouseListener(this)
tile.updateState(dartsThrown)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ abstract class DartzeeRuleTile(val dto: DartzeeRuleDto, val ruleNumber: Int) :
init {
preferredSize = Dimension(150, 80)
text = getButtonText(false)
name = "DARTZEE_TILE_${ruleNumber - 1}"

addMouseListener(this)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,12 @@ import dartzee.db.GameEntity
import dartzee.game.GameType
import dartzee.game.state.DartzeePlayerState
import dartzee.game.state.IWrappedParticipant
import dartzee.`object`.DEFAULT_COLOUR_WRAPPER
import dartzee.`object`.Dart
import dartzee.screen.game.AbstractDartsGameScreen
import dartzee.screen.game.GamePanelFixedLength
import dartzee.screen.game.SegmentStatuses
import dartzee.screen.game.scorer.DartsScorerDartzee
import dartzee.theme.DEFAULT_COLOUR_WRAPPER
import dartzee.utils.factoryHighScoreResult
import dartzee.utils.generateDartzeeTemplateFromGame
import dartzee.utils.getQuotedIdStr
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ class PlayerAchievementsButton(
init {
icon = ImageIcon(javaClass.getResource("/achievements/trophy.png"))
text = defaultText
name = "Achievements"

rolloverIcon = ImageIcon(javaClass.getResource("/buttons/achievement.png"))
selectedIcon = ImageIcon(javaClass.getResource("/buttons/achievement.png"))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@ import dartzee.screen.ScreenCache
import dartzee.screen.ai.AIConfigurationDialog
import dartzee.screen.ai.AISimulationSetupDialog
import dartzee.stats.getGameCounts
import dartzee.utils.ResourceCache
import dartzee.theme.applyButtonOverrides
import dartzee.theme.getMenuFont
import java.awt.BorderLayout
import java.awt.Dimension
import java.awt.Font
Expand Down Expand Up @@ -74,7 +75,7 @@ class PlayerManagementPanel : JPanel(), ActionListener {
add(panelNorth, BorderLayout.NORTH)

lblPlayerName.preferredSize = Dimension(0, 25)
lblPlayerName.font = ResourceCache.BASE_FONT.deriveFont(Font.BOLD, 20f)
lblPlayerName.font = getMenuFont()
lblPlayerName.horizontalAlignment = SwingConstants.CENTER

add(panelCenter, BorderLayout.CENTER)
Expand All @@ -101,6 +102,8 @@ class PlayerManagementPanel : JPanel(), ActionListener {
addSummaryPanels(player)
}

panelCenter.applyButtonOverrides()

repaint()
revalidate()
}
Expand Down
2 changes: 2 additions & 0 deletions src/main/kotlin/dartzee/screen/player/PlayerStatsButton.kt
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ class PlayerStatsButton(
icon = ImageIcon(iconUrl)
text = defaultText

name = "STATS_${gameType.name}"

rolloverIcon = ImageIcon(javaClass.getResource("/buttons/stats_large.png"))
selectedIcon = ImageIcon(javaClass.getResource("/buttons/stats_large.png"))

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ import dartzee.core.bean.ColourPicker
import dartzee.core.bean.ColourSelectionListener
import dartzee.core.util.alignCentrally
import dartzee.core.util.setFontSize
import dartzee.`object`.ColourWrapper
import dartzee.preferences.Preference
import dartzee.preferences.Preferences
import dartzee.theme.ColourWrapper
import dartzee.utils.InjectedThings
import dartzee.utils.InjectedThings.preferenceService
import java.awt.BorderLayout
Expand Down
1 change: 0 additions & 1 deletion src/main/kotlin/dartzee/theme/Birthday.kt
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import dartzee.bean.DartLabel
import dartzee.core.util.toLocalDate
import dartzee.db.PlayerEntity
import dartzee.game.GameType
import dartzee.`object`.ColourWrapper
import dartzee.screen.animation.Animation
import dartzee.screen.animation.CompositeAnimation
import dartzee.screen.animation.DartScoreTrigger
Expand Down
Loading
Loading