package org.multibit.hd.ui.views.themes; import java.awt.*; /** * <p>Strategy to provide the following to themes:</p> * <ul> * <li>Various accessor methods</li> * </ul> * * @since 0.0.1 * */ public interface Theme { /** * @return The panel background colour for the header */ Color headerPanelBackground(); /** * @return The text colour for the header */ Color headerPanelText(); /** * @return The panel background colour for the footer */ Color footerPanelBackground(); /** * @return The text colour for the footer */ Color footerPanelText(); /** * @return The panel background colour for detail/wizards */ Color detailPanelBackground(); /** * @return The panel background colour for the sidebar */ Color sidebarPanelBackground(); /** * @return The background colour for the default table stripe */ Color tableRowBackground(); /** * @return The background colour for the alternate table stripe */ Color tableRowAltBackground(); /** * @return The background colour for the selected table stripe */ Color tableRowSelectedBackground(); /** * @return The background colour for read only data display elements (like seed phrase display etc) */ Color readOnlyBackground(); /** * @return The border colour for read only data display elements (like seed phrase display etc) */ Color readOnlyBorder(); /** * @return The background color for read only combo box (Nimbus mangles this value considerably) */ Color readOnlyComboBox(); /** * @return The border colour for attention grabbing focus display elements (like tags, list items etc) */ Color focusBorder(); /** * @return The text of a selected sidebar node (usually high contrast and saturation version of "read only") */ Color sidebarSelectedText(); /** * @return The background colour for data handling elements (like text areas, drop down lists etc) */ Color dataEntryBackground(); /** * @return The text for data handling elements (like text areas, drop down lists (unselected) etc) */ Color dataEntryText(); /** * @return The border colour for data handling elements (like text areas, tree views etc) */ Color dataEntryBorder(); /** * @return The background colour for data handling elements (like text areas, tree views etc) with invalid data */ Color invalidDataEntryBackground(); /** * @return The background colour for a button to match the overall theme (needs to contrast with the detail panel background) */ Color buttonBackground(); /** * @return The background colour for a default button to match the overall theme (needs to contrast with the detail panel background) */ Color buttonDefaultBackground(); /** * @return The font colour for a button to match the overall theme */ Color buttonText(); /** * @return The font colour for a disabled button to match the overall theme */ Color buttonFadedText(); /** * @return The normal font colour for the theme */ Color text(); /** * @return A faded version of the normal font colour for the theme */ Color fadedText(); /** * @return The inverse font colour for the theme (to avoid clashing with panel backgrounds) */ Color inverseText(); /** * @return A faded version of the inverse font colour for the theme (to avoid clashing with panel backgrounds) */ Color inverseFadedText(); /** * @return The background colour of a danger alert */ Color dangerAlertBackground(); /** * @return The background colour of a danger alert with fading (matches button theme) */ Color dangerAlertFadedBackground(); /** * @return The border of a danger alert */ Color dangerAlertBorder(); /** * @return The text of a danger alert */ Color dangerAlertText(); /** * @return The background colour of a warning alert */ Color warningAlertBackground(); /** * @return The border of a warning alert */ Color warningAlertBorder(); /** * @return The text of a warning alert */ Color warningAlertText(); /** * @return The background colour of a success alert */ Color successAlertBackground(); /** * @return The background colour of a success alert with fading (matches button theme) */ Color successAlertFadedBackground(); /** * @return The border of a success alert */ Color successAlertBorder(); /** * @return The text of a success alert */ Color successAlertText(); /** * @return The background colour of an info alert */ Color infoAlertBackground(); /** * @return The border of an info alert */ Color infoAlertBorder(); /** * @return The text of an info alert */ Color infoAlertText(); /** * @return The background colour of a pending alert */ Color pendingAlertBackground(); /** * @return The background colour of a pending alert with fading (matches button theme) */ Color pendingAlertFadedBackground(); /** * @return The border of a pending alert */ Color pendingAlertBorder(); /** * @return The text of a pending alert */ Color pendingAlertText(); /** * @return The text of a credit entry in a payment screen (usually green or black) */ Color creditText(); /** * @return The text of a debit entry in a payment screen (usually red) */ Color debitText(); /** * @return The RAG status red */ Color statusRed(); /** * @return The RAG status amber */ Color statusAmber(); /** * @return The RAG status green */ Color statusGreen(); /** * Is the theme invert (predominantly dark) */ boolean isInvert(); }