mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-15 18:28:00 +00:00
Refactor out swing-related code from forge-gui into new forge-gui-desktop module
This commit is contained in:
866
.gitattributes
vendored
866
.gitattributes
vendored
@@ -187,7 +187,6 @@ forge-core/src/main/java/forge/deck/generation/DeckGenerator3Color.java svneol=n
|
|||||||
forge-core/src/main/java/forge/deck/generation/DeckGenerator5Color.java svneol=native#text/plain
|
forge-core/src/main/java/forge/deck/generation/DeckGenerator5Color.java svneol=native#text/plain
|
||||||
forge-core/src/main/java/forge/deck/generation/DeckGeneratorBase.java -text
|
forge-core/src/main/java/forge/deck/generation/DeckGeneratorBase.java -text
|
||||||
forge-core/src/main/java/forge/deck/generation/DeckGeneratorMonoColor.java -text
|
forge-core/src/main/java/forge/deck/generation/DeckGeneratorMonoColor.java -text
|
||||||
forge-core/src/main/java/forge/deck/generation/DeckGeneratorTheme.java -text
|
|
||||||
forge-core/src/main/java/forge/deck/generation/package-info.java svneol=native#text/plain
|
forge-core/src/main/java/forge/deck/generation/package-info.java svneol=native#text/plain
|
||||||
forge-core/src/main/java/forge/deck/io/DeckFileHeader.java -text
|
forge-core/src/main/java/forge/deck/io/DeckFileHeader.java -text
|
||||||
forge-core/src/main/java/forge/deck/io/DeckGroupSerializer.java -text
|
forge-core/src/main/java/forge/deck/io/DeckGroupSerializer.java -text
|
||||||
@@ -630,6 +629,397 @@ forge-game/src/main/java/forge/game/zone/package-info.java svneol=native#text/pl
|
|||||||
forge-game/src/main/java/forge/package-info.java -text
|
forge-game/src/main/java/forge/package-info.java -text
|
||||||
forge-game/src/main/java/forge/util/Expressions.java -text
|
forge-game/src/main/java/forge/util/Expressions.java -text
|
||||||
forge-game/src/main/java/forge/util/package-info.java -text
|
forge-game/src/main/java/forge/util/package-info.java -text
|
||||||
|
forge-gui-desktop/.classpath -text
|
||||||
|
forge-gui-desktop/.project -text
|
||||||
|
forge-gui-desktop/.settings/org.eclipse.core.resources.prefs -text
|
||||||
|
forge-gui-desktop/.settings/org.eclipse.jdt.core.prefs -text
|
||||||
|
forge-gui-desktop/.settings/org.eclipse.m2e.core.prefs -text
|
||||||
|
forge-gui-desktop/pom.xml -text
|
||||||
|
forge-gui-desktop/src/main/config/Forge.icns -text
|
||||||
|
forge-gui-desktop/src/main/config/appbundler-1.0-custom.jar -text
|
||||||
|
forge-gui-desktop/src/main/config/backgroundImage.jpg -text
|
||||||
|
forge-gui-desktop/src/main/config/builder/create-dmg.builder -text
|
||||||
|
forge-gui-desktop/src/main/config/create-dmg -text
|
||||||
|
forge-gui-desktop/src/main/config/forge.command -text
|
||||||
|
forge-gui-desktop/src/main/config/forge.ico -text
|
||||||
|
forge-gui-desktop/src/main/config/forge.sh -text
|
||||||
|
forge-gui-desktop/src/main/config/forge_checks.xml -text
|
||||||
|
forge-gui-desktop/src/main/config/support/dmg-license.py -text
|
||||||
|
forge-gui-desktop/src/main/config/support/template.applescript -text
|
||||||
|
forge-gui-desktop/src/main/html/connectionTest.html -text
|
||||||
|
forge-gui-desktop/src/main/html/css/core.css -text
|
||||||
|
forge-gui-desktop/src/main/html/js/jquery/jquery-1.9.1.js -text
|
||||||
|
forge-gui-desktop/src/main/html/js/jquery/jquery-1.9.1.min.js -text
|
||||||
|
forge-gui-desktop/src/main/html/js/observable.js -text
|
||||||
|
forge-gui-desktop/src/main/html/js/socket.js -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/GuiDesktop.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/ImageCache.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/ImageLoader.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/Singletons.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/control/FControl.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/control/KeyboardShortcuts.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/control/RestartUtil.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/control/package-info.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/deckchooser/DecksComboBox.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/deckchooser/DecksComboBoxEvent.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/deckchooser/FDeckChooser.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/deckchooser/FDeckViewer.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/deckchooser/IDecksComboBoxListener.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/download/GuiDownloadPicturesLQ.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/download/GuiDownloadPrices.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/download/GuiDownloadQuestImages.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/download/GuiDownloadSetPicturesLQ.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/download/GuiDownloader.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/download/package-info.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/error/BugReporter.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/error/package-info.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/gui/CardContainer.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/gui/CardDetailPanel.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/gui/CardListViewer.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/gui/CardPicturePanel.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/gui/DualListBox.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/gui/FNetOverlay.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/gui/ForgeAction.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/gui/GuiChoose.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/gui/GuiDialog.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/gui/GuiProgressBarWindow.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/gui/GuiUtils.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/gui/ImportDialog.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/gui/ImportSourceAnalyzer.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/gui/ListChooser.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/gui/MouseUtil.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/gui/MultiLineLabel.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/gui/MultiLineLabelUI.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/gui/SOverlayUtils.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/gui/UnsortedListModel.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/gui/WrapLayout.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/gui/framework/CEmptyDoc.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/gui/framework/DragCell.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/gui/framework/DragTab.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/gui/framework/EDocID.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/gui/framework/FScreen.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/gui/framework/ICDoc.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/gui/framework/IDocIdList.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/gui/framework/ILocalRepaint.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/gui/framework/IVDoc.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/gui/framework/IVTopLevelUI.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/gui/framework/InvalidLayoutFileException.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/gui/framework/RectangleOfDouble.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/gui/framework/SDisplayUtil.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/gui/framework/SLayoutConstants.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/gui/framework/SLayoutIO.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/gui/framework/SOverflowUtil.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/gui/framework/SRearrangingUtil.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/gui/framework/SResizingUtil.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/gui/framework/VEmptyDoc.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/gui/framework/package-info.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/gui/package-info.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/itemmanager/CardManager.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/itemmanager/DeckManager.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/itemmanager/ItemManager.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/itemmanager/ItemManagerContainer.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/itemmanager/SpellShopManager.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/itemmanager/filters/CardCMCFilter.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/itemmanager/filters/CardCMCRangeFilter.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/itemmanager/filters/CardColorFilter.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/itemmanager/filters/CardFormatFilter.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/itemmanager/filters/CardPowerFilter.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/itemmanager/filters/CardQuestWorldFilter.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/itemmanager/filters/CardSearchFilter.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/itemmanager/filters/CardSetFilter.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/itemmanager/filters/CardToughnessFilter.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/itemmanager/filters/CardTypeFilter.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/itemmanager/filters/DeckColorFilter.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/itemmanager/filters/DeckFolderFilter.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/itemmanager/filters/DeckFormatFilter.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/itemmanager/filters/DeckQuestWorldFilter.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/itemmanager/filters/DeckSearchFilter.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/itemmanager/filters/DeckSetFilter.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/itemmanager/filters/DeckStatTypeFilter.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/itemmanager/filters/FormatFilter.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/itemmanager/filters/ItemFilter.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/itemmanager/filters/ListLabelFilter.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/itemmanager/filters/StatTypeFilter.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/itemmanager/filters/TextSearchFilter.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/itemmanager/filters/ToggleButtonsFilter.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/itemmanager/filters/ValueRangeFilter.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/itemmanager/package-info.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/itemmanager/views/ColorSetRenderer.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/itemmanager/views/DeckQuantityRenderer.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/itemmanager/views/DeckStarRenderer.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/itemmanager/views/ImageView.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/itemmanager/views/IntegerRenderer.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/itemmanager/views/ItemCellRenderer.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/itemmanager/views/ItemListView.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/itemmanager/views/ItemTableColumn.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/itemmanager/views/ItemView.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/itemmanager/views/ManaCostRenderer.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/itemmanager/views/SColumnUtil.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/itemmanager/views/SetCodeRenderer.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/itemmanager/views/StarRenderer.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/menus/ForgeMenu.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/menus/HelpMenu.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/menus/IMenuProvider.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/menus/LayoutMenu.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/menus/MenuUtil.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/package-info.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/bazaar/CBazaarUI.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/bazaar/VBazaarUI.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/deckeditor/CDeckEditorUI.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/deckeditor/DeckImport.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/deckeditor/SEditorIO.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/deckeditor/VDeckEditorUI.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/ACEditorBase.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CAllDecks.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CCardCatalog.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CCurrentDeck.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CDeckgen.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorCommander.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorConstructed.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorDraftingProcess.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorLimited.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorQuest.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorQuestCardShop.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorVariant.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CProbabilities.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CStatistics.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/DeckController.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/deckeditor/menus/CDeckEditorUIMenus.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/deckeditor/menus/DeckFileMenu.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/deckeditor/package-info.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/deckeditor/views/VAllDecks.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/deckeditor/views/VCardCatalog.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/deckeditor/views/VCurrentDeck.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/deckeditor/views/VDeckgen.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/deckeditor/views/VProbabilities.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/deckeditor/views/VStatistics.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/home/CHomeUI.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/home/EMenuGroup.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/home/EMenuItem.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/home/IVSubmenu.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/home/LblGroup.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/home/LblHeader.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/home/LblMenuItem.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/home/PnlGroup.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/home/StartButton.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/home/VHomeUI.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/CSubmenuGauntletBuild.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/CSubmenuGauntletContests.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/CSubmenuGauntletLoad.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/CSubmenuGauntletQuick.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/ContestGauntletLister.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/QuickGauntletLister.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/VSubmenuGauntletBuild.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/VSubmenuGauntletContests.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/VSubmenuGauntletLoad.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/VSubmenuGauntletQuick.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/home/package-info.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuChallenges.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuDuels.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuQuestData.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuQuestDecks.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuQuestPrefs.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/home/quest/DialogChooseSets.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/home/quest/IVQuestStats.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/home/quest/PnlEvent.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/home/quest/QuestFileLister.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/home/quest/QuestPreferencesHandler.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/home/quest/SSubmenuQuestUtil.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuChallenges.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuDuels.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuQuestData.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuQuestDecks.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuQuestPrefs.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/home/quest/ViewItem.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/home/quest/ViewStall.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/home/quest/package-info.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/AvatarSelector.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/CSubmenuConstructed.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/CSubmenuDraft.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/CSubmenuSealed.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/ConstructedGameMenu.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/VSubmenuConstructed.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/VSubmenuDraft.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/VSubmenuSealed.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/package-info.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/home/settings/CSubmenuAvatars.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/home/settings/CSubmenuDownloaders.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/home/settings/CSubmenuPreferences.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/home/settings/CSubmenuReleaseNotes.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/home/settings/VSubmenuAvatars.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/home/settings/VSubmenuDownloaders.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/home/settings/VSubmenuPreferences.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/home/settings/VSubmenuReleaseNotes.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/home/settings/package-info.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/match/CMatchUI.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/match/ControlWinLose.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/match/GameLogPanel.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/match/GauntletWinLose.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/match/LimitedWinLose.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/match/QuestWinLose.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/match/QuestWinLoseCardViewer.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/match/TargetingOverlay.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/match/VAssignDamage.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/match/VMatchUI.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/match/ViewWinLose.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/match/ZoneAction.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/match/controllers/CAntes.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/match/controllers/CCombat.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/match/controllers/CCommand.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/match/controllers/CDetail.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/match/controllers/CDev.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/match/controllers/CDock.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/match/controllers/CField.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/match/controllers/CHand.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/match/controllers/CLog.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/match/controllers/CPicture.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/match/controllers/CPlayers.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/match/controllers/CPrompt.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/match/controllers/CStack.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/match/controllers/package-info.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/match/menus/CMatchUIMenus.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/match/menus/CardOverlaysMenu.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/match/menus/DevModeMenu.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/match/menus/GameMenu.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/match/package-info.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/match/views/VAntes.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/match/views/VCombat.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/match/views/VCommand.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/match/views/VDetail.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/match/views/VDev.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/match/views/VDock.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/match/views/VField.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/match/views/VHand.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/match/views/VLog.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/match/views/VPicture.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/match/views/VPlayers.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/match/views/VPrompt.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/match/views/VStack.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/match/views/package-info.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/workshop/CWorkshopUI.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/workshop/VWorkshopUI.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/workshop/controllers/CCardDesigner.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/workshop/controllers/CCardScript.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/workshop/controllers/CWorkshopCatalog.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/workshop/menus/CWorkshopUIMenus.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/workshop/menus/WorkshopFileMenu.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/workshop/views/VCardDesigner.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/workshop/views/VCardScript.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/workshop/views/VWorkshopCatalog.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/toolbox/CardFaceSymbols.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/toolbox/ContextMenuBuilder.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/toolbox/FAbsolutePositioner.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/toolbox/FButton.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/toolbox/FCheckBox.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/toolbox/FCheckBoxList.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/toolbox/FComboBox.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/toolbox/FComboBoxPanel.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/toolbox/FComboBoxWrapper.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/toolbox/FDigitalClock.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/toolbox/FHtmlViewer.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/toolbox/FHyperlink.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/toolbox/FLabel.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/toolbox/FList.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/toolbox/FMouseAdapter.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/toolbox/FOptionPane.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/toolbox/FOverlay.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/toolbox/FPanel.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/toolbox/FProgressBar.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/toolbox/FRadioButton.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/toolbox/FScrollPane.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/toolbox/FScrollPanel.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/toolbox/FSkin.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/toolbox/FSpinner.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/toolbox/FTabbedPane.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/toolbox/FTextArea.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/toolbox/FTextEditor.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/toolbox/FTextField.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/toolbox/FUndoManager.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/toolbox/IDisposable.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/toolbox/JXButtonPanel.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/toolbox/LayoutHelper.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/toolbox/SaveOpenDialog.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/toolbox/SmartScroller.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/toolbox/ToolTipListener.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/toolbox/imaging/FImagePanel.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/toolbox/imaging/FImageUtil.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/toolbox/package-info.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/toolbox/special/CardViewer.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/toolbox/special/CardZoomer.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/toolbox/special/PhaseIndicator.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/toolbox/special/PhaseLabel.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/toolbox/special/PlayerDetailsPanel.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/toolbox/special/package-info.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/view/ButtonUtil.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/view/FDialog.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/view/FFrame.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/view/FNavigationBar.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/view/FTitleBar.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/view/FTitleBarBase.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/view/FView.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/view/ITitleBarOwner.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/view/Main.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/view/SplashFrame.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/view/arcane/CardArea.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/view/arcane/CardPanel.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/view/arcane/CardPanelContainer.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/view/arcane/HandArea.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/view/arcane/PlayArea.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/view/arcane/ScaledImagePanel.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/view/arcane/ViewPanel.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/view/arcane/package-info.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/view/arcane/util/Animation.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/view/arcane/util/CardPanelMouseAdapter.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/view/arcane/util/CardPanelMouseListener.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/view/arcane/util/OutlinedLabel.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/view/arcane/util/package-info.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/view/package-info.java -text
|
||||||
|
forge-gui-desktop/src/site/apt/index.apt -text
|
||||||
|
forge-gui-desktop/src/test/java/forge/BoosterDraft1Test.java -text
|
||||||
|
forge-gui-desktop/src/test/java/forge/BoosterDraftTest.java -text
|
||||||
|
forge-gui-desktop/src/test/java/forge/GuiDownloadPicturesLQTest.java -text
|
||||||
|
forge-gui-desktop/src/test/java/forge/GuiDownloadSetPicturesLQTest.java -text
|
||||||
|
forge-gui-desktop/src/test/java/forge/GuiProgressBarWindowTest.java -text
|
||||||
|
forge-gui-desktop/src/test/java/forge/PanelTest.java -text
|
||||||
|
forge-gui-desktop/src/test/java/forge/RunTest.java -text
|
||||||
|
forge-gui-desktop/src/test/java/forge/TinyTest.java -text
|
||||||
|
forge-gui-desktop/src/test/java/forge/deck/generate/Generate2ColorDeckTest.java -text
|
||||||
|
forge-gui-desktop/src/test/java/forge/deck/generate/Generate3ColorDeckTest.java -text
|
||||||
|
forge-gui-desktop/src/test/java/forge/deck/generate/Generate5ColorDeckTest.java -text
|
||||||
|
forge-gui-desktop/src/test/java/forge/gamesimulationtests/BaseGameSimulationTest.java -text
|
||||||
|
forge-gui-desktop/src/test/java/forge/gamesimulationtests/comprehensiverules/ComprehensiveRulesSection103.java -text
|
||||||
|
forge-gui-desktop/src/test/java/forge/gamesimulationtests/comprehensiverules/ComprehensiveRulesSection104.java -text
|
||||||
|
forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/CardDatabaseHelper.java -text
|
||||||
|
forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/GameWrapper.java -text
|
||||||
|
forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/IntegerConstraint.java -text
|
||||||
|
forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/LobbyPlayerForTests.java -text
|
||||||
|
forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/PlayerControllerForTests.java -text
|
||||||
|
forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/Specification.java -text
|
||||||
|
forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/SpecificationHandler.java -text
|
||||||
|
forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/card/CardSpecification.java -text
|
||||||
|
forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/card/CardSpecificationBuilder.java -text
|
||||||
|
forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/card/CardSpecificationHandler.java -text
|
||||||
|
forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/gamestate/GameStateSpecification.java -text
|
||||||
|
forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/gamestate/GameStateSpecificationBuilder.java -text
|
||||||
|
forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/player/PlayerSpecification.java -text
|
||||||
|
forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/player/PlayerSpecificationBuilder.java -text
|
||||||
|
forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/player/PlayerSpecificationHandler.java -text
|
||||||
|
forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/playeractions/ActionPreCondition.java -text
|
||||||
|
forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/playeractions/ActivateAbilityAction.java -text
|
||||||
|
forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/playeractions/BasePlayerAction.java -text
|
||||||
|
forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/playeractions/CastSpellFromHandAction.java -text
|
||||||
|
forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/playeractions/DeclareAttackersAction.java -text
|
||||||
|
forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/playeractions/DeclareBlockersAction.java -text
|
||||||
|
forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/playeractions/PlayerActions.java -text
|
||||||
|
forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/playeractions/testactions/AssertAction.java -text
|
||||||
|
forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/playeractions/testactions/CardAssertAction.java -text
|
||||||
|
forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/playeractions/testactions/EndTestAction.java -text
|
||||||
|
forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/playeractions/testactions/PlayerAssertAction.java -text
|
||||||
|
forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/playeractions/testactions/TestAction.java -text
|
||||||
|
forge-gui-desktop/src/test/java/forge/gui/ListChooserTest.java -text
|
||||||
|
forge-gui-desktop/src/test/java/forge/gui/game/CardDetailPanelTest.java -text
|
||||||
|
forge-gui-desktop/src/test/java/forge/item/DeckHintsTest.java -text
|
||||||
|
forge-gui-desktop/src/test/java/forge/model/FModelTest.java -text
|
||||||
forge-gui/.classpath -text
|
forge-gui/.classpath -text
|
||||||
forge-gui/.project -text
|
forge-gui/.project -text
|
||||||
forge-gui/.settings/org.eclipse.core.resources.prefs -text
|
forge-gui/.settings/org.eclipse.core.resources.prefs -text
|
||||||
@@ -15549,350 +15939,51 @@ forge-gui/src/main/html/js/jquery/jquery-1.9.1.min.js -text
|
|||||||
forge-gui/src/main/html/js/observable.js -text
|
forge-gui/src/main/html/js/observable.js -text
|
||||||
forge-gui/src/main/html/js/socket.js -text
|
forge-gui/src/main/html/js/socket.js -text
|
||||||
forge-gui/src/main/java/forge/FThreads.java -text
|
forge-gui/src/main/java/forge/FThreads.java -text
|
||||||
forge-gui/src/main/java/forge/ImageCache.java svneol=native#text/plain
|
forge-gui/src/main/java/forge/GuiBase.java -text
|
||||||
forge-gui/src/main/java/forge/ImageLoader.java -text
|
forge-gui/src/main/java/forge/SGuiChoose.java -text
|
||||||
forge-gui/src/main/java/forge/Singletons.java svneol=native#text/plain
|
forge-gui/src/main/java/forge/SGuiDialog.java -text
|
||||||
|
forge-gui/src/main/java/forge/SOptionPane.java -text
|
||||||
forge-gui/src/main/java/forge/UiCommand.java svneol=native#text/plain
|
forge-gui/src/main/java/forge/UiCommand.java svneol=native#text/plain
|
||||||
|
forge-gui/src/main/java/forge/assets/FSkinProp.java -text
|
||||||
|
forge-gui/src/main/java/forge/assets/ISkinImage.java -text
|
||||||
|
forge-gui/src/main/java/forge/assets/ImageUtil.java -text
|
||||||
|
forge-gui/src/main/java/forge/card/CardPreferences.java -text
|
||||||
|
forge-gui/src/main/java/forge/card/CardReaderExperiments.java -text
|
||||||
|
forge-gui/src/main/java/forge/card/CardScriptInfo.java -text
|
||||||
forge-gui/src/main/java/forge/control/ChatArea.java -text
|
forge-gui/src/main/java/forge/control/ChatArea.java -text
|
||||||
forge-gui/src/main/java/forge/control/FControl.java -text
|
|
||||||
forge-gui/src/main/java/forge/control/FControlGameEventHandler.java -text
|
forge-gui/src/main/java/forge/control/FControlGameEventHandler.java -text
|
||||||
forge-gui/src/main/java/forge/control/FControlGamePlayback.java -text
|
forge-gui/src/main/java/forge/control/FControlGamePlayback.java -text
|
||||||
forge-gui/src/main/java/forge/control/InputQueue.java svneol=native#text/plain
|
|
||||||
forge-gui/src/main/java/forge/control/KeyboardShortcuts.java -text
|
|
||||||
forge-gui/src/main/java/forge/control/RestartUtil.java -text
|
|
||||||
forge-gui/src/main/java/forge/control/package-info.java -text
|
forge-gui/src/main/java/forge/control/package-info.java -text
|
||||||
|
forge-gui/src/main/java/forge/deck/DeckGeneratorTheme.java -text
|
||||||
|
forge-gui/src/main/java/forge/deck/DeckProxy.java -text
|
||||||
|
forge-gui/src/main/java/forge/deck/DeckType.java -text
|
||||||
|
forge-gui/src/main/java/forge/deck/DeckgenUtil.java -text
|
||||||
forge-gui/src/main/java/forge/deck/io/DeckHtmlSerializer.java -text
|
forge-gui/src/main/java/forge/deck/io/DeckHtmlSerializer.java -text
|
||||||
forge-gui/src/main/java/forge/deck/io/DeckPreferences.java -text
|
forge-gui/src/main/java/forge/deck/io/DeckPreferences.java -text
|
||||||
forge-gui/src/main/java/forge/deck/io/OldDeckParser.java -text
|
forge-gui/src/main/java/forge/deck/io/OldDeckParser.java -text
|
||||||
forge-gui/src/main/java/forge/deck/io/package-info.java svneol=native#text/plain
|
forge-gui/src/main/java/forge/deck/io/package-info.java svneol=native#text/plain
|
||||||
forge-gui/src/main/java/forge/error/ExceptionHandler.java svneol=native#text/plain
|
forge-gui/src/main/java/forge/error/ExceptionHandler.java svneol=native#text/plain
|
||||||
forge-gui/src/main/java/forge/error/package-info.java svneol=native#text/plain
|
forge-gui/src/main/java/forge/error/package-info.java svneol=native#text/plain
|
||||||
|
forge-gui/src/main/java/forge/events/IUiEventVisitor.java -text
|
||||||
|
forge-gui/src/main/java/forge/events/UiEvent.java -text
|
||||||
|
forge-gui/src/main/java/forge/events/UiEventAttackerDeclared.java -text
|
||||||
|
forge-gui/src/main/java/forge/events/UiEventBlockerAssigned.java -text
|
||||||
forge-gui/src/main/java/forge/gauntlet/GauntletData.java -text
|
forge-gui/src/main/java/forge/gauntlet/GauntletData.java -text
|
||||||
forge-gui/src/main/java/forge/gauntlet/GauntletIO.java -text
|
forge-gui/src/main/java/forge/gauntlet/GauntletIO.java -text
|
||||||
forge-gui/src/main/java/forge/gui/CardContainer.java svneol=native#text/plain
|
forge-gui/src/main/java/forge/interfaces/IButton.java -text
|
||||||
forge-gui/src/main/java/forge/gui/CardDetailPanel.java svneol=native#text/plain
|
forge-gui/src/main/java/forge/interfaces/IGuiBase.java -text
|
||||||
forge-gui/src/main/java/forge/gui/CardListViewer.java -text
|
forge-gui/src/main/java/forge/interfaces/IProgressBar.java -text
|
||||||
forge-gui/src/main/java/forge/gui/CardPicturePanel.java svneol=native#text/plain
|
forge-gui/src/main/java/forge/itemmanager/ColumnDef.java -text
|
||||||
forge-gui/src/main/java/forge/gui/CardPreferences.java -text
|
forge-gui/src/main/java/forge/itemmanager/GroupDef.java -text
|
||||||
forge-gui/src/main/java/forge/gui/DualListBox.java -text
|
forge-gui/src/main/java/forge/itemmanager/IItemManager.java -text
|
||||||
forge-gui/src/main/java/forge/gui/FNetOverlay.java -text
|
forge-gui/src/main/java/forge/itemmanager/ItemColumn.java -text
|
||||||
forge-gui/src/main/java/forge/gui/ForgeAction.java svneol=native#text/plain
|
forge-gui/src/main/java/forge/itemmanager/ItemColumnConfig.java -text
|
||||||
forge-gui/src/main/java/forge/gui/GuiChoose.java -text
|
forge-gui/src/main/java/forge/itemmanager/ItemManagerConfig.java -text
|
||||||
forge-gui/src/main/java/forge/gui/GuiDialog.java -text
|
forge-gui/src/main/java/forge/itemmanager/ItemManagerModel.java -text
|
||||||
forge-gui/src/main/java/forge/gui/GuiDisplayUtil.java svneol=native#text/plain
|
forge-gui/src/main/java/forge/itemmanager/SColumnUtil.java -text
|
||||||
forge-gui/src/main/java/forge/gui/GuiProgressBarWindow.java svneol=native#text/plain
|
forge-gui/src/main/java/forge/itemmanager/SFilterUtil.java -text
|
||||||
forge-gui/src/main/java/forge/gui/GuiUtils.java svneol=native#text/plain
|
forge-gui/src/main/java/forge/itemmanager/SItemManagerUtil.java -text
|
||||||
forge-gui/src/main/java/forge/gui/InputProxy.java svneol=native#text/plain
|
forge-gui/src/main/java/forge/itemmanager/package-info.java -text
|
||||||
forge-gui/src/main/java/forge/gui/ListChooser.java svneol=native#text/plain
|
|
||||||
forge-gui/src/main/java/forge/gui/MouseUtil.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/MultiLineLabel.java svneol=native#text/plain
|
|
||||||
forge-gui/src/main/java/forge/gui/MultiLineLabelUI.java svneol=native#text/plain
|
|
||||||
forge-gui/src/main/java/forge/gui/SOverlayUtils.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/UnsortedListModel.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/WrapLayout.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/bazaar/CBazaarUI.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/bazaar/VBazaarUI.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/deckchooser/DeckgenUtil.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/deckchooser/DecksComboBox.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/deckchooser/DecksComboBoxEvent.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/deckchooser/FDeckChooser.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/deckchooser/FDeckViewer.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/deckchooser/IDecksComboBoxListener.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/deckeditor/CDeckEditorUI.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/deckeditor/DeckImport.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/deckeditor/DeckProxy.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/deckeditor/SEditorIO.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/deckeditor/VDeckEditorUI.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/deckeditor/controllers/ACEditorBase.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/deckeditor/controllers/CAllDecks.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/deckeditor/controllers/CCardCatalog.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/deckeditor/controllers/CCurrentDeck.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/deckeditor/controllers/CDeckgen.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/deckeditor/controllers/CEditorCommander.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/deckeditor/controllers/CEditorConstructed.java svneol=native#text/plain
|
|
||||||
forge-gui/src/main/java/forge/gui/deckeditor/controllers/CEditorDraftingProcess.java svneol=native#text/plain
|
|
||||||
forge-gui/src/main/java/forge/gui/deckeditor/controllers/CEditorLimited.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/deckeditor/controllers/CEditorQuest.java svneol=native#text/plain
|
|
||||||
forge-gui/src/main/java/forge/gui/deckeditor/controllers/CEditorQuestCardShop.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/deckeditor/controllers/CEditorVariant.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/deckeditor/controllers/CProbabilities.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/deckeditor/controllers/CStatistics.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/deckeditor/controllers/DeckController.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/deckeditor/menus/CDeckEditorUIMenus.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/deckeditor/menus/DeckFileMenu.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/deckeditor/package-info.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/deckeditor/views/VAllDecks.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/deckeditor/views/VCardCatalog.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/deckeditor/views/VCurrentDeck.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/deckeditor/views/VDeckgen.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/deckeditor/views/VProbabilities.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/deckeditor/views/VStatistics.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/download/GuiDownloadPicturesLQ.java svneol=native#text/plain
|
|
||||||
forge-gui/src/main/java/forge/gui/download/GuiDownloadPrices.java svneol=native#text/plain
|
|
||||||
forge-gui/src/main/java/forge/gui/download/GuiDownloadQuestImages.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/download/GuiDownloadSetPicturesLQ.java svneol=native#text/plain
|
|
||||||
forge-gui/src/main/java/forge/gui/download/GuiDownloader.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/download/package-info.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/events/IUiEventVisitor.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/events/UiEvent.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/events/UiEventAttackerDeclared.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/events/UiEventBlockerAssigned.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/framework/CEmptyDoc.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/framework/DragCell.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/framework/DragTab.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/framework/EDocID.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/framework/FScreen.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/framework/ICDoc.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/framework/IDocIdList.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/framework/ILocalRepaint.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/framework/IVDoc.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/framework/IVTopLevelUI.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/framework/InvalidLayoutFileException.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/framework/RectangleOfDouble.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/framework/SDisplayUtil.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/framework/SLayoutConstants.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/framework/SLayoutIO.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/framework/SOverflowUtil.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/framework/SRearrangingUtil.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/framework/SResizingUtil.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/framework/VEmptyDoc.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/framework/package-info.java svneol=native#text/plain
|
|
||||||
forge-gui/src/main/java/forge/gui/home/CHomeUI.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/home/EMenuGroup.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/home/EMenuItem.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/home/IVSubmenu.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/home/LblGroup.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/home/LblHeader.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/home/LblMenuItem.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/home/PnlGroup.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/home/StartButton.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/home/VHomeUI.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/home/gauntlet/CSubmenuGauntletBuild.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/home/gauntlet/CSubmenuGauntletContests.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/home/gauntlet/CSubmenuGauntletLoad.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/home/gauntlet/CSubmenuGauntletQuick.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/home/gauntlet/ContestGauntletLister.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/home/gauntlet/QuickGauntletLister.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/home/gauntlet/VSubmenuGauntletBuild.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/home/gauntlet/VSubmenuGauntletContests.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/home/gauntlet/VSubmenuGauntletLoad.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/home/gauntlet/VSubmenuGauntletQuick.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/home/package-info.java svneol=native#text/plain
|
|
||||||
forge-gui/src/main/java/forge/gui/home/quest/CSubmenuChallenges.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/home/quest/CSubmenuDuels.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/home/quest/CSubmenuQuestData.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/home/quest/CSubmenuQuestDecks.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/home/quest/CSubmenuQuestPrefs.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/home/quest/IVQuestStats.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/home/quest/PnlEvent.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/home/quest/QuestFileLister.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/home/quest/QuestPreferencesHandler.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/home/quest/SSubmenuQuestUtil.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/home/quest/VSubmenuChallenges.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/home/quest/VSubmenuDuels.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/home/quest/VSubmenuQuestData.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/home/quest/VSubmenuQuestDecks.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/home/quest/VSubmenuQuestPrefs.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/home/quest/package-info.java svneol=native#text/plain
|
|
||||||
forge-gui/src/main/java/forge/gui/home/sanctioned/AvatarSelector.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/home/sanctioned/CSubmenuConstructed.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/home/sanctioned/CSubmenuDraft.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/home/sanctioned/CSubmenuSealed.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/home/sanctioned/ConstructedGameMenu.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/home/sanctioned/VSubmenuConstructed.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/home/sanctioned/VSubmenuDraft.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/home/sanctioned/VSubmenuSealed.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/home/sanctioned/package-info.java svneol=native#text/plain
|
|
||||||
forge-gui/src/main/java/forge/gui/home/settings/CSubmenuAvatars.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/home/settings/CSubmenuDownloaders.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/home/settings/CSubmenuPreferences.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/home/settings/CSubmenuReleaseNotes.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/home/settings/GamePlayerUtil.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/home/settings/VSubmenuAvatars.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/home/settings/VSubmenuDownloaders.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/home/settings/VSubmenuPreferences.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/home/settings/VSubmenuReleaseNotes.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/home/settings/package-info.java svneol=native#text/plain
|
|
||||||
forge-gui/src/main/java/forge/gui/input/Input.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/input/InputAttack.java svneol=native#text/plain
|
|
||||||
forge-gui/src/main/java/forge/gui/input/InputBase.java svneol=native#text/plain
|
|
||||||
forge-gui/src/main/java/forge/gui/input/InputBlock.java svneol=native#text/plain
|
|
||||||
forge-gui/src/main/java/forge/gui/input/InputConfirm.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/input/InputConfirmMulligan.java svneol=native#text/plain
|
|
||||||
forge-gui/src/main/java/forge/gui/input/InputLockUI.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/input/InputPassPriority.java svneol=native#text/plain
|
|
||||||
forge-gui/src/main/java/forge/gui/input/InputPayMana.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/input/InputPayManaOfCostPayment.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/input/InputPayManaSimple.java svneol=native#text/plain
|
|
||||||
forge-gui/src/main/java/forge/gui/input/InputPayManaX.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/input/InputPlaybackControl.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/input/InputProliferate.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/input/InputSelectCardsForConvoke.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/input/InputSelectCardsFromList.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/input/InputSelectEntitiesFromList.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/input/InputSelectManyBase.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/input/InputSelectTargets.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/input/InputSynchronized.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/input/InputSyncronizedBase.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/input/package-info.java svneol=native#text/plain
|
|
||||||
forge-gui/src/main/java/forge/gui/match/CMatchUI.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/match/ControlWinLose.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/match/GameLogPanel.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/match/GauntletWinLose.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/match/LimitedWinLose.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/match/QuestWinLose.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/match/QuestWinLoseCardViewer.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/match/TargetingOverlay.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/match/VAssignDamage.java svneol=native#text/plain
|
|
||||||
forge-gui/src/main/java/forge/gui/match/VMatchUI.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/match/ViewWinLose.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/match/ZoneAction.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/match/controllers/CAntes.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/match/controllers/CCombat.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/match/controllers/CCommand.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/match/controllers/CDetail.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/match/controllers/CDev.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/match/controllers/CDock.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/match/controllers/CField.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/match/controllers/CHand.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/match/controllers/CLog.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/match/controllers/CPicture.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/match/controllers/CPlayers.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/match/controllers/CPrompt.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/match/controllers/CStack.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/match/controllers/package-info.java svneol=native#text/plain
|
|
||||||
forge-gui/src/main/java/forge/gui/match/menus/CMatchUIMenus.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/match/menus/CardOverlaysMenu.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/match/menus/DevModeMenu.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/match/menus/GameMenu.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/match/package-info.java svneol=native#text/plain
|
|
||||||
forge-gui/src/main/java/forge/gui/match/views/VAntes.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/match/views/VCombat.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/match/views/VCommand.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/match/views/VDetail.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/match/views/VDev.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/match/views/VDock.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/match/views/VField.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/match/views/VHand.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/match/views/VLog.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/match/views/VPicture.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/match/views/VPlayers.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/match/views/VPrompt.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/match/views/VStack.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/match/views/package-info.java svneol=native#text/plain
|
|
||||||
forge-gui/src/main/java/forge/gui/menus/ForgeMenu.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/menus/HelpMenu.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/menus/IMenuProvider.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/menus/LayoutMenu.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/menus/MenuUtil.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/package-info.java svneol=native#text/plain
|
|
||||||
forge-gui/src/main/java/forge/gui/player/HumanCostDecision.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/player/HumanPlay.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/player/HumanPlaySpellAbility.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/player/LobbyPlayerHuman.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/player/PlayerControllerHuman.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/player/TargetSelection.java svneol=native#text/plain
|
|
||||||
forge-gui/src/main/java/forge/gui/player/package-info.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/CardFaceSymbols.java svneol=native#text/plain
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/ContextMenuBuilder.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/FAbsolutePositioner.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/FButton.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/FCheckBox.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/FComboBox.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/FComboBoxPanel.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/FComboBoxWrapper.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/FDigitalClock.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/FHtmlViewer.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/FLabel.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/FList.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/FMouseAdapter.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/FOptionPane.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/FOverlay.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/FPanel.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/FProgressBar.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/FRadioButton.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/FScrollPane.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/FScrollPanel.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/FSkin.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/FTabbedPane.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/FTextArea.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/FTextEditor.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/FTextField.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/FUndoManager.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/IDisposable.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/LayoutHelper.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/SaveOpenDialog.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/imaging/FImagePanel.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/imaging/FImageUtil.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/imaging/ImageUtil.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/itemmanager/CardManager.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/itemmanager/DeckManager.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/itemmanager/ItemManager.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/itemmanager/ItemManagerConfig.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/itemmanager/ItemManagerContainer.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/itemmanager/ItemManagerModel.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/itemmanager/SFilterUtil.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/itemmanager/SItemManagerUtil.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/itemmanager/SpellShopManager.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/itemmanager/filters/CardCMCFilter.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/itemmanager/filters/CardCMCRangeFilter.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/itemmanager/filters/CardColorFilter.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/itemmanager/filters/CardFormatFilter.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/itemmanager/filters/CardPowerFilter.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/itemmanager/filters/CardQuestWorldFilter.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/itemmanager/filters/CardSearchFilter.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/itemmanager/filters/CardSetFilter.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/itemmanager/filters/CardToughnessFilter.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/itemmanager/filters/CardTypeFilter.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/itemmanager/filters/DeckColorFilter.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/itemmanager/filters/DeckFolderFilter.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/itemmanager/filters/DeckFormatFilter.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/itemmanager/filters/DeckQuestWorldFilter.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/itemmanager/filters/DeckSearchFilter.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/itemmanager/filters/DeckSetFilter.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/itemmanager/filters/DeckStatTypeFilter.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/itemmanager/filters/FormatFilter.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/itemmanager/filters/ItemFilter.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/itemmanager/filters/ListLabelFilter.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/itemmanager/filters/StatTypeFilter.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/itemmanager/filters/TextSearchFilter.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/itemmanager/filters/ToggleButtonsFilter.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/itemmanager/filters/ValueRangeFilter.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/itemmanager/package-info.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/itemmanager/views/ColorSetRenderer.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/itemmanager/views/ColumnDef.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/itemmanager/views/DeckQuantityRenderer.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/itemmanager/views/DeckStarRenderer.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/itemmanager/views/GroupDef.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/itemmanager/views/ImageView.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/itemmanager/views/IntegerRenderer.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/itemmanager/views/ItemCellRenderer.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/itemmanager/views/ItemColumn.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/itemmanager/views/ItemColumnConfig.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/itemmanager/views/ItemListView.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/itemmanager/views/ItemView.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/itemmanager/views/ManaCostRenderer.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/itemmanager/views/SColumnUtil.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/itemmanager/views/SetCodeRenderer.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/itemmanager/views/StarRenderer.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/package-info.java svneol=native#text/plain
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/special/CardViewer.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/special/CardZoomer.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/special/PhaseIndicator.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/special/PhaseLabel.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/special/PlayerDetailsPanel.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/toolbox/special/package-info.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/workshop/CWorkshopUI.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/workshop/CardScriptInfo.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/workshop/VWorkshopUI.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/workshop/controllers/CCardDesigner.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/workshop/controllers/CCardScript.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/workshop/controllers/CWorkshopCatalog.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/workshop/menus/CWorkshopUIMenus.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/workshop/menus/WorkshopFileMenu.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/workshop/views/VCardDesigner.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/workshop/views/VCardScript.java -text
|
|
||||||
forge-gui/src/main/java/forge/gui/workshop/views/VWorkshopCatalog.java -text
|
|
||||||
forge-gui/src/main/java/forge/limited/BoosterDeckBuilder.java -text
|
forge-gui/src/main/java/forge/limited/BoosterDeckBuilder.java -text
|
||||||
forge-gui/src/main/java/forge/limited/BoosterDraft.java svneol=native#text/plain
|
forge-gui/src/main/java/forge/limited/BoosterDraft.java svneol=native#text/plain
|
||||||
forge-gui/src/main/java/forge/limited/BoosterDraftAI.java svneol=native#text/plain
|
forge-gui/src/main/java/forge/limited/BoosterDraftAI.java svneol=native#text/plain
|
||||||
@@ -15908,6 +15999,32 @@ forge-gui/src/main/java/forge/limited/ReadDraftRankings.java -text
|
|||||||
forge-gui/src/main/java/forge/limited/SealedCardPoolGenerator.java svneol=native#text/plain
|
forge-gui/src/main/java/forge/limited/SealedCardPoolGenerator.java svneol=native#text/plain
|
||||||
forge-gui/src/main/java/forge/limited/SealedDeckBuilder.java svneol=native#text/plain
|
forge-gui/src/main/java/forge/limited/SealedDeckBuilder.java svneol=native#text/plain
|
||||||
forge-gui/src/main/java/forge/limited/package-info.java svneol=native#text/plain
|
forge-gui/src/main/java/forge/limited/package-info.java svneol=native#text/plain
|
||||||
|
forge-gui/src/main/java/forge/match/MatchConstants.java -text
|
||||||
|
forge-gui/src/main/java/forge/match/input/ButtonUtil.java -text
|
||||||
|
forge-gui/src/main/java/forge/match/input/Input.java -text
|
||||||
|
forge-gui/src/main/java/forge/match/input/InputAttack.java -text
|
||||||
|
forge-gui/src/main/java/forge/match/input/InputBase.java -text
|
||||||
|
forge-gui/src/main/java/forge/match/input/InputBlock.java -text
|
||||||
|
forge-gui/src/main/java/forge/match/input/InputConfirm.java -text
|
||||||
|
forge-gui/src/main/java/forge/match/input/InputConfirmMulligan.java -text
|
||||||
|
forge-gui/src/main/java/forge/match/input/InputLockUI.java -text
|
||||||
|
forge-gui/src/main/java/forge/match/input/InputPassPriority.java -text
|
||||||
|
forge-gui/src/main/java/forge/match/input/InputPayMana.java -text
|
||||||
|
forge-gui/src/main/java/forge/match/input/InputPayManaOfCostPayment.java -text
|
||||||
|
forge-gui/src/main/java/forge/match/input/InputPayManaSimple.java -text
|
||||||
|
forge-gui/src/main/java/forge/match/input/InputPayManaX.java -text
|
||||||
|
forge-gui/src/main/java/forge/match/input/InputPlaybackControl.java -text
|
||||||
|
forge-gui/src/main/java/forge/match/input/InputProliferate.java -text
|
||||||
|
forge-gui/src/main/java/forge/match/input/InputProxy.java -text
|
||||||
|
forge-gui/src/main/java/forge/match/input/InputQueue.java -text
|
||||||
|
forge-gui/src/main/java/forge/match/input/InputSelectCardsForConvoke.java -text
|
||||||
|
forge-gui/src/main/java/forge/match/input/InputSelectCardsFromList.java -text
|
||||||
|
forge-gui/src/main/java/forge/match/input/InputSelectEntitiesFromList.java -text
|
||||||
|
forge-gui/src/main/java/forge/match/input/InputSelectManyBase.java -text
|
||||||
|
forge-gui/src/main/java/forge/match/input/InputSelectTargets.java -text
|
||||||
|
forge-gui/src/main/java/forge/match/input/InputSynchronized.java -text
|
||||||
|
forge-gui/src/main/java/forge/match/input/InputSyncronizedBase.java -text
|
||||||
|
forge-gui/src/main/java/forge/match/input/package-info.java -text
|
||||||
forge-gui/src/main/java/forge/model/CardBlock.java -text
|
forge-gui/src/main/java/forge/model/CardBlock.java -text
|
||||||
forge-gui/src/main/java/forge/model/CardCollections.java -text
|
forge-gui/src/main/java/forge/model/CardCollections.java -text
|
||||||
forge-gui/src/main/java/forge/model/FModel.java svneol=native#text/plain
|
forge-gui/src/main/java/forge/model/FModel.java svneol=native#text/plain
|
||||||
@@ -15931,9 +16048,16 @@ forge-gui/src/main/java/forge/net/client/state/InLobbyClientState.java -text
|
|||||||
forge-gui/src/main/java/forge/net/client/state/UnauthorizedClientState.java -text
|
forge-gui/src/main/java/forge/net/client/state/UnauthorizedClientState.java -text
|
||||||
forge-gui/src/main/java/forge/net/client/state/package-info.java -text
|
forge-gui/src/main/java/forge/net/client/state/package-info.java -text
|
||||||
forge-gui/src/main/java/forge/net/package-info.java -text
|
forge-gui/src/main/java/forge/net/package-info.java -text
|
||||||
forge-gui/src/main/java/forge/package-info.java svneol=native#text/plain
|
forge-gui/src/main/java/forge/player/GamePlayerUtil.java -text
|
||||||
|
forge-gui/src/main/java/forge/player/HumanCostDecision.java -text
|
||||||
|
forge-gui/src/main/java/forge/player/HumanPlay.java -text
|
||||||
|
forge-gui/src/main/java/forge/player/HumanPlaySpellAbility.java -text
|
||||||
|
forge-gui/src/main/java/forge/player/LobbyPlayerHuman.java -text
|
||||||
|
forge-gui/src/main/java/forge/player/PlayerControllerHuman.java -text
|
||||||
|
forge-gui/src/main/java/forge/player/TargetSelection.java -text
|
||||||
|
forge-gui/src/main/java/forge/player/package-info.java -text
|
||||||
|
forge-gui/src/main/java/forge/properties/ForgeConstants.java -text
|
||||||
forge-gui/src/main/java/forge/properties/ForgePreferences.java svneol=native#text/plain
|
forge-gui/src/main/java/forge/properties/ForgePreferences.java svneol=native#text/plain
|
||||||
forge-gui/src/main/java/forge/properties/NewConstants.java svneol=native#text/plain
|
|
||||||
forge-gui/src/main/java/forge/properties/Preferences.java svneol=native#text/plain
|
forge-gui/src/main/java/forge/properties/Preferences.java svneol=native#text/plain
|
||||||
forge-gui/src/main/java/forge/properties/SavePreferencesListener.java svneol=native#text/plain
|
forge-gui/src/main/java/forge/properties/SavePreferencesListener.java svneol=native#text/plain
|
||||||
forge-gui/src/main/java/forge/properties/package-info.java svneol=native#text/plain
|
forge-gui/src/main/java/forge/properties/package-info.java svneol=native#text/plain
|
||||||
@@ -15978,9 +16102,6 @@ forge-gui/src/main/java/forge/quest/data/QuestData.java svneol=native#text/plain
|
|||||||
forge-gui/src/main/java/forge/quest/data/QuestItemCondition.java -text
|
forge-gui/src/main/java/forge/quest/data/QuestItemCondition.java -text
|
||||||
forge-gui/src/main/java/forge/quest/data/QuestPreferences.java svneol=native#text/plain
|
forge-gui/src/main/java/forge/quest/data/QuestPreferences.java svneol=native#text/plain
|
||||||
forge-gui/src/main/java/forge/quest/data/package-info.java svneol=native#text/plain
|
forge-gui/src/main/java/forge/quest/data/package-info.java svneol=native#text/plain
|
||||||
forge-gui/src/main/java/forge/quest/gui/ViewItem.java -text
|
|
||||||
forge-gui/src/main/java/forge/quest/gui/ViewStall.java svneol=native#text/plain
|
|
||||||
forge-gui/src/main/java/forge/quest/gui/package-info.java svneol=native#text/plain
|
|
||||||
forge-gui/src/main/java/forge/quest/io/QuestChallengeReader.java -text
|
forge-gui/src/main/java/forge/quest/io/QuestChallengeReader.java -text
|
||||||
forge-gui/src/main/java/forge/quest/io/QuestDataIO.java svneol=native#text/plain
|
forge-gui/src/main/java/forge/quest/io/QuestDataIO.java svneol=native#text/plain
|
||||||
forge-gui/src/main/java/forge/quest/io/QuestDuelReader.java -text
|
forge-gui/src/main/java/forge/quest/io/QuestDuelReader.java -text
|
||||||
@@ -15997,6 +16118,7 @@ forge-gui/src/main/java/forge/sound/SoundSystem.java -text
|
|||||||
forge-gui/src/main/java/forge/util/AwtUtil.java -text
|
forge-gui/src/main/java/forge/util/AwtUtil.java -text
|
||||||
forge-gui/src/main/java/forge/util/Base64Coder.java svneol=native#text/plain
|
forge-gui/src/main/java/forge/util/Base64Coder.java svneol=native#text/plain
|
||||||
forge-gui/src/main/java/forge/util/Evaluator.java -text
|
forge-gui/src/main/java/forge/util/Evaluator.java -text
|
||||||
|
forge-gui/src/main/java/forge/util/GuiDisplayUtil.java -text
|
||||||
forge-gui/src/main/java/forge/util/HttpUtil.java svneol=native#text/plain
|
forge-gui/src/main/java/forge/util/HttpUtil.java svneol=native#text/plain
|
||||||
forge-gui/src/main/java/forge/util/IgnoringXStream.java -text
|
forge-gui/src/main/java/forge/util/IgnoringXStream.java -text
|
||||||
forge-gui/src/main/java/forge/util/LineReader.java -text
|
forge-gui/src/main/java/forge/util/LineReader.java -text
|
||||||
@@ -16004,78 +16126,8 @@ forge-gui/src/main/java/forge/util/MultiplexOutputStream.java svneol=native#text
|
|||||||
forge-gui/src/main/java/forge/util/OperatingSystem.java -text
|
forge-gui/src/main/java/forge/util/OperatingSystem.java -text
|
||||||
forge-gui/src/main/java/forge/util/XmlUtil.java -text
|
forge-gui/src/main/java/forge/util/XmlUtil.java -text
|
||||||
forge-gui/src/main/java/forge/util/package-info.java -text
|
forge-gui/src/main/java/forge/util/package-info.java -text
|
||||||
forge-gui/src/main/java/forge/view/ButtonUtil.java svneol=native#text/plain
|
|
||||||
forge-gui/src/main/java/forge/view/CardReaderExperiments.java -text
|
|
||||||
forge-gui/src/main/java/forge/view/FDialog.java -text
|
|
||||||
forge-gui/src/main/java/forge/view/FFrame.java -text
|
|
||||||
forge-gui/src/main/java/forge/view/FNavigationBar.java -text
|
|
||||||
forge-gui/src/main/java/forge/view/FTitleBar.java -text
|
|
||||||
forge-gui/src/main/java/forge/view/FTitleBarBase.java -text
|
|
||||||
forge-gui/src/main/java/forge/view/FView.java -text
|
|
||||||
forge-gui/src/main/java/forge/view/ITitleBarOwner.java -text
|
|
||||||
forge-gui/src/main/java/forge/view/Main.java -text
|
|
||||||
forge-gui/src/main/java/forge/view/SplashFrame.java -text
|
|
||||||
forge-gui/src/main/java/forge/view/arcane/CardArea.java svneol=native#text/plain
|
|
||||||
forge-gui/src/main/java/forge/view/arcane/CardPanel.java svneol=native#text/plain
|
|
||||||
forge-gui/src/main/java/forge/view/arcane/CardPanelContainer.java svneol=native#text/plain
|
|
||||||
forge-gui/src/main/java/forge/view/arcane/HandArea.java svneol=native#text/plain
|
|
||||||
forge-gui/src/main/java/forge/view/arcane/PlayArea.java svneol=native#text/plain
|
|
||||||
forge-gui/src/main/java/forge/view/arcane/ScaledImagePanel.java svneol=native#text/plain
|
|
||||||
forge-gui/src/main/java/forge/view/arcane/ViewPanel.java svneol=native#text/plain
|
|
||||||
forge-gui/src/main/java/forge/view/arcane/package-info.java svneol=native#text/plain
|
|
||||||
forge-gui/src/main/java/forge/view/arcane/util/Animation.java svneol=native#text/plain
|
|
||||||
forge-gui/src/main/java/forge/view/arcane/util/CardPanelMouseAdapter.java -text
|
|
||||||
forge-gui/src/main/java/forge/view/arcane/util/CardPanelMouseListener.java svneol=native#text/plain
|
|
||||||
forge-gui/src/main/java/forge/view/arcane/util/OutlinedLabel.java svneol=native#text/plain
|
|
||||||
forge-gui/src/main/java/forge/view/arcane/util/package-info.java svneol=native#text/plain
|
|
||||||
forge-gui/src/main/java/forge/view/package-info.java svneol=native#text/plain
|
|
||||||
forge-gui/src/main/resources/proxy-template.ftl -text
|
forge-gui/src/main/resources/proxy-template.ftl -text
|
||||||
forge-gui/src/site/apt/index.apt -text
|
forge-gui/src/site/apt/index.apt -text
|
||||||
forge-gui/src/test/java/forge/BoosterDraft1Test.java svneol=native#text/plain
|
|
||||||
forge-gui/src/test/java/forge/BoosterDraftTest.java svneol=native#text/plain
|
|
||||||
forge-gui/src/test/java/forge/GuiDownloadPicturesLQTest.java svneol=native#text/plain
|
|
||||||
forge-gui/src/test/java/forge/GuiDownloadSetPicturesLQTest.java svneol=native#text/plain
|
|
||||||
forge-gui/src/test/java/forge/GuiProgressBarWindowTest.java svneol=native#text/plain
|
|
||||||
forge-gui/src/test/java/forge/PanelTest.java svneol=native#text/plain
|
|
||||||
forge-gui/src/test/java/forge/RunTest.java svneol=native#text/plain
|
|
||||||
forge-gui/src/test/java/forge/TinyTest.java svneol=native#text/plain
|
|
||||||
forge-gui/src/test/java/forge/deck/generate/Generate2ColorDeckTest.java svneol=native#text/plain
|
|
||||||
forge-gui/src/test/java/forge/deck/generate/Generate3ColorDeckTest.java svneol=native#text/plain
|
|
||||||
forge-gui/src/test/java/forge/deck/generate/Generate5ColorDeckTest.java svneol=native#text/plain
|
|
||||||
forge-gui/src/test/java/forge/gamesimulationtests/BaseGameSimulationTest.java -text
|
|
||||||
forge-gui/src/test/java/forge/gamesimulationtests/comprehensiverules/ComprehensiveRulesSection103.java -text
|
|
||||||
forge-gui/src/test/java/forge/gamesimulationtests/comprehensiverules/ComprehensiveRulesSection104.java -text
|
|
||||||
forge-gui/src/test/java/forge/gamesimulationtests/util/CardDatabaseHelper.java -text
|
|
||||||
forge-gui/src/test/java/forge/gamesimulationtests/util/GameWrapper.java -text
|
|
||||||
forge-gui/src/test/java/forge/gamesimulationtests/util/IntegerConstraint.java -text
|
|
||||||
forge-gui/src/test/java/forge/gamesimulationtests/util/LobbyPlayerForTests.java -text
|
|
||||||
forge-gui/src/test/java/forge/gamesimulationtests/util/PlayerControllerForTests.java -text
|
|
||||||
forge-gui/src/test/java/forge/gamesimulationtests/util/Specification.java -text
|
|
||||||
forge-gui/src/test/java/forge/gamesimulationtests/util/SpecificationHandler.java -text
|
|
||||||
forge-gui/src/test/java/forge/gamesimulationtests/util/card/CardSpecification.java -text
|
|
||||||
forge-gui/src/test/java/forge/gamesimulationtests/util/card/CardSpecificationBuilder.java -text
|
|
||||||
forge-gui/src/test/java/forge/gamesimulationtests/util/card/CardSpecificationHandler.java -text
|
|
||||||
forge-gui/src/test/java/forge/gamesimulationtests/util/gamestate/GameStateSpecification.java -text
|
|
||||||
forge-gui/src/test/java/forge/gamesimulationtests/util/gamestate/GameStateSpecificationBuilder.java -text
|
|
||||||
forge-gui/src/test/java/forge/gamesimulationtests/util/player/PlayerSpecification.java -text
|
|
||||||
forge-gui/src/test/java/forge/gamesimulationtests/util/player/PlayerSpecificationBuilder.java -text
|
|
||||||
forge-gui/src/test/java/forge/gamesimulationtests/util/player/PlayerSpecificationHandler.java -text
|
|
||||||
forge-gui/src/test/java/forge/gamesimulationtests/util/playeractions/ActionPreCondition.java -text
|
|
||||||
forge-gui/src/test/java/forge/gamesimulationtests/util/playeractions/ActivateAbilityAction.java -text
|
|
||||||
forge-gui/src/test/java/forge/gamesimulationtests/util/playeractions/BasePlayerAction.java -text
|
|
||||||
forge-gui/src/test/java/forge/gamesimulationtests/util/playeractions/CastSpellFromHandAction.java -text
|
|
||||||
forge-gui/src/test/java/forge/gamesimulationtests/util/playeractions/DeclareAttackersAction.java -text
|
|
||||||
forge-gui/src/test/java/forge/gamesimulationtests/util/playeractions/DeclareBlockersAction.java -text
|
|
||||||
forge-gui/src/test/java/forge/gamesimulationtests/util/playeractions/PlayerActions.java -text
|
|
||||||
forge-gui/src/test/java/forge/gamesimulationtests/util/playeractions/testactions/AssertAction.java -text
|
|
||||||
forge-gui/src/test/java/forge/gamesimulationtests/util/playeractions/testactions/CardAssertAction.java -text
|
|
||||||
forge-gui/src/test/java/forge/gamesimulationtests/util/playeractions/testactions/EndTestAction.java -text
|
|
||||||
forge-gui/src/test/java/forge/gamesimulationtests/util/playeractions/testactions/PlayerAssertAction.java -text
|
|
||||||
forge-gui/src/test/java/forge/gamesimulationtests/util/playeractions/testactions/TestAction.java -text
|
|
||||||
forge-gui/src/test/java/forge/gui/ListChooserTest.java svneol=native#text/plain
|
|
||||||
forge-gui/src/test/java/forge/gui/game/CardDetailPanelTest.java svneol=native#text/plain
|
|
||||||
forge-gui/src/test/java/forge/item/DeckHintsTest.java -text
|
|
||||||
forge-gui/src/test/java/forge/model/FModelTest.java -text
|
|
||||||
forge-gui/tools/PerSetTracking.py svneol=native#text/x-python
|
forge-gui/tools/PerSetTracking.py svneol=native#text/x-python
|
||||||
forge-gui/tools/assignSetInfo.py svneol=native#text/x-python
|
forge-gui/tools/assignSetInfo.py svneol=native#text/x-python
|
||||||
forge-gui/tools/cardTemplateScript.py svneol=native#text/x-python
|
forge-gui/tools/cardTemplateScript.py svneol=native#text/x-python
|
||||||
|
|||||||
@@ -48,7 +48,6 @@ import org.apache.commons.lang3.StringUtils;
|
|||||||
import org.apache.commons.lang3.tuple.ImmutablePair;
|
import org.apache.commons.lang3.tuple.ImmutablePair;
|
||||||
import org.apache.commons.lang3.tuple.Pair;
|
import org.apache.commons.lang3.tuple.Pair;
|
||||||
|
|
||||||
import java.awt.event.MouseEvent;
|
|
||||||
import java.security.InvalidParameterException;
|
import java.security.InvalidParameterException;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
@@ -72,7 +71,7 @@ public class PlayerControllerAi extends PlayerController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public SpellAbility getAbilityToPlay(List<SpellAbility> abilities, MouseEvent triggerEvent) {
|
public SpellAbility getAbilityToPlay(List<SpellAbility> abilities, Object triggerEvent) {
|
||||||
if (abilities.size() == 0) {
|
if (abilities.size() == 0) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,7 +33,6 @@ import forge.item.PaperCard;
|
|||||||
import org.apache.commons.lang3.tuple.ImmutablePair;
|
import org.apache.commons.lang3.tuple.ImmutablePair;
|
||||||
import org.apache.commons.lang3.tuple.Pair;
|
import org.apache.commons.lang3.tuple.Pair;
|
||||||
|
|
||||||
import java.awt.event.MouseEvent;
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -108,12 +107,8 @@ public abstract class PlayerController {
|
|||||||
public LobbyPlayer getLobbyPlayer() { return lobbyPlayer; }
|
public LobbyPlayer getLobbyPlayer() { return lobbyPlayer; }
|
||||||
|
|
||||||
public final SpellAbility getAbilityToPlay(List<SpellAbility> abilities) { return getAbilityToPlay(abilities, null); }
|
public final SpellAbility getAbilityToPlay(List<SpellAbility> abilities) { return getAbilityToPlay(abilities, null); }
|
||||||
public abstract SpellAbility getAbilityToPlay(List<SpellAbility> abilities, MouseEvent triggerEvent);
|
public abstract SpellAbility getAbilityToPlay(List<SpellAbility> abilities, Object triggerEvent);
|
||||||
|
|
||||||
/**
|
|
||||||
* TODO: Write javadoc for this method.
|
|
||||||
* @param c
|
|
||||||
*/
|
|
||||||
//public abstract void playFromSuspend(Card c);
|
//public abstract void playFromSuspend(Card c);
|
||||||
public abstract void playSpellAbilityForFree(SpellAbility copySA, boolean mayChoseNewTargets);
|
public abstract void playSpellAbilityForFree(SpellAbility copySA, boolean mayChoseNewTargets);
|
||||||
public abstract void playSpellAbilityNoStack(SpellAbility effectSA, boolean mayChoseNewTargets);
|
public abstract void playSpellAbilityNoStack(SpellAbility effectSA, boolean mayChoseNewTargets);
|
||||||
|
|||||||
9
forge-gui-desktop/.classpath
Normal file
9
forge-gui-desktop/.classpath
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<classpath>
|
||||||
|
<classpathentry kind="src" output="target/classes" path="src/main/java"/>
|
||||||
|
<classpathentry kind="src" output="target/test-classes" path="src/test/java"/>
|
||||||
|
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
|
||||||
|
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"/>
|
||||||
|
<classpathentry kind="con" path="org.testng.TESTNG_CONTAINER"/>
|
||||||
|
<classpathentry kind="output" path="target/classes"/>
|
||||||
|
</classpath>
|
||||||
23
forge-gui-desktop/.project
Normal file
23
forge-gui-desktop/.project
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<projectDescription>
|
||||||
|
<name>forge-gui-desktop</name>
|
||||||
|
<comment></comment>
|
||||||
|
<projects>
|
||||||
|
</projects>
|
||||||
|
<buildSpec>
|
||||||
|
<buildCommand>
|
||||||
|
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||||
|
<arguments>
|
||||||
|
</arguments>
|
||||||
|
</buildCommand>
|
||||||
|
<buildCommand>
|
||||||
|
<name>org.eclipse.m2e.core.maven2Builder</name>
|
||||||
|
<arguments>
|
||||||
|
</arguments>
|
||||||
|
</buildCommand>
|
||||||
|
</buildSpec>
|
||||||
|
<natures>
|
||||||
|
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||||
|
<nature>org.eclipse.m2e.core.maven2Nature</nature>
|
||||||
|
</natures>
|
||||||
|
</projectDescription>
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
eclipse.preferences.version=1
|
||||||
|
encoding/<project>=ISO-8859-1
|
||||||
5
forge-gui-desktop/.settings/org.eclipse.jdt.core.prefs
Normal file
5
forge-gui-desktop/.settings/org.eclipse.jdt.core.prefs
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
eclipse.preferences.version=1
|
||||||
|
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
|
||||||
|
org.eclipse.jdt.core.compiler.compliance=1.7
|
||||||
|
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
|
||||||
|
org.eclipse.jdt.core.compiler.source=1.7
|
||||||
4
forge-gui-desktop/.settings/org.eclipse.m2e.core.prefs
Normal file
4
forge-gui-desktop/.settings/org.eclipse.m2e.core.prefs
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
activeProfiles=
|
||||||
|
eclipse.preferences.version=1
|
||||||
|
resolveWorkspaceProjects=true
|
||||||
|
version=1
|
||||||
515
forge-gui-desktop/pom.xml
Normal file
515
forge-gui-desktop/pom.xml
Normal file
@@ -0,0 +1,515 @@
|
|||||||
|
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
<parent>
|
||||||
|
<artifactId>forge</artifactId>
|
||||||
|
<groupId>forge</groupId>
|
||||||
|
<version>1.5.16-SNAPSHOT</version>
|
||||||
|
</parent>
|
||||||
|
|
||||||
|
<artifactId>forge-gui-desktop</artifactId>
|
||||||
|
<packaging>jar</packaging>
|
||||||
|
<name>Forge</name>
|
||||||
|
|
||||||
|
<build>
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<groupId>com.google.code.maven-svn-revision-number-plugin</groupId>
|
||||||
|
<artifactId>svn-revision-number-maven-plugin</artifactId>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<goals>
|
||||||
|
<goal>revision</goal>
|
||||||
|
</goals>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
<configuration>
|
||||||
|
<failOnError>false</failOnError>
|
||||||
|
<entries>
|
||||||
|
<entry>
|
||||||
|
<prefix>forge</prefix>
|
||||||
|
</entry>
|
||||||
|
</entries>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-antrun-plugin</artifactId>
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.apache.ant</groupId>
|
||||||
|
<artifactId>ant-nodeps</artifactId>
|
||||||
|
<version>1.8.1</version>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<id>build-version-string</id>
|
||||||
|
<phase>process-resources</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>run</goal>
|
||||||
|
</goals>
|
||||||
|
<configuration>
|
||||||
|
<exportAntProperties>true</exportAntProperties>
|
||||||
|
<target>
|
||||||
|
<condition property="fullversionstring" value="${project.version}-r${forge.revision}${forge.specialStatus}" else="${project.version}-r${forge.revision}${forge.specialStatus} (mixed revisions detected; please update from the root directory)">
|
||||||
|
<contains string="${forge.mixedRevisions}" substring="false" />
|
||||||
|
</condition>
|
||||||
|
</target>
|
||||||
|
</configuration>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-jar-plugin</artifactId>
|
||||||
|
<version>2.4</version>
|
||||||
|
<configuration>
|
||||||
|
<archive>
|
||||||
|
<manifest>
|
||||||
|
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
|
||||||
|
<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
|
||||||
|
</manifest>
|
||||||
|
<manifestEntries>
|
||||||
|
<Implementation-Version>${fullversionstring}</Implementation-Version>
|
||||||
|
</manifestEntries>
|
||||||
|
</archive>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
<plugin>
|
||||||
|
<groupId>com.google.code.maven-replacer-plugin</groupId>
|
||||||
|
<artifactId>replacer</artifactId>
|
||||||
|
<version>1.5.2</version>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<phase>package</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>replace</goal>
|
||||||
|
</goals>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
<configuration>
|
||||||
|
<basedir>${basedir}/${configSourceDirectory}</basedir>
|
||||||
|
<filesToInclude>forge.sh, forge.command</filesToInclude>
|
||||||
|
<outputBasedir>${project.build.directory}</outputBasedir>
|
||||||
|
<outputDir>.</outputDir>
|
||||||
|
<regex>false</regex>
|
||||||
|
<replacements>
|
||||||
|
<replacement>
|
||||||
|
<token>$project.build.finalName$</token>
|
||||||
|
<value>${project.build.finalName}-jar-with-dependencies.jar</value>
|
||||||
|
</replacement>
|
||||||
|
</replacements>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
<plugin>
|
||||||
|
<artifactId>maven-assembly-plugin</artifactId>
|
||||||
|
<configuration>
|
||||||
|
<attach>false</attach>
|
||||||
|
<descriptorRefs>
|
||||||
|
<descriptorRef>jar-with-dependencies</descriptorRef>
|
||||||
|
</descriptorRefs>
|
||||||
|
<archive>
|
||||||
|
<manifest>
|
||||||
|
<mainClass>forge.view.Main</mainClass>
|
||||||
|
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
|
||||||
|
</manifest>
|
||||||
|
<manifestEntries>
|
||||||
|
<Implementation-Version>${fullversionstring}</Implementation-Version>
|
||||||
|
</manifestEntries>
|
||||||
|
</archive>
|
||||||
|
</configuration>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<id>make-assembly</id>
|
||||||
|
<!-- this is used for inheritance merges -->
|
||||||
|
<phase>package</phase>
|
||||||
|
<!-- bind to the packaging phase -->
|
||||||
|
<goals>
|
||||||
|
<goal>single</goal>
|
||||||
|
</goals>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.codehaus.mojo</groupId>
|
||||||
|
<artifactId>build-helper-maven-plugin</artifactId>
|
||||||
|
<version>1.8</version>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<id>released-version</id>
|
||||||
|
<phase>validate</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>released-version</goal>
|
||||||
|
</goals>
|
||||||
|
</execution>
|
||||||
|
<execution>
|
||||||
|
<id>parse-version</id>
|
||||||
|
<goals>
|
||||||
|
<goal>parse-version</goal>
|
||||||
|
</goals>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
|
||||||
|
</plugins>
|
||||||
|
</build>
|
||||||
|
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>forge</groupId>
|
||||||
|
<artifactId>forge-core</artifactId>
|
||||||
|
<version>${project.version}</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>forge</groupId>
|
||||||
|
<artifactId>forge-game</artifactId>
|
||||||
|
<version>${project.version}</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>forge</groupId>
|
||||||
|
<artifactId>forge-ai</artifactId>
|
||||||
|
<version>${project.version}</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>forge</groupId>
|
||||||
|
<artifactId>forge-net</artifactId>
|
||||||
|
<version>${project.version}</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>forge</groupId>
|
||||||
|
<artifactId>forge-gui</artifactId>
|
||||||
|
<version>${project.version}</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.miglayout</groupId>
|
||||||
|
<artifactId>miglayout</artifactId>
|
||||||
|
<version>3.7.4</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.mortennobel</groupId>
|
||||||
|
<artifactId>java-image-scaling</artifactId>
|
||||||
|
<version>0.8.5</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.google.guava</groupId>
|
||||||
|
<artifactId>guava</artifactId>
|
||||||
|
<version>16.0.1</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.thoughtworks.xstream</groupId>
|
||||||
|
<artifactId>xstream</artifactId>
|
||||||
|
<version>1.4.7</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.testng</groupId>
|
||||||
|
<artifactId>testng</artifactId>
|
||||||
|
<version>6.8.7</version>
|
||||||
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.powermock</groupId>
|
||||||
|
<artifactId>powermock-module-testng</artifactId>
|
||||||
|
<version>1.5.4</version>
|
||||||
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.powermock</groupId>
|
||||||
|
<artifactId>powermock-api-mockito</artifactId>
|
||||||
|
<version>1.5.4</version>
|
||||||
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>log4j</groupId>
|
||||||
|
<artifactId>log4j</artifactId>
|
||||||
|
<version>1.2.17</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.googlecode</groupId>
|
||||||
|
<artifactId>minlog</artifactId>
|
||||||
|
<version>1.2</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.apache.commons</groupId>
|
||||||
|
<artifactId>commons-lang3</artifactId>
|
||||||
|
<version>3.3</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.freemarker</groupId>
|
||||||
|
<artifactId>freemarker</artifactId>
|
||||||
|
<version>2.3.20</version>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
|
||||||
|
<profiles>
|
||||||
|
<profile>
|
||||||
|
<id>windows-linux</id>
|
||||||
|
<build>
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<groupId>com.akathist.maven.plugins.launch4j</groupId>
|
||||||
|
<artifactId>launch4j-maven-plugin</artifactId>
|
||||||
|
<version>1.5.2</version>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<id>l4j-gui</id>
|
||||||
|
<phase>package</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>launch4j</goal>
|
||||||
|
</goals>
|
||||||
|
<configuration>
|
||||||
|
<headerType>gui</headerType>
|
||||||
|
<outfile>${project.build.directory}/forge.exe</outfile>
|
||||||
|
<jar>${project.build.finalName}-jar-with-dependencies.jar</jar>
|
||||||
|
<dontWrapJar>true</dontWrapJar>
|
||||||
|
<errTitle>forge</errTitle>
|
||||||
|
<icon>src/main/config/forge.ico</icon>
|
||||||
|
<classPath>
|
||||||
|
<mainClass>forge.view.Main</mainClass>
|
||||||
|
<addDependencies>false</addDependencies>
|
||||||
|
<preCp>anything</preCp>
|
||||||
|
</classPath>
|
||||||
|
<jre>
|
||||||
|
<minVersion>1.7.0</minVersion>
|
||||||
|
<maxHeapSize>1024</maxHeapSize>
|
||||||
|
</jre>
|
||||||
|
<versionInfo>
|
||||||
|
<fileVersion>${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.incrementalVersion}.0</fileVersion>
|
||||||
|
<txtFileVersion>${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.incrementalVersion}.0</txtFileVersion>
|
||||||
|
<fileDescription>Forge</fileDescription>
|
||||||
|
<copyright>Forge</copyright>
|
||||||
|
<productVersion>${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.incrementalVersion}.0</productVersion>
|
||||||
|
<txtProductVersion>${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.incrementalVersion}.0</txtProductVersion>
|
||||||
|
<productName>Forge</productName>
|
||||||
|
<internalName>forge</internalName>
|
||||||
|
<originalFilename>forge.exe</originalFilename>
|
||||||
|
</versionInfo>
|
||||||
|
</configuration>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-antrun-plugin</artifactId>
|
||||||
|
<version>1.7</version>
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.apache.ant</groupId>
|
||||||
|
<artifactId>ant-nodeps</artifactId>
|
||||||
|
<version>1.8.1</version>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<id>win-linux-app-bundle</id>
|
||||||
|
<phase>pre-integration-test</phase>
|
||||||
|
<configuration>
|
||||||
|
<target>
|
||||||
|
<!-- Windows/Linux archive -->
|
||||||
|
<mkdir dir="${project.build.directory}/${project.build.finalName}" />
|
||||||
|
<copy todir="${project.build.directory}/${project.build.finalName}">
|
||||||
|
<fileset dir="${project.build.directory}" includes="forge.sh" />
|
||||||
|
<fileset dir="${project.build.directory}" includes="forge.command" />
|
||||||
|
<fileset dir="${basedir}" includes="forge.profile.properties.example" />
|
||||||
|
<fileset dir="${basedir}" includes="LICENSE.txt" />
|
||||||
|
<fileset dir="${basedir}" includes="README.txt" />
|
||||||
|
<fileset dir="${basedir}" includes="CHANGES.txt" />
|
||||||
|
<fileset dir="${basedir}">
|
||||||
|
<include name="res/**" />
|
||||||
|
<exclude name="res/cardsfolder/**" />
|
||||||
|
</fileset>
|
||||||
|
<fileset dir="${project.build.directory}" includes="forge.exe" />
|
||||||
|
<fileset dir="${project.build.directory}" includes="${project.build.finalName}-jar-with-dependencies.jar" />
|
||||||
|
</copy>
|
||||||
|
<mkdir dir="${project.build.directory}/${project.build.finalName}/res/cardsfolder" />
|
||||||
|
<zip destfile="${project.build.directory}/${project.build.finalName}/res/cardsfolder/cardsfolder.zip" basedir="${basedir}/res/cardsfolder" level="1" />
|
||||||
|
<chmod file="${project.build.directory}/${project.build.finalName}/forge.sh" perm="a+rx" />
|
||||||
|
<chmod file="${project.build.directory}/${project.build.finalName}/forge.command" perm="a+rx" />
|
||||||
|
<chmod file="${project.build.directory}/${project.build.finalName}/forge.exe" perm="a+rx" />
|
||||||
|
<tar destfile="${project.build.directory}/${project.build.finalName}.tar.bz2" compression="bzip2">
|
||||||
|
<tarfileset filemode="755" dir="${project.build.directory}/${project.build.finalName}">
|
||||||
|
<include name="forge.sh" />
|
||||||
|
<include name="forge.command" />
|
||||||
|
<include name="forge.exe" />
|
||||||
|
</tarfileset>
|
||||||
|
<tarfileset dir="${project.build.directory}/${project.build.finalName}">
|
||||||
|
<include name="**" />
|
||||||
|
<exclude name="forge.sh" />
|
||||||
|
<exclude name="forge.command" />
|
||||||
|
<exclude name="forge.exe" />
|
||||||
|
</tarfileset>
|
||||||
|
</tar>
|
||||||
|
</target>
|
||||||
|
</configuration>
|
||||||
|
<goals>
|
||||||
|
<goal>run</goal>
|
||||||
|
</goals>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.codehaus.mojo</groupId>
|
||||||
|
<artifactId>build-helper-maven-plugin</artifactId>
|
||||||
|
<version>1.8</version>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<id>released-version</id>
|
||||||
|
<phase>validate</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>released-version</goal>
|
||||||
|
</goals>
|
||||||
|
</execution>
|
||||||
|
<execution>
|
||||||
|
<id>parse-version</id>
|
||||||
|
<goals>
|
||||||
|
<goal>parse-version</goal>
|
||||||
|
</goals>
|
||||||
|
</execution>
|
||||||
|
<execution>
|
||||||
|
<id>attach-distribution</id>
|
||||||
|
<phase>post-integration-test</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>attach-artifact</goal>
|
||||||
|
</goals>
|
||||||
|
<configuration>
|
||||||
|
<artifacts>
|
||||||
|
<artifact>
|
||||||
|
<file>${project.build.directory}/${project.build.finalName}.tar.bz2</file>
|
||||||
|
<type>tar.bz2</type>
|
||||||
|
</artifact>
|
||||||
|
</artifacts>
|
||||||
|
</configuration>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</build>
|
||||||
|
</profile>
|
||||||
|
|
||||||
|
<profile>
|
||||||
|
<properties>
|
||||||
|
<license.file.name>"LICENSE.txt"</license.file.name>
|
||||||
|
<changes.file.name>"CHANGES.txt"</changes.file.name>
|
||||||
|
<readme.file.name>"README.txt"</readme.file.name>
|
||||||
|
<forge.file.name>"Forge"</forge.file.name>
|
||||||
|
<applications.file.name>"Applications"</applications.file.name>
|
||||||
|
</properties>
|
||||||
|
<id>osx</id>
|
||||||
|
<build>
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-antrun-plugin</artifactId>
|
||||||
|
<version>1.7</version>
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.apache.ant</groupId>
|
||||||
|
<artifactId>ant-nodeps</artifactId>
|
||||||
|
<version>1.8.1</version>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<id>osx-appbundle</id>
|
||||||
|
<phase>pre-integration-test</phase>
|
||||||
|
<configuration>
|
||||||
|
<target>
|
||||||
|
<mkdir dir="${project.build.directory}/${project.build.finalName}-osx" />
|
||||||
|
<copy todir="${project.build.directory}/${project.build.finalName}-osx">
|
||||||
|
<fileset dir="${basedir}" includes="LICENSE.txt" />
|
||||||
|
<fileset dir="${basedir}" includes="README.txt" />
|
||||||
|
<fileset dir="${basedir}" includes="CHANGES.txt" />
|
||||||
|
</copy>
|
||||||
|
<taskdef name="bundleapp" classpath="${basedir}/${configSourceDirectory}/appbundler-1.0-custom.jar" classname="com.oracle.appbundler.AppBundlerTask" />
|
||||||
|
<bundleapp outputdirectory="${project.build.directory}/${project.build.finalName}-osx" name="${project.name}" displayname="${project.name}" shortversion="${project.version}" identifier="forge.view.Main" icon="${basedir}/${configSourceDirectory}/Forge.icns" applicationCategory="public.app-category.games" mainclassname="forge.view.Main">
|
||||||
|
<classpath file="${project.build.directory}/${project.build.finalName}-jar-with-dependencies.jar" />
|
||||||
|
<classpath file="${basedir}/forge.profile.properties.example" />
|
||||||
|
<option value="-Dapple.laf.useScreenMenuBar=true" />
|
||||||
|
<option value="-Dcom.apple.macos.use-file-dialog-packages=true" />
|
||||||
|
<option value="-Dcom.apple.macos.useScreenMenuBar=true" />
|
||||||
|
<option value="-Dcom.apple.mrj.application.apple.menu.about.name=Forge" />
|
||||||
|
<option value="-Dcom.apple.smallTabs=true" />
|
||||||
|
<option value="-Xmx1024M" />
|
||||||
|
<option value="-Dapp.dir=$APP_ROOT/Contents/Resources/" />
|
||||||
|
</bundleapp>
|
||||||
|
<copy todir="${project.build.directory}/${project.build.finalName}-osx/Forge.app/Contents/Resources/res">
|
||||||
|
<fileset dir="${basedir}/res" excludes="**/cardsfolder/**" />
|
||||||
|
</copy>
|
||||||
|
<mkdir dir="${project.build.directory}/${project.build.finalName}-osx/Forge.app/Contents/Resources/res/cardsfolder" />
|
||||||
|
<zip destfile="${project.build.directory}/${project.build.finalName}-osx/Forge.app/Contents/Resources/res/cardsfolder/cardsfolder.zip" basedir="${basedir}/res/cardsfolder" level="1" />
|
||||||
|
<symlink link="${project.build.directory}/${project.build.finalName}-osx/Applications" resource="/Applications" />
|
||||||
|
<exec executable="${basedir}/${configSourceDirectory}/create-dmg" failonerror="false">
|
||||||
|
<arg line="--volname ${project.name}-${project.version} --background ${basedir}/${configSourceDirectory}/backgroundImage.jpg --window-size 700 419 --icon-size 64 --icon ${forge.file.name} 141 283 --icon ${applications.file.name} 452 283 --icon ${changes.file.name} 645 80 --icon ${license.file.name} 645 200 --icon ${readme.file.name} 645 320 ${project.build.directory}/${project.build.finalName}.dmg ${project.build.directory}/${project.build.finalName}-osx" />
|
||||||
|
</exec>
|
||||||
|
<tar basedir="${project.build.directory}" includes="${project.build.finalName}.dmg" destfile="${project.build.directory}/${project.build.finalName}-osx.tar.bz2" compression="bzip2" />
|
||||||
|
<!--<symlink link="${project.build.directory}/${project.build.finalName}-osx/Applications" action="delete" /> -->
|
||||||
|
<exec executable="rm" failonerror="false">
|
||||||
|
<arg line="-f ${project.build.directory}/${project.build.finalName}-osx/Applications" />
|
||||||
|
</exec>
|
||||||
|
</target>
|
||||||
|
</configuration>
|
||||||
|
<goals>
|
||||||
|
<goal>run</goal>
|
||||||
|
</goals>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.codehaus.mojo</groupId>
|
||||||
|
<artifactId>build-helper-maven-plugin</artifactId>
|
||||||
|
<version>1.8</version>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<id>released-version</id>
|
||||||
|
<phase>validate</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>released-version</goal>
|
||||||
|
</goals>
|
||||||
|
</execution>
|
||||||
|
<execution>
|
||||||
|
<id>parse-version</id>
|
||||||
|
<goals>
|
||||||
|
<goal>parse-version</goal>
|
||||||
|
</goals>
|
||||||
|
</execution>
|
||||||
|
<execution>
|
||||||
|
<id>attach-distribution-osx</id>
|
||||||
|
<phase>post-integration-test</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>attach-artifact</goal>
|
||||||
|
</goals>
|
||||||
|
<configuration>
|
||||||
|
<artifacts>
|
||||||
|
<artifact>
|
||||||
|
<file>${project.build.directory}/${project.build.finalName}-osx.tar.bz2
|
||||||
|
</file>
|
||||||
|
<type>tar.bz2</type>
|
||||||
|
<classifier>osx</classifier>
|
||||||
|
</artifact>
|
||||||
|
</artifacts>
|
||||||
|
</configuration>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
|
||||||
|
</plugins>
|
||||||
|
</build>
|
||||||
|
</profile>
|
||||||
|
|
||||||
|
<profile>
|
||||||
|
<id>test-deploy</id>
|
||||||
|
<distributionManagement>
|
||||||
|
<repository>
|
||||||
|
<id>cardforge-repo-local</id>
|
||||||
|
<url>ftp://localhost/Users/dhudson/releases</url>
|
||||||
|
</repository>
|
||||||
|
<snapshotRepository>
|
||||||
|
<id>cardforge-snapshot-repo-local</id>
|
||||||
|
<url>ftp://localhost/Users/dhudson/snapshots</url>
|
||||||
|
</snapshotRepository>
|
||||||
|
</distributionManagement>
|
||||||
|
</profile>
|
||||||
|
</profiles>
|
||||||
|
</project>
|
||||||
BIN
forge-gui-desktop/src/main/config/Forge.icns
Normal file
BIN
forge-gui-desktop/src/main/config/Forge.icns
Normal file
Binary file not shown.
BIN
forge-gui-desktop/src/main/config/appbundler-1.0-custom.jar
Normal file
BIN
forge-gui-desktop/src/main/config/appbundler-1.0-custom.jar
Normal file
Binary file not shown.
BIN
forge-gui-desktop/src/main/config/backgroundImage.jpg
Normal file
BIN
forge-gui-desktop/src/main/config/backgroundImage.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 390 KiB |
26
forge-gui-desktop/src/main/config/builder/create-dmg.builder
Normal file
26
forge-gui-desktop/src/main/config/builder/create-dmg.builder
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
SET app_name create-dmg
|
||||||
|
|
||||||
|
VERSION create-dmg.cur create-dmg heads/master
|
||||||
|
|
||||||
|
NEWDIR build.dir temp %-build -
|
||||||
|
|
||||||
|
NEWFILE create-dmg.zip featured %.zip %
|
||||||
|
|
||||||
|
|
||||||
|
COPYTO [build.dir]
|
||||||
|
INTO create-dmg [create-dmg.cur]/create-dmg
|
||||||
|
INTO sample [create-dmg.cur]/sample
|
||||||
|
INTO support [create-dmg.cur]/support
|
||||||
|
|
||||||
|
SUBSTVARS [build.dir<alter>]/create-dmg [[]]
|
||||||
|
|
||||||
|
|
||||||
|
ZIP [create-dmg.zip]
|
||||||
|
INTO [build-files-prefix] [build.dir]
|
||||||
|
|
||||||
|
|
||||||
|
PUT megabox-builds create-dmg.zip
|
||||||
|
PUT megabox-builds build.log
|
||||||
|
|
||||||
|
PUT s3-builds create-dmg.zip
|
||||||
|
PUT s3-builds build.log
|
||||||
210
forge-gui-desktop/src/main/config/create-dmg
Normal file
210
forge-gui-desktop/src/main/config/create-dmg
Normal file
@@ -0,0 +1,210 @@
|
|||||||
|
#! /bin/bash
|
||||||
|
|
||||||
|
# Create a read-only disk image of the contents of a folder
|
||||||
|
|
||||||
|
set -e;
|
||||||
|
|
||||||
|
function pure_version() {
|
||||||
|
echo '1.0.0.2'
|
||||||
|
}
|
||||||
|
|
||||||
|
function version() {
|
||||||
|
echo "create-dmg $(pure_version)"
|
||||||
|
}
|
||||||
|
|
||||||
|
function usage() {
|
||||||
|
version
|
||||||
|
echo "Creates a fancy DMG file."
|
||||||
|
echo "Usage: $(basename $0) options... image.dmg source_folder"
|
||||||
|
echo "All contents of source_folder will be copied into the disk image."
|
||||||
|
echo "Options:"
|
||||||
|
echo " --volname name"
|
||||||
|
echo " set volume name (displayed in the Finder sidebar and window title)"
|
||||||
|
echo " --volicon icon.icns"
|
||||||
|
echo " set volume icon"
|
||||||
|
echo " --background pic.png"
|
||||||
|
echo " set folder background image (provide png, gif, jpg)"
|
||||||
|
echo " --window-pos x y"
|
||||||
|
echo " set position the folder window"
|
||||||
|
echo " --window-size width height"
|
||||||
|
echo " set size of the folder window"
|
||||||
|
echo " --icon-size icon_size"
|
||||||
|
echo " set window icons size (up to 128)"
|
||||||
|
echo " --icon file_name x y"
|
||||||
|
echo " set position of the file's icon"
|
||||||
|
echo " --hide-extension file_name"
|
||||||
|
echo " hide the extension of file"
|
||||||
|
echo " --custom-icon file_name custom_icon_or_sample_file x y"
|
||||||
|
echo " set position and custom icon"
|
||||||
|
echo " --app-drop-link x y"
|
||||||
|
echo " make a drop link to Applications, at location x,y"
|
||||||
|
echo " --eula eula_file"
|
||||||
|
echo " attach a license file to the dmg"
|
||||||
|
echo " --version show tool version number"
|
||||||
|
echo " -h, --help display this help"
|
||||||
|
exit 0
|
||||||
|
}
|
||||||
|
|
||||||
|
WINX=10
|
||||||
|
WINY=60
|
||||||
|
WINW=500
|
||||||
|
WINH=350
|
||||||
|
ICON_SIZE=128
|
||||||
|
|
||||||
|
while test "${1:0:1}" = "-"; do
|
||||||
|
case $1 in
|
||||||
|
--volname)
|
||||||
|
VOLUME_NAME="$2"
|
||||||
|
shift; shift;;
|
||||||
|
--volicon)
|
||||||
|
VOLUME_ICON_FILE="$2"
|
||||||
|
shift; shift;;
|
||||||
|
--background)
|
||||||
|
BACKGROUND_FILE="$2"
|
||||||
|
BACKGROUND_FILE_NAME="$(basename $BACKGROUND_FILE)"
|
||||||
|
BACKGROUND_CLAUSE="set background picture of opts to file \".background:$BACKGROUND_FILE_NAME\""
|
||||||
|
shift; shift;;
|
||||||
|
--icon-size)
|
||||||
|
ICON_SIZE="$2"
|
||||||
|
shift; shift;;
|
||||||
|
--window-pos)
|
||||||
|
WINX=$2; WINY=$3
|
||||||
|
shift; shift; shift;;
|
||||||
|
--window-size)
|
||||||
|
WINW=$2; WINH=$3
|
||||||
|
shift; shift; shift;;
|
||||||
|
--icon)
|
||||||
|
POSITION_CLAUSE="${POSITION_CLAUSE}set position of item \"$2\" to {$3, $4}
|
||||||
|
"
|
||||||
|
shift; shift; shift; shift;;
|
||||||
|
--hide-extension)
|
||||||
|
HIDING_CLAUSE="${HIDING_CLAUSE}set the extension hidden of item \"$2\" to true"
|
||||||
|
shift; shift;;
|
||||||
|
--custom-icon)
|
||||||
|
shift; shift; shift; shift; shift;;
|
||||||
|
-h | --help)
|
||||||
|
usage;;
|
||||||
|
--version)
|
||||||
|
version; exit 0;;
|
||||||
|
--pure-version)
|
||||||
|
pure_version; exit 0;;
|
||||||
|
--app-drop-link)
|
||||||
|
APPLICATION_LINK=$2
|
||||||
|
APPLICATION_CLAUSE="set position of item \"Applications\" to {$2, $3}
|
||||||
|
"
|
||||||
|
shift; shift; shift;;
|
||||||
|
--eula)
|
||||||
|
EULA_RSRC=$2
|
||||||
|
shift; shift;;
|
||||||
|
-*)
|
||||||
|
echo "Unknown option $1. Run with --help for help."
|
||||||
|
exit 1;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
test -z "$2" && {
|
||||||
|
echo "Not enough arguments. Invoke with --help for help."
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
DMG_PATH="$1"
|
||||||
|
DMG_DIRNAME="$(dirname "$DMG_PATH")"
|
||||||
|
DMG_DIR="$(cd $DMG_DIRNAME > /dev/null; pwd)"
|
||||||
|
DMG_NAME="$(basename "$DMG_PATH")"
|
||||||
|
DMG_TEMP_NAME="$DMG_DIR/rw.${DMG_NAME}"
|
||||||
|
SRC_FOLDER="$(cd "$2" > /dev/null; pwd)"
|
||||||
|
test -z "$VOLUME_NAME" && VOLUME_NAME="$(basename "$DMG_PATH" .dmg)"
|
||||||
|
|
||||||
|
AUX_PATH="$(dirname $0)/support"
|
||||||
|
|
||||||
|
test -d "$AUX_PATH" || {
|
||||||
|
echo "Cannot find support directory: $AUX_PATH"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ -f "$SRC_FOLDER/.DS_Store" ]; then
|
||||||
|
echo "Deleting any .DS_Store in source folder"
|
||||||
|
rm "$SRC_FOLDER/.DS_Store"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Create the image
|
||||||
|
echo "Creating disk image..."
|
||||||
|
test -f "${DMG_TEMP_NAME}" && rm -f "${DMG_TEMP_NAME}"
|
||||||
|
ACTUAL_SIZE=`du -sm "$SRC_FOLDER" | sed -e 's/ .*//g'`
|
||||||
|
DISK_IMAGE_SIZE=$(expr $ACTUAL_SIZE + 20)
|
||||||
|
hdiutil create -srcfolder "$SRC_FOLDER" -volname "${VOLUME_NAME}" -fs HFS+ -fsargs "-c c=64,a=16,e=16" -format UDRW -size ${DISK_IMAGE_SIZE}m "${DMG_TEMP_NAME}"
|
||||||
|
|
||||||
|
# mount it
|
||||||
|
echo "Mounting disk image..."
|
||||||
|
MOUNT_DIR="/Volumes/${VOLUME_NAME}"
|
||||||
|
|
||||||
|
# try unmount dmg if it was mounted previously (e.g. developer mounted dmg, installed app and forgot to unmount it)
|
||||||
|
echo "Unmounting disk image..."
|
||||||
|
DEV_NAME=$(hdiutil info | egrep '^/dev/' | sed 1q | awk '{print $1}')
|
||||||
|
test -d "${MOUNT_DIR}" && hdiutil detach "${DEV_NAME}"
|
||||||
|
|
||||||
|
echo "Mount directory: $MOUNT_DIR"
|
||||||
|
DEV_NAME=$(hdiutil attach -readwrite -noverify -noautoopen "${DMG_TEMP_NAME}" | egrep '^/dev/' | sed 1q | awk '{print $1}')
|
||||||
|
echo "Device name: $DEV_NAME"
|
||||||
|
|
||||||
|
if ! test -z "$BACKGROUND_FILE"; then
|
||||||
|
echo "Copying background file..."
|
||||||
|
test -d "$MOUNT_DIR/.background" || mkdir "$MOUNT_DIR/.background"
|
||||||
|
cp "$BACKGROUND_FILE" "$MOUNT_DIR/.background/$BACKGROUND_FILE_NAME"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! test -z "$APPLICATION_LINK"; then
|
||||||
|
echo "making link to Applications dir"
|
||||||
|
echo $MOUNT_DIR
|
||||||
|
ln -s /Applications "$MOUNT_DIR/Applications"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! test -z "$VOLUME_ICON_FILE"; then
|
||||||
|
echo "Copying volume icon file '$VOLUME_ICON_FILE'..."
|
||||||
|
cp "$VOLUME_ICON_FILE" "$MOUNT_DIR/.VolumeIcon.icns"
|
||||||
|
SetFile -c icnC "$MOUNT_DIR/.VolumeIcon.icns"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# run applescript
|
||||||
|
APPLESCRIPT=$(mktemp -t createdmg)
|
||||||
|
cat "$AUX_PATH/template.applescript" | sed -e "s/WINX/$WINX/g" -e "s/WINY/$WINY/g" -e "s/WINW/$WINW/g" -e "s/WINH/$WINH/g" -e "s/BACKGROUND_CLAUSE/$BACKGROUND_CLAUSE/g" -e "s/ICON_SIZE/$ICON_SIZE/g" | perl -pe "s/POSITION_CLAUSE/$POSITION_CLAUSE/g" | perl -pe "s/APPLICATION_CLAUSE/$APPLICATION_CLAUSE/g" | perl -pe "s/HIDING_CLAUSE/$HIDING_CLAUSE/" >"$APPLESCRIPT"
|
||||||
|
|
||||||
|
echo "Running Applescript: /usr/bin/osascript \"${APPLESCRIPT}\" \"${VOLUME_NAME}\""
|
||||||
|
"/usr/bin/osascript" "${APPLESCRIPT}" "${VOLUME_NAME}" || true
|
||||||
|
echo "Done running the applescript..."
|
||||||
|
sleep 4
|
||||||
|
|
||||||
|
rm "$APPLESCRIPT"
|
||||||
|
|
||||||
|
# make sure it's not world writeable
|
||||||
|
echo "Fixing permissions..."
|
||||||
|
chmod -Rf go-w "${MOUNT_DIR}" &> /dev/null || true
|
||||||
|
echo "Done fixing permissions."
|
||||||
|
|
||||||
|
# make the top window open itself on mount:
|
||||||
|
echo "Blessing started"
|
||||||
|
bless --folder "${MOUNT_DIR}" --openfolder "${MOUNT_DIR}"
|
||||||
|
echo "Blessing finished"
|
||||||
|
|
||||||
|
if ! test -z "$VOLUME_ICON_FILE"; then
|
||||||
|
# tell the volume that it has a special file attribute
|
||||||
|
SetFile -a C "$MOUNT_DIR"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# unmount
|
||||||
|
echo "Unmounting disk image..."
|
||||||
|
hdiutil detach "${DEV_NAME}"
|
||||||
|
|
||||||
|
# compress image
|
||||||
|
echo "Compressing disk image..."
|
||||||
|
hdiutil convert "${DMG_TEMP_NAME}" -format UDZO -imagekey zlib-level=9 -o "${DMG_DIR}/${DMG_NAME}"
|
||||||
|
rm -f "${DMG_TEMP_NAME}"
|
||||||
|
|
||||||
|
# adding EULA resources
|
||||||
|
if [ ! -z "${EULA_RSRC}" -a "${EULA_RSRC}" != "-null-" ]; then
|
||||||
|
echo "adding EULA resources"
|
||||||
|
"${AUX_PATH}/dmg-license.py" "${DMG_DIR}/${DMG_NAME}" "${EULA_RSRC}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Disk image done"
|
||||||
|
exit 0
|
||||||
3
forge-gui-desktop/src/main/config/forge.command
Normal file
3
forge-gui-desktop/src/main/config/forge.command
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
cd "`dirname \"$0\"`"
|
||||||
|
java -Xmx1024m -jar $project.build.finalName$
|
||||||
BIN
forge-gui-desktop/src/main/config/forge.ico
Normal file
BIN
forge-gui-desktop/src/main/config/forge.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 141 KiB |
3
forge-gui-desktop/src/main/config/forge.sh
Normal file
3
forge-gui-desktop/src/main/config/forge.sh
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
cd "`dirname \"$0\"`"
|
||||||
|
java -Xmx1024m -jar $project.build.finalName$
|
||||||
215
forge-gui-desktop/src/main/config/forge_checks.xml
Normal file
215
forge-gui-desktop/src/main/config/forge_checks.xml
Normal file
@@ -0,0 +1,215 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<!DOCTYPE module PUBLIC
|
||||||
|
"-//Puppy Crawl//DTD Check Configuration 1.3//EN"
|
||||||
|
"http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
|
||||||
|
|
||||||
|
<!--
|
||||||
|
|
||||||
|
Checkstyle configuration that checks the sun coding conventions from:
|
||||||
|
|
||||||
|
- the Java Language Specification at
|
||||||
|
http://java.sun.com/docs/books/jls/second_edition/html/index.html
|
||||||
|
|
||||||
|
- the Sun Code Conventions at http://java.sun.com/docs/codeconv/
|
||||||
|
|
||||||
|
- the Javadoc guidelines at
|
||||||
|
http://java.sun.com/j2se/javadoc/writingdoccomments/index.html
|
||||||
|
|
||||||
|
- the JDK Api documentation http://java.sun.com/j2se/docs/api/index.html
|
||||||
|
|
||||||
|
- some best practices
|
||||||
|
|
||||||
|
Checkstyle is very configurable. Be sure to read the documentation at
|
||||||
|
http://checkstyle.sf.net (or in your downloaded distribution).
|
||||||
|
|
||||||
|
Most Checks are configurable, be sure to consult the documentation.
|
||||||
|
|
||||||
|
To completely disable a check, just comment it out or delete it from the file.
|
||||||
|
|
||||||
|
Finally, it is worth reading the documentation.
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
<module name="Checker">
|
||||||
|
<!--
|
||||||
|
If you set the basedir property below, then all reported file
|
||||||
|
names will be relative to the specified directory. See
|
||||||
|
http://checkstyle.sourceforge.net/5.x/config.html#Checker
|
||||||
|
|
||||||
|
<property name="basedir" value="${basedir}"/>
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- Checks that a package-info.java file exists for each package. -->
|
||||||
|
<!-- See http://checkstyle.sf.net/config_javadoc.html#JavadocPackage -->
|
||||||
|
<!-- <module name="JavadocPackage"/> -->
|
||||||
|
|
||||||
|
<!-- Checks whether files end with a new line. -->
|
||||||
|
<!-- See http://checkstyle.sf.net/config_misc.html#NewlineAtEndOfFile -->
|
||||||
|
<module name="NewlineAtEndOfFile"><property name="lineSeparator" value="lf"/></module>
|
||||||
|
|
||||||
|
<!-- Checks that property files contain the same keys. -->
|
||||||
|
<!-- See http://checkstyle.sf.net/config_misc.html#Translation -->
|
||||||
|
<module name="Translation"/>
|
||||||
|
|
||||||
|
<!-- Checks for Size Violations. -->
|
||||||
|
<!-- See http://checkstyle.sf.net/config_sizes.html -->
|
||||||
|
<!-- <module name="FileLength"/> -->
|
||||||
|
|
||||||
|
<!-- Checks for whitespace -->
|
||||||
|
<!-- See http://checkstyle.sf.net/config_whitespace.html -->
|
||||||
|
<module name="FileTabCharacter"/>
|
||||||
|
|
||||||
|
<!-- Miscellaneous other checks. -->
|
||||||
|
<!-- See http://checkstyle.sf.net/config_misc.html -->
|
||||||
|
<module name="RegexpSingleline">
|
||||||
|
<property name="format" value="(^|[^\*])\s+$"/>
|
||||||
|
<property name="minimum" value="0"/>
|
||||||
|
<property name="maximum" value="0"/>
|
||||||
|
<property name="message" value="Line has trailing spaces."/>
|
||||||
|
</module>
|
||||||
|
|
||||||
|
<module name="TreeWalker">
|
||||||
|
<property name="cacheFile" value="${cacheFile}"/>
|
||||||
|
<!-- Checks for Javadoc comments. -->
|
||||||
|
<!-- See http://checkstyle.sf.net/config_javadoc.html -->
|
||||||
|
<module name="JavadocMethod">
|
||||||
|
<property name="scope" value="package"/>
|
||||||
|
</module>
|
||||||
|
<module name="JavadocType">
|
||||||
|
<property name="scope" value="package"/>
|
||||||
|
</module>
|
||||||
|
<module name="JavadocVariable">
|
||||||
|
<property name="scope" value="package"/>
|
||||||
|
</module>
|
||||||
|
<module name="JavadocStyle"/>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Checks for Naming Conventions. -->
|
||||||
|
<!-- See http://checkstyle.sf.net/config_naming.html -->
|
||||||
|
<module name="ConstantName"/>
|
||||||
|
<module name="LocalFinalVariableName"/>
|
||||||
|
<module name="LocalVariableName"/>
|
||||||
|
<module name="MemberName"/>
|
||||||
|
|
||||||
|
<!-- Allow test_ methods to have underscores in them. -->
|
||||||
|
<module name="MethodName">
|
||||||
|
<property name="format" value="^[a-z][a-zA-Z0-9]*$|^test_[_a-zA-Z0-9]*$"/>
|
||||||
|
</module>
|
||||||
|
|
||||||
|
<module name="PackageName"/>
|
||||||
|
<module name="ParameterName"/>
|
||||||
|
<module name="StaticVariableName"/>
|
||||||
|
<module name="TypeName"/>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Checks for Headers -->
|
||||||
|
<!-- See http://checkstyle.sf.net/config_header.html -->
|
||||||
|
<!-- <module name="Header"> -->
|
||||||
|
<!-- The follow property value demonstrates the ability -->
|
||||||
|
<!-- to have access to ANT properties. In this case it uses -->
|
||||||
|
<!-- the ${basedir} property to allow Checkstyle to be run -->
|
||||||
|
<!-- from any directory within a project. See property -->
|
||||||
|
<!-- expansion, -->
|
||||||
|
<!-- http://checkstyle.sf.net/config.html#properties -->
|
||||||
|
<!-- <property -->
|
||||||
|
<!-- name="headerFile" -->
|
||||||
|
<!-- value="${basedir}/java.header"/> -->
|
||||||
|
<!-- </module> -->
|
||||||
|
|
||||||
|
<!-- Following interprets the header file as regular expressions. -->
|
||||||
|
<!-- <module name="RegexpHeader"/> -->
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Checks for imports -->
|
||||||
|
<!-- See http://checkstyle.sf.net/config_import.html -->
|
||||||
|
<module name="AvoidStarImport"/>
|
||||||
|
<module name="IllegalImport"/>
|
||||||
|
<!-- defaults to sun.* packages -->
|
||||||
|
<module name="RedundantImport"/>
|
||||||
|
<module name="UnusedImports"/>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Checks for Size Violations. -->
|
||||||
|
<!-- See http://checkstyle.sf.net/config_sizes.html -->
|
||||||
|
<!-- <module name="LineLength">
|
||||||
|
<property name="max" value="180"/>
|
||||||
|
</module>
|
||||||
|
<module name="MethodLength"/>
|
||||||
|
<module name="ParameterNumber"/> -->
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Checks for whitespace -->
|
||||||
|
<!-- See http://checkstyle.sf.net/config_whitespace.html -->
|
||||||
|
<module name="EmptyForIteratorPad"/>
|
||||||
|
<module name="GenericWhitespace"/>
|
||||||
|
<module name="MethodParamPad"/>
|
||||||
|
<module name="NoWhitespaceAfter">
|
||||||
|
<property name="tokens" value="BNOT, DEC, DOT, INC, LNOT, UNARY_MINUS, UNARY_PLUS"/>
|
||||||
|
</module>
|
||||||
|
<module name="NoWhitespaceBefore"/>
|
||||||
|
<module name="OperatorWrap"/>
|
||||||
|
<module name="ParenPad"/>
|
||||||
|
<module name="TypecastParenPad"/>
|
||||||
|
<module name="WhitespaceAfter"/>
|
||||||
|
<module name="WhitespaceAround"/>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Modifier Checks -->
|
||||||
|
<!-- See http://checkstyle.sf.net/config_modifiers.html -->
|
||||||
|
<module name="ModifierOrder"/>
|
||||||
|
<module name="RedundantModifier"/>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Checks for blocks. You know, those {}'s -->
|
||||||
|
<!-- See http://checkstyle.sf.net/config_blocks.html -->
|
||||||
|
<module name="AvoidNestedBlocks"/>
|
||||||
|
|
||||||
|
<!-- Allow empty blocks. <module name="EmptyBlock"/> -->
|
||||||
|
|
||||||
|
<module name="LeftCurly">
|
||||||
|
<!-- Place left curly at EOL for one-line clauses,
|
||||||
|
and on next line for multi-line clauses.
|
||||||
|
-->
|
||||||
|
<!-- <property name="option" value="nlow" /> -->
|
||||||
|
</module>
|
||||||
|
|
||||||
|
<module name="NeedBraces"/>
|
||||||
|
|
||||||
|
<!-- Allow for right curly to appear on same or next line. <module name="RightCurly"/> -->
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Checks for common coding problems -->
|
||||||
|
<!-- See http://checkstyle.sf.net/config_coding.html -->
|
||||||
|
<!-- <module name="AvoidInlineConditionals"/> -->
|
||||||
|
<module name="DoubleCheckedLocking"/>
|
||||||
|
<!-- MY FAVOURITE -->
|
||||||
|
<module name="EmptyStatement"/>
|
||||||
|
<module name="EqualsHashCode"/>
|
||||||
|
<!-- <module name="HiddenField"/> -->
|
||||||
|
<module name="IllegalInstantiation"/>
|
||||||
|
<module name="InnerAssignment"/>
|
||||||
|
<!-- <module name="MagicNumber"/> -->
|
||||||
|
<module name="MissingSwitchDefault"/>
|
||||||
|
<module name="RedundantThrows"/>
|
||||||
|
<module name="SimplifyBooleanExpression"/>
|
||||||
|
<module name="SimplifyBooleanReturn"/>
|
||||||
|
|
||||||
|
<!-- Checks for class design -->
|
||||||
|
<!-- See http://checkstyle.sf.net/config_design.html -->
|
||||||
|
<!-- <module name="DesignForExtension"/> -->
|
||||||
|
<module name="FinalClass"/>
|
||||||
|
<!-- <module name="HideUtilityClassConstructor"/> -->
|
||||||
|
<module name="InterfaceIsType"/>
|
||||||
|
<module name="VisibilityModifier"/>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Miscellaneous other checks. -->
|
||||||
|
<!-- See http://checkstyle.sf.net/config_misc.html -->
|
||||||
|
<module name="ArrayTypeStyle"/>
|
||||||
|
<!-- <module name="FinalParameters"/> -->
|
||||||
|
<!-- <module name="TodoComment"/> -->
|
||||||
|
<module name="UpperEll"/>
|
||||||
|
|
||||||
|
</module>
|
||||||
|
|
||||||
|
</module>
|
||||||
141
forge-gui-desktop/src/main/config/support/dmg-license.py
Normal file
141
forge-gui-desktop/src/main/config/support/dmg-license.py
Normal file
@@ -0,0 +1,141 @@
|
|||||||
|
#! /usr/bin/env python
|
||||||
|
"""
|
||||||
|
This script adds a license file to a DMG. Requires Xcode and a plain ascii text
|
||||||
|
license file.
|
||||||
|
Obviously only runs on a Mac.
|
||||||
|
|
||||||
|
Copyright (C) 2011 Jared Hobbs
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in
|
||||||
|
all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
|
THE SOFTWARE.
|
||||||
|
"""
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
import tempfile
|
||||||
|
import optparse
|
||||||
|
|
||||||
|
|
||||||
|
class Path(str):
|
||||||
|
def __enter__(self):
|
||||||
|
return self
|
||||||
|
|
||||||
|
def __exit__(self, type, value, traceback):
|
||||||
|
os.unlink(self)
|
||||||
|
|
||||||
|
|
||||||
|
def mktemp(dir=None, suffix=''):
|
||||||
|
(fd, filename) = tempfile.mkstemp(dir=dir, suffix=suffix)
|
||||||
|
os.close(fd)
|
||||||
|
return Path(filename)
|
||||||
|
|
||||||
|
|
||||||
|
def main(options, args):
|
||||||
|
dmgFile, license = args
|
||||||
|
with mktemp('.') as tmpFile:
|
||||||
|
with open(tmpFile, 'w') as f:
|
||||||
|
f.write("""data 'LPic' (5000) {
|
||||||
|
$"0002 0011 0003 0001 0000 0000 0002 0000"
|
||||||
|
$"0000 000E 0006 0001 0005 0007 0000 0007"
|
||||||
|
$"0008 0000 0047 0009 0000 0034 000A 0001"
|
||||||
|
$"0035 000B 0001 0020 000C 0000 0011 000D"
|
||||||
|
$"0000 005B 0004 0000 0033 000F 0001 000C"
|
||||||
|
$"0010 0000 000B 000E 0000"
|
||||||
|
};\n\n""")
|
||||||
|
with open(license, 'r') as l:
|
||||||
|
f.write('data \'TEXT\' (5002, "English") {\n')
|
||||||
|
for line in l:
|
||||||
|
if len(line) < 1000:
|
||||||
|
f.write(' "' + line.strip().replace('"', '\\"') +
|
||||||
|
'\\n"\n')
|
||||||
|
else:
|
||||||
|
for liner in line.split('.'):
|
||||||
|
f.write(' "' +
|
||||||
|
liner.strip().replace('"', '\\"') +
|
||||||
|
'. \\n"\n')
|
||||||
|
f.write('};\n\n')
|
||||||
|
f.write("""resource 'STR#' (5002, "English") {
|
||||||
|
{
|
||||||
|
"English",
|
||||||
|
"Agree",
|
||||||
|
"Disagree",
|
||||||
|
"Print",
|
||||||
|
"Save...",
|
||||||
|
"IMPORTANT - By clicking on the \\"Agree\\" button, you agree "
|
||||||
|
"to be bound by the terms of the License Agreement.",
|
||||||
|
"Software License Agreement",
|
||||||
|
"This text cannot be saved. This disk may be full or locked, or the "
|
||||||
|
"file may be locked.",
|
||||||
|
"Unable to print. Make sure you have selected a printer."
|
||||||
|
}
|
||||||
|
};""")
|
||||||
|
os.system('/usr/bin/hdiutil unflatten -quiet "%s"' % dmgFile)
|
||||||
|
os.system('%s "%s/"*.r %s -a -o "%s"' %
|
||||||
|
(options.rez, options.flat_carbon, tmpFile, dmgFile))
|
||||||
|
|
||||||
|
os.system('/usr/bin/hdiutil flatten -quiet "%s"' % dmgFile)
|
||||||
|
if options.compression is not None:
|
||||||
|
os.system('cp %s %s.temp.dmg' % (dmgFile, dmgFile))
|
||||||
|
os.remove(dmgFile)
|
||||||
|
if options.compression == "bz2":
|
||||||
|
os.system('hdiutil convert %s.temp.dmg -format UDBZ -o %s' %
|
||||||
|
(dmgFile, dmgFile))
|
||||||
|
elif options.compression == "gz":
|
||||||
|
os.system('hdiutil convert %s.temp.dmg -format ' % dmgFile +
|
||||||
|
'UDZO -imagekey zlib-devel=9 -o %s' % dmgFile)
|
||||||
|
os.remove('%s.temp.dmg' % dmgFile)
|
||||||
|
print "Successfully added license to '%s'" % dmgFile
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
parser = optparse.OptionParser()
|
||||||
|
parser.set_usage("""%prog <dmgFile> <licenseFile> [OPTIONS]
|
||||||
|
This program adds a software license agreement to a DMG file.
|
||||||
|
It requires Xcode and a plain ascii text <licenseFile>.
|
||||||
|
|
||||||
|
See --help for more details.""")
|
||||||
|
parser.add_option(
|
||||||
|
'--rez',
|
||||||
|
'-r',
|
||||||
|
action='store',
|
||||||
|
default='/Applications/Xcode.app/Contents/Developer/Tools/Rez',
|
||||||
|
help='The path to the Rez tool. Defaults to %default'
|
||||||
|
)
|
||||||
|
parser.add_option(
|
||||||
|
'--flat-carbon',
|
||||||
|
'-f',
|
||||||
|
action='store',
|
||||||
|
default='/Applications/Xcode.app/Contents/Developer/Platforms'
|
||||||
|
'/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk'
|
||||||
|
'/Developer/Headers/FlatCarbon',
|
||||||
|
help='The path to the FlatCarbon headers. Defaults to %default'
|
||||||
|
)
|
||||||
|
parser.add_option(
|
||||||
|
'--compression',
|
||||||
|
'-c',
|
||||||
|
action='store',
|
||||||
|
choices=['bz2', 'gz'],
|
||||||
|
default=None,
|
||||||
|
help='Optionally compress dmg using specified compression type. '
|
||||||
|
'Choices are bz2 and gz.'
|
||||||
|
)
|
||||||
|
options, args = parser.parse_args()
|
||||||
|
cond = len(args) != 2 or not os.path.exists(options.rez) \
|
||||||
|
or not os.path.exists(options.flat_carbon)
|
||||||
|
if cond:
|
||||||
|
parser.print_usage()
|
||||||
|
sys.exit(1)
|
||||||
|
main(options, args)
|
||||||
@@ -0,0 +1,77 @@
|
|||||||
|
on run (volumeName)
|
||||||
|
tell application "Finder"
|
||||||
|
tell disk (volumeName as string)
|
||||||
|
open
|
||||||
|
|
||||||
|
set theXOrigin to WINX
|
||||||
|
set theYOrigin to WINY
|
||||||
|
set theWidth to WINW
|
||||||
|
set theHeight to WINH
|
||||||
|
|
||||||
|
set theBottomRightX to (theXOrigin + theWidth)
|
||||||
|
set theBottomRightY to (theYOrigin + theHeight)
|
||||||
|
set dsStore to "\"" & "/Volumes/" & volumeName & "/" & ".DS_STORE\""
|
||||||
|
|
||||||
|
tell container window
|
||||||
|
set current view to icon view
|
||||||
|
set toolbar visible to false
|
||||||
|
set statusbar visible to false
|
||||||
|
set the bounds to {theXOrigin, theYOrigin, theBottomRightX, theBottomRightY}
|
||||||
|
set statusbar visible to false
|
||||||
|
end tell
|
||||||
|
|
||||||
|
set opts to the icon view options of container window
|
||||||
|
tell opts
|
||||||
|
set icon size to ICON_SIZE
|
||||||
|
set arrangement to not arranged
|
||||||
|
end tell
|
||||||
|
BACKGROUND_CLAUSE
|
||||||
|
|
||||||
|
-- Positioning
|
||||||
|
POSITION_CLAUSE
|
||||||
|
|
||||||
|
-- Hiding
|
||||||
|
HIDING_CLAUSE
|
||||||
|
|
||||||
|
-- Application Link Clause
|
||||||
|
APPLICATION_CLAUSE
|
||||||
|
close
|
||||||
|
open
|
||||||
|
|
||||||
|
update without registering applications
|
||||||
|
-- Force saving of the size
|
||||||
|
delay 1
|
||||||
|
|
||||||
|
tell container window
|
||||||
|
set statusbar visible to false
|
||||||
|
set the bounds to {theXOrigin, theYOrigin, theBottomRightX - 10, theBottomRightY - 10}
|
||||||
|
end tell
|
||||||
|
|
||||||
|
update without registering applications
|
||||||
|
end tell
|
||||||
|
|
||||||
|
delay 1
|
||||||
|
|
||||||
|
tell disk (volumeName as string)
|
||||||
|
tell container window
|
||||||
|
set statusbar visible to false
|
||||||
|
set the bounds to {theXOrigin, theYOrigin, theBottomRightX, theBottomRightY}
|
||||||
|
end tell
|
||||||
|
|
||||||
|
update without registering applications
|
||||||
|
end tell
|
||||||
|
|
||||||
|
--give the finder some time to write the .DS_Store file
|
||||||
|
delay 3
|
||||||
|
|
||||||
|
set waitTime to 0
|
||||||
|
set ejectMe to false
|
||||||
|
repeat while ejectMe is false
|
||||||
|
delay 1
|
||||||
|
set waitTime to waitTime + 1
|
||||||
|
|
||||||
|
if (do shell script "[ -f " & dsStore & " ]; echo $?") = "0" then set ejectMe to true
|
||||||
|
end repeat
|
||||||
|
log "waited " & waitTime & " seconds for .DS_STORE to be created."
|
||||||
|
end tell
|
||||||
|
end run
|
||||||
100
forge-gui-desktop/src/main/html/connectionTest.html
Normal file
100
forge-gui-desktop/src/main/html/connectionTest.html
Normal file
@@ -0,0 +1,100 @@
|
|||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>Tail-based by Web Sockets</title>
|
||||||
|
|
||||||
|
|
||||||
|
<link href="css/core.css" media="all" rel="stylesheet" type="text/css" />
|
||||||
|
<script type="text/javascript" src="js/jquery/jquery-1.9.1.min.js"></script>
|
||||||
|
<script type="text/javascript" src="js/observable.js"></script>
|
||||||
|
<script type="text/javascript" src="js/socket.js"></script>
|
||||||
|
<script type='text/javascript' src="js/main.js"></script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="wrap">
|
||||||
|
<div class="title">
|
||||||
|
<span>Your server: <b>ws://</b></span>
|
||||||
|
<input id="ws_uri" type="text" value="localhost:81/" name="uri"/>
|
||||||
|
<button id="connect" name="connect" class="cn">Connect</button>
|
||||||
|
<button id="disconn" name="disconn" class="dc" disabled="disabled">Disconnect</button>
|
||||||
|
</div>
|
||||||
|
<ul class="messages" id='messages'></ul>
|
||||||
|
<div class="packets" id='input'>
|
||||||
|
<span>Raw text to send:</span>
|
||||||
|
<input type="text" name="packet" value="" />
|
||||||
|
<button id="send" class="send">Send</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
|
if (!window.WebSocket)
|
||||||
|
alert("WebSocket not supported by this browser");
|
||||||
|
|
||||||
|
var server = Socket();
|
||||||
|
var listener = {
|
||||||
|
onOpen : function() {
|
||||||
|
$('#input').slideDown();
|
||||||
|
},
|
||||||
|
|
||||||
|
onMessage : function(m) {
|
||||||
|
if (m.data) {
|
||||||
|
addLi("incoming", m.data);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
onClose : function(m) {
|
||||||
|
addLi("error", "Connection was closed (" + m.code + "): " + m.reason);
|
||||||
|
onDisconnectClicked();
|
||||||
|
$('#input').fadeOut();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
server.addObserver(listener);
|
||||||
|
|
||||||
|
function addLi(className, text) {
|
||||||
|
var spanText = document.createElement('li');
|
||||||
|
spanText.className = className;
|
||||||
|
spanText.innerHTML = text;
|
||||||
|
var messageBox = $('#messages')[0];
|
||||||
|
messageBox.appendChild(spanText);
|
||||||
|
messageBox.scrollTop = messageBox.scrollHeight - messageBox.clientHeight;
|
||||||
|
}
|
||||||
|
|
||||||
|
function onConnectClicked() {
|
||||||
|
var uri = $("#ws_uri").val()
|
||||||
|
addLi("connecting", "Connecting to ws://" + uri + " ..." )
|
||||||
|
server.connect(uri);
|
||||||
|
$('#connect').attr("disabled", "disabled")
|
||||||
|
$('#disconn').removeAttr("disabled")
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function onDisconnectClicked() {
|
||||||
|
server.close();
|
||||||
|
$('#disconn').attr("disabled", "disabled")
|
||||||
|
$('#connect').removeAttr("disabled")
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function onSendClicked() {
|
||||||
|
var toSend = $("#input input").val();
|
||||||
|
$("#input input").val("");
|
||||||
|
addLi("outcoming", toSend);
|
||||||
|
server.send(toSend)
|
||||||
|
}
|
||||||
|
|
||||||
|
function onInputKey(event) {
|
||||||
|
if( event.keyCode == 13 )
|
||||||
|
onSendClicked();
|
||||||
|
}
|
||||||
|
|
||||||
|
function onReady() {
|
||||||
|
$('#connect').on("click", onConnectClicked);
|
||||||
|
$('#disconn').on("click", onDisconnectClicked);
|
||||||
|
$('#send').on("click", onSendClicked);
|
||||||
|
$("#input input").on("keypress", onInputKey);
|
||||||
|
}
|
||||||
|
|
||||||
|
$(onReady)
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
23
forge-gui-desktop/src/main/html/css/core.css
Normal file
23
forge-gui-desktop/src/main/html/css/core.css
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
ul, ol { margin: 0; }
|
||||||
|
|
||||||
|
div { border: 0px solid black; }
|
||||||
|
div.wrap { width: 640px; margin: 100px auto;}
|
||||||
|
|
||||||
|
.title { height: 24px; background-color: #ddd; padding: 4px; border: 1px solid black; border-bottom: 0px }
|
||||||
|
.title input {width: 300px; }
|
||||||
|
.title span { display: inline-block; width: 120px; text-align: right; }
|
||||||
|
|
||||||
|
.messages { height: 30ex; overflow: auto; background-color: #fff; padding: 4px; border: 1px solid black; list-style: none; }
|
||||||
|
.messages .incoming { color: #006; }
|
||||||
|
.messages .incoming:before { content: "<< "}
|
||||||
|
.messages .outcoming { color: #060; }
|
||||||
|
.messages .outcoming:before { content: ">> "}
|
||||||
|
.messages .error { color: #600; }
|
||||||
|
.messages li:nth-child(2n) { background-color: #f7f7f7; }
|
||||||
|
|
||||||
|
.packets { padding: 4px; background-color: #ddd; border: 1px solid black; border-top: 0px; display: none; }
|
||||||
|
.packets span { display: inline-block; width: 120px; text-align: right; }
|
||||||
|
.packets input {width: 400px; }
|
||||||
|
.packets button { width: 100px; }
|
||||||
|
|
||||||
|
span.alert { font-style: italic; }
|
||||||
9597
forge-gui-desktop/src/main/html/js/jquery/jquery-1.9.1.js
vendored
Normal file
9597
forge-gui-desktop/src/main/html/js/jquery/jquery-1.9.1.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
5
forge-gui-desktop/src/main/html/js/jquery/jquery-1.9.1.min.js
vendored
Normal file
5
forge-gui-desktop/src/main/html/js/jquery/jquery-1.9.1.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
23
forge-gui-desktop/src/main/html/js/observable.js
Normal file
23
forge-gui-desktop/src/main/html/js/observable.js
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
var Observable = function(eventNames) {
|
||||||
|
var _t = {};
|
||||||
|
var observers = {};
|
||||||
|
|
||||||
|
_t.addObserver = function(obj) {
|
||||||
|
for(var i = 0; i < eventNames.length; i++) {
|
||||||
|
var evName = eventNames[i]
|
||||||
|
var method = obj["on" + evName];
|
||||||
|
if( typeof(method) === 'function') {
|
||||||
|
var handlers = observers[evName]
|
||||||
|
if( 'undefined' === typeof(handler))
|
||||||
|
handlers = observers[evName] = [];
|
||||||
|
handlers.push(obj);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
_t.fireEvent = function() { // usually invoked as .apply(EventName, args)
|
||||||
|
var q = observers[this]
|
||||||
|
if ( q ) for( var i = 0; i < q.length; i++ ) q[i]['on'+ this].apply(q[i], arguments);
|
||||||
|
}
|
||||||
|
return _t;
|
||||||
|
}
|
||||||
27
forge-gui-desktop/src/main/html/js/socket.js
Normal file
27
forge-gui-desktop/src/main/html/js/socket.js
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
|
||||||
|
// There should be some kind of fallback to Flash-powered sockets (IE 9-, Opera with sockets switched off)
|
||||||
|
var Socket = function() {
|
||||||
|
var _t = Observable(["Open", "Message", "Close", "Error"]);
|
||||||
|
|
||||||
|
function onOpen() { _t.fireEvent.apply("Open", arguments); }
|
||||||
|
function onClose() { _t.fireEvent.apply("Close", arguments); }
|
||||||
|
function onError() { _t.fireEvent.apply("Error", arguments); }
|
||||||
|
function onMessage() { _t.fireEvent.apply("Message", arguments); }
|
||||||
|
|
||||||
|
var ws;
|
||||||
|
_t.connect = function(location) {
|
||||||
|
ws = new WebSocket("ws://" + location);
|
||||||
|
ws.onopen = onOpen;
|
||||||
|
ws.onmessage = onMessage;
|
||||||
|
ws.onclose = onClose;
|
||||||
|
ws.onerror = onError;
|
||||||
|
}
|
||||||
|
|
||||||
|
// _t.getWs = function() { return ws; }
|
||||||
|
_t.isOpen = function() { return ws && ws.readyState == ws.OPEN; }
|
||||||
|
_t.close = function() { ws && ws.close(); }
|
||||||
|
_t.send = function(text) { text != null && text.length > 0 && ws && ws.send(text); };
|
||||||
|
|
||||||
|
return _t;
|
||||||
|
};
|
||||||
|
|
||||||
369
forge-gui-desktop/src/main/java/forge/GuiDesktop.java
Normal file
369
forge-gui-desktop/src/main/java/forge/GuiDesktop.java
Normal file
@@ -0,0 +1,369 @@
|
|||||||
|
package forge;
|
||||||
|
|
||||||
|
import java.awt.event.KeyEvent;
|
||||||
|
import java.awt.event.MouseEvent;
|
||||||
|
import java.lang.reflect.InvocationTargetException;
|
||||||
|
import java.util.Collection;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
import javax.swing.JPopupMenu;
|
||||||
|
import javax.swing.KeyStroke;
|
||||||
|
import javax.swing.MenuElement;
|
||||||
|
import javax.swing.MenuSelectionManager;
|
||||||
|
import javax.swing.SwingUtilities;
|
||||||
|
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.apache.commons.lang3.tuple.Pair;
|
||||||
|
|
||||||
|
import com.google.common.base.Function;
|
||||||
|
|
||||||
|
import forge.assets.FSkinProp;
|
||||||
|
import forge.assets.ISkinImage;
|
||||||
|
import forge.control.FControl;
|
||||||
|
import forge.error.BugReporter;
|
||||||
|
import forge.events.UiEvent;
|
||||||
|
import forge.game.Game;
|
||||||
|
import forge.game.GameEntity;
|
||||||
|
import forge.game.GameType;
|
||||||
|
import forge.game.card.Card;
|
||||||
|
import forge.game.combat.Combat;
|
||||||
|
import forge.game.event.GameEventTurnBegan;
|
||||||
|
import forge.game.phase.PhaseHandler;
|
||||||
|
import forge.game.phase.PhaseType;
|
||||||
|
import forge.game.player.LobbyPlayer;
|
||||||
|
import forge.game.player.Player;
|
||||||
|
import forge.game.player.RegisteredPlayer;
|
||||||
|
import forge.game.spellability.SpellAbility;
|
||||||
|
import forge.game.zone.ZoneType;
|
||||||
|
import forge.gui.CardListViewer;
|
||||||
|
import forge.gui.FNetOverlay;
|
||||||
|
import forge.gui.GuiChoose;
|
||||||
|
import forge.gui.GuiUtils;
|
||||||
|
import forge.gui.SOverlayUtils;
|
||||||
|
import forge.gui.framework.SDisplayUtil;
|
||||||
|
import forge.gui.framework.SLayoutIO;
|
||||||
|
import forge.interfaces.IButton;
|
||||||
|
import forge.interfaces.IGuiBase;
|
||||||
|
import forge.item.PaperCard;
|
||||||
|
import forge.match.input.InputQueue;
|
||||||
|
import forge.net.FServer;
|
||||||
|
import forge.screens.match.CMatchUI;
|
||||||
|
import forge.screens.match.VMatchUI;
|
||||||
|
import forge.screens.match.ViewWinLose;
|
||||||
|
import forge.screens.match.controllers.CPrompt;
|
||||||
|
import forge.screens.match.controllers.CStack;
|
||||||
|
import forge.screens.match.views.VField;
|
||||||
|
import forge.screens.match.views.VHand;
|
||||||
|
import forge.screens.match.views.VPrompt;
|
||||||
|
import forge.toolbox.FButton;
|
||||||
|
import forge.toolbox.FOptionPane;
|
||||||
|
import forge.toolbox.FSkin;
|
||||||
|
import forge.toolbox.FSkin.SkinImage;
|
||||||
|
import forge.toolbox.special.PhaseLabel;
|
||||||
|
import forge.util.BuildInfo;
|
||||||
|
|
||||||
|
public class GuiDesktop implements IGuiBase {
|
||||||
|
public void invokeInEdtLater(Runnable runnable) {
|
||||||
|
SwingUtilities.invokeLater(runnable);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void invokeInEdtAndWait(final Runnable proc) {
|
||||||
|
if (SwingUtilities.isEventDispatchThread()) {
|
||||||
|
// Just run in the current thread.
|
||||||
|
proc.run();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
try {
|
||||||
|
SwingUtilities.invokeAndWait(proc);
|
||||||
|
}
|
||||||
|
catch (final InterruptedException exn) {
|
||||||
|
throw new RuntimeException(exn);
|
||||||
|
}
|
||||||
|
catch (final InvocationTargetException exn) {
|
||||||
|
throw new RuntimeException(exn);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isGuiThread() {
|
||||||
|
return SwingUtilities.isEventDispatchThread();
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getAssetsRoot() {
|
||||||
|
return StringUtils.containsIgnoreCase(BuildInfo.getVersionString(), "svn") ?
|
||||||
|
"../forge-gui/res/" : "res/";
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean mayShowCard(Card card) {
|
||||||
|
return Singletons.getControl().mayShowCard(card);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void reportBug(String details) {
|
||||||
|
BugReporter.reportBug(details);
|
||||||
|
}
|
||||||
|
public void reportException(Throwable ex) {
|
||||||
|
BugReporter.reportException(ex);
|
||||||
|
}
|
||||||
|
public void reportException(Throwable ex, String message) {
|
||||||
|
BugReporter.reportException(ex, message);
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean showConfirmDialog(String message) {
|
||||||
|
return FOptionPane.showConfirmDialog(message);
|
||||||
|
}
|
||||||
|
|
||||||
|
public ISkinImage getUnskinnedIcon(String path) {
|
||||||
|
return new FSkin.UnskinnedIcon(path);
|
||||||
|
}
|
||||||
|
|
||||||
|
public int showOptionDialog(String message, String title, ISkinImage icon, String[] options, int defaultOption) {
|
||||||
|
return FOptionPane.showOptionDialog(message, title, (SkinImage)icon, options, defaultOption);
|
||||||
|
}
|
||||||
|
|
||||||
|
public <T> T showInputDialog(String message, String title, ISkinImage icon, T initialInput, T[] inputOptions) {
|
||||||
|
return FOptionPane.showInputDialog(message, title, (SkinImage)icon, initialInput, inputOptions);
|
||||||
|
}
|
||||||
|
|
||||||
|
public <T> List<T> getChoices(final String message, final int min, final int max, final Collection<T> choices, final T selected, final Function<T, String> display) {
|
||||||
|
return GuiChoose.getChoices(message, min, max, choices, selected, display);
|
||||||
|
}
|
||||||
|
|
||||||
|
public <T> List<T> order(final String title, final String top, final int remainingObjectsMin, final int remainingObjectsMax,
|
||||||
|
final List<T> sourceChoices, final List<T> destChoices, final Card referenceCard, final boolean sideboardingMode) {
|
||||||
|
return GuiChoose.order(title, top, sourceChoices, referenceCard);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void showCardList(final String title, final String message, final List<PaperCard> list) {
|
||||||
|
final CardListViewer cardView = new CardListViewer(title, message, list);
|
||||||
|
cardView.setVisible(true);
|
||||||
|
cardView.dispose();
|
||||||
|
}
|
||||||
|
|
||||||
|
public IButton getBtnOK() {
|
||||||
|
return VMatchUI.SINGLETON_INSTANCE.getBtnOK();
|
||||||
|
}
|
||||||
|
|
||||||
|
public IButton getBtnCancel() {
|
||||||
|
return VMatchUI.SINGLETON_INSTANCE.getBtnCancel();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void focusButton(final IButton button) {
|
||||||
|
// ensure we don't steal focus from an overlay
|
||||||
|
if (!SOverlayUtils.overlayHasFocus()) {
|
||||||
|
FThreads.invokeInEdtLater(new Runnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
((FButton)button).requestFocusInWindow();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void flashIncorrectAction() {
|
||||||
|
SDisplayUtil.remind(VPrompt.SINGLETON_INSTANCE);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void updatePhase() {
|
||||||
|
PhaseHandler pH = Singletons.getControl().getObservedGame().getPhaseHandler();
|
||||||
|
Player p = pH.getPlayerTurn();
|
||||||
|
PhaseType ph = pH.getPhase();
|
||||||
|
|
||||||
|
final CMatchUI matchUi = CMatchUI.SINGLETON_INSTANCE;
|
||||||
|
PhaseLabel lbl = matchUi.getFieldViewFor(p).getPhaseIndicator().getLabelFor(ph);
|
||||||
|
|
||||||
|
matchUi.resetAllPhaseButtons();
|
||||||
|
if (lbl != null) lbl.setActive(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void updateTurn(final GameEventTurnBegan event, final Game game) {
|
||||||
|
VField nextField = CMatchUI.SINGLETON_INSTANCE.getFieldViewFor(event.turnOwner);
|
||||||
|
SDisplayUtil.showTab(nextField);
|
||||||
|
CPrompt.SINGLETON_INSTANCE.updateText(game);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void updatePlayerControl() {
|
||||||
|
CMatchUI.SINGLETON_INSTANCE.initHandViews(FServer.getLobby().getGuiPlayer());
|
||||||
|
SLayoutIO.loadLayout(null);
|
||||||
|
VMatchUI.SINGLETON_INSTANCE.populate();
|
||||||
|
for (VHand h : VMatchUI.SINGLETON_INSTANCE.getHands()) {
|
||||||
|
h.getLayoutControl().updateHand();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void finishGame() {
|
||||||
|
new ViewWinLose(Singletons.getControl().getObservedGame());
|
||||||
|
SOverlayUtils.showOverlay();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void updateStack() {
|
||||||
|
CStack.SINGLETON_INSTANCE.update();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void startMatch(GameType gameType, List<RegisteredPlayer> players) {
|
||||||
|
FControl.instance.startMatch(gameType, players);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPanelSelection(Card c) {
|
||||||
|
GuiUtils.setPanelSelection(c);
|
||||||
|
}
|
||||||
|
|
||||||
|
public SpellAbility getAbilityToPlay(List<SpellAbility> abilities, Object triggerEvent) {
|
||||||
|
if (triggerEvent == null) {
|
||||||
|
if (abilities.isEmpty()) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
if (abilities.size() == 1) {
|
||||||
|
return abilities.get(0);
|
||||||
|
}
|
||||||
|
return GuiChoose.oneOrNone("Choose ability to play", abilities);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (abilities.isEmpty()) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
if (abilities.size() == 1 && !abilities.get(0).promptIfOnlyPossibleAbility()) {
|
||||||
|
if (abilities.get(0).canPlay()) {
|
||||||
|
return abilities.get(0); //only return ability if it's playable, otherwise return null
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
//show menu if mouse was trigger for ability
|
||||||
|
final JPopupMenu menu = new JPopupMenu("Abilities");
|
||||||
|
|
||||||
|
boolean enabled;
|
||||||
|
boolean hasEnabled = false;
|
||||||
|
int shortcut = KeyEvent.VK_1; //use number keys as shortcuts for abilities 1-9
|
||||||
|
for (final SpellAbility ab : abilities) {
|
||||||
|
enabled = ab.canPlay();
|
||||||
|
if (enabled) {
|
||||||
|
hasEnabled = true;
|
||||||
|
}
|
||||||
|
GuiUtils.addMenuItem(menu, FSkin.encodeSymbols(ab.toString(), true),
|
||||||
|
shortcut > 0 ? KeyStroke.getKeyStroke(shortcut, 0) : null,
|
||||||
|
new Runnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
CPrompt.SINGLETON_INSTANCE.getInputControl().selectAbility(ab);
|
||||||
|
}
|
||||||
|
}, enabled);
|
||||||
|
if (shortcut > 0) {
|
||||||
|
shortcut++;
|
||||||
|
if (shortcut > KeyEvent.VK_9) {
|
||||||
|
shortcut = 0; //stop adding shortcuts after 9
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (hasEnabled) { //only show menu if at least one ability can be played
|
||||||
|
SwingUtilities.invokeLater(new Runnable() { //use invoke later to ensure first ability selected by default
|
||||||
|
public void run() {
|
||||||
|
MenuSelectionManager.defaultManager().setSelectedPath(new MenuElement[]{menu, menu.getSubElements()[0]});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
MouseEvent mouseEvent = (MouseEvent) triggerEvent;
|
||||||
|
menu.show(mouseEvent.getComponent(), mouseEvent.getX(), mouseEvent.getY());
|
||||||
|
}
|
||||||
|
|
||||||
|
return null; //delay ability until choice made
|
||||||
|
}
|
||||||
|
|
||||||
|
public void hear(LobbyPlayer player, String message) {
|
||||||
|
FNetOverlay.SINGLETON_INSTANCE.addMessage(player.getName(), message);
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getAvatarCount() {
|
||||||
|
if (FSkin.isLoaded()) {
|
||||||
|
FSkin.getAvatars().size();
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int showOptionDialog(String message, String title, FSkinProp icon, String[] options, int defaultOption) {
|
||||||
|
return FOptionPane.showOptionDialog(message, title, FSkin.getImage(icon), options, defaultOption);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public <T> T showInputDialog(String message, String title, FSkinProp icon, T initialInput, T[] inputOptions) {
|
||||||
|
return FOptionPane.showInputDialog(message, title, FSkin.getImage(icon), initialInput, inputOptions);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void fireEvent(UiEvent e) {
|
||||||
|
CMatchUI.SINGLETON_INSTANCE.fireEvent(e);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setCard(Card card) {
|
||||||
|
CMatchUI.SINGLETON_INSTANCE.setCard(card);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void showCombat(Combat combat) {
|
||||||
|
CMatchUI.SINGLETON_INSTANCE.showCombat(combat);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setUsedToPay(Card card, boolean b) {
|
||||||
|
CMatchUI.SINGLETON_INSTANCE.setUsedToPay(card, b);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setHighlighted(Player player, boolean b) {
|
||||||
|
CMatchUI.SINGLETON_INSTANCE.setHighlighted(player, b);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void showPromptMessage(String message) {
|
||||||
|
CMatchUI.SINGLETON_INSTANCE.showMessage(message);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean stopAtPhase(Player playerTurn, PhaseType phase) {
|
||||||
|
return CMatchUI.SINGLETON_INSTANCE.stopAtPhase(playerTurn, phase);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public InputQueue getInputQueue() {
|
||||||
|
return FControl.instance.getInputQueue();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Game getGame() {
|
||||||
|
return FControl.instance.getObservedGame();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateZones(List<Pair<Player, ZoneType>> zonesToUpdate) {
|
||||||
|
CMatchUI.SINGLETON_INSTANCE.updateZones(zonesToUpdate);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateCards(Set<Card> cardsToUpdate) {
|
||||||
|
CMatchUI.SINGLETON_INSTANCE.updateCards(cardsToUpdate);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateManaPool(List<Player> manaPoolUpdate) {
|
||||||
|
CMatchUI.SINGLETON_INSTANCE.updateManaPool(manaPoolUpdate);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateLives(List<Player> livesUpdate) {
|
||||||
|
CMatchUI.SINGLETON_INSTANCE.updateLives(livesUpdate);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void endCurrentGame() {
|
||||||
|
FControl.instance.endCurrentGame();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Map<Card, Integer> getDamageToAssign(Card attacker, List<Card> blockers,
|
||||||
|
int damageDealt, GameEntity defender, boolean overrideOrder) {
|
||||||
|
return CMatchUI.SINGLETON_INSTANCE.getDamageToAssign(attacker, blockers,
|
||||||
|
damageDealt, defender, overrideOrder);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -21,21 +21,20 @@ import com.google.common.cache.CacheBuilder;
|
|||||||
import com.google.common.cache.CacheLoader.InvalidCacheLoadException;
|
import com.google.common.cache.CacheLoader.InvalidCacheLoadException;
|
||||||
import com.google.common.cache.LoadingCache;
|
import com.google.common.cache.LoadingCache;
|
||||||
import com.mortennobel.imagescaling.ResampleOp;
|
import com.mortennobel.imagescaling.ResampleOp;
|
||||||
import forge.card.CardDb;
|
|
||||||
import forge.card.CardRules;
|
import forge.assets.FSkinProp;
|
||||||
import forge.card.CardSplitType;
|
import forge.assets.ImageUtil;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.player.IHasIcon;
|
import forge.game.player.IHasIcon;
|
||||||
import forge.gui.toolbox.FSkin;
|
|
||||||
import forge.gui.toolbox.FSkin.SkinIcon;
|
|
||||||
import forge.item.InventoryItem;
|
import forge.item.InventoryItem;
|
||||||
import forge.item.PaperCard;
|
import forge.properties.ForgeConstants;
|
||||||
import forge.properties.ForgePreferences.FPref;
|
import forge.toolbox.FSkin;
|
||||||
import forge.properties.NewConstants;
|
import forge.toolbox.FSkin.SkinIcon;
|
||||||
import forge.util.Base64Coder;
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
|
||||||
import javax.imageio.ImageIO;
|
import javax.imageio.ImageIO;
|
||||||
|
|
||||||
import java.awt.image.BufferedImage;
|
import java.awt.image.BufferedImage;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
@@ -54,7 +53,7 @@ import java.util.concurrent.ExecutionException;
|
|||||||
* </ul>
|
* </ul>
|
||||||
*
|
*
|
||||||
* @author Forge
|
* @author Forge
|
||||||
* @version $Id$
|
* @version $Id: ImageCache.java 25093 2014-03-08 05:36:37Z drdev $
|
||||||
*/
|
*/
|
||||||
public class ImageCache {
|
public class ImageCache {
|
||||||
// short prefixes to save memory
|
// short prefixes to save memory
|
||||||
@@ -65,7 +64,7 @@ public class ImageCache {
|
|||||||
static {
|
static {
|
||||||
BufferedImage defImage = null;
|
BufferedImage defImage = null;
|
||||||
try {
|
try {
|
||||||
defImage = ImageIO.read(new File(NewConstants.NO_CARD_FILE));
|
defImage = ImageIO.read(new File(ForgeConstants.NO_CARD_FILE));
|
||||||
} catch (Exception ex) {
|
} catch (Exception ex) {
|
||||||
System.err.println("could not load default card image");
|
System.err.println("could not load default card image");
|
||||||
} finally {
|
} finally {
|
||||||
@@ -110,7 +109,7 @@ public class ImageCache {
|
|||||||
if (_missingIconKeys.contains(imageKey) ||
|
if (_missingIconKeys.contains(imageKey) ||
|
||||||
null == (i = scaleImage(ihi.getIconImageKey(), -1, -1, false))) {
|
null == (i = scaleImage(ihi.getIconImageKey(), -1, -1, false))) {
|
||||||
_missingIconKeys.add(imageKey);
|
_missingIconKeys.add(imageKey);
|
||||||
return FSkin.getIcon(FSkin.InterfaceIcons.ICO_UNKNOWN);
|
return FSkin.getIcon(FSkinProp.ICO_UNKNOWN);
|
||||||
}
|
}
|
||||||
return new FSkin.UnskinnedIcon(i);
|
return new FSkin.UnskinnedIcon(i);
|
||||||
}
|
}
|
||||||
@@ -132,7 +131,7 @@ public class ImageCache {
|
|||||||
if(altState)
|
if(altState)
|
||||||
imageKey = imageKey.substring(0, imageKey.length() - ImageKeys.BACKFACE_POSTFIX.length());
|
imageKey = imageKey.substring(0, imageKey.length() - ImageKeys.BACKFACE_POSTFIX.length());
|
||||||
if (imageKey.startsWith(ImageKeys.CARD_PREFIX)) {
|
if (imageKey.startsWith(ImageKeys.CARD_PREFIX)) {
|
||||||
imageKey = getImageKey(getPaperCardFromImageKey(imageKey.substring(2)), altState, true);
|
imageKey = ImageUtil.getImageKey(ImageUtil.getPaperCardFromImageKey(imageKey.substring(2)), altState, true);
|
||||||
if (StringUtils.isBlank(imageKey)) {
|
if (StringUtils.isBlank(imageKey)) {
|
||||||
return _defaultImage;
|
return _defaultImage;
|
||||||
}
|
}
|
||||||
@@ -155,16 +154,6 @@ public class ImageCache {
|
|||||||
return original;
|
return original;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static PaperCard getPaperCardFromImageKey(String key) {
|
|
||||||
if( key == null )
|
|
||||||
return null;
|
|
||||||
|
|
||||||
PaperCard cp = StaticData.instance().getCommonCards().getCard(key);
|
|
||||||
if ( cp == null )
|
|
||||||
cp = StaticData.instance().getVariantCards().getCard(key);
|
|
||||||
return cp;
|
|
||||||
}
|
|
||||||
|
|
||||||
private static BufferedImage scaleImage(String key, final int width, final int height, boolean useDefaultImage) {
|
private static BufferedImage scaleImage(String key, final int width, final int height, boolean useDefaultImage) {
|
||||||
if (StringUtils.isEmpty(key) || (3 > width && -1 != width) || (3 > height && -1 != height)) {
|
if (StringUtils.isEmpty(key) || (3 > width && -1 != width) || (3 > height && -1 != height)) {
|
||||||
// picture too small or key not defined; return a blank
|
// picture too small or key not defined; return a blank
|
||||||
@@ -187,7 +176,7 @@ public class ImageCache {
|
|||||||
double scaleX = (-1 == width ? 1 : (double)width / original.getWidth());
|
double scaleX = (-1 == width ? 1 : (double)width / original.getWidth());
|
||||||
double scaleY = (-1 == height? 1 : (double)height / original.getHeight());
|
double scaleY = (-1 == height? 1 : (double)height / original.getHeight());
|
||||||
double bestFitScale = Math.min(scaleX, scaleY);
|
double bestFitScale = Math.min(scaleX, scaleY);
|
||||||
if ((bestFitScale > 1) && !mayEnlarge()) {
|
if ((bestFitScale > 1) && !ImageUtil.mayEnlarge()) {
|
||||||
bestFitScale = 1;
|
bestFitScale = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -208,10 +197,6 @@ public class ImageCache {
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static boolean mayEnlarge() {
|
|
||||||
return Singletons.getModel().getPreferences().getPrefBoolean(FPref.UI_SCALE_LARGER);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the Image corresponding to the key.
|
* Returns the Image corresponding to the key.
|
||||||
*/
|
*/
|
||||||
@@ -230,110 +215,4 @@ public class ImageCache {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private static String getImageRelativePath(PaperCard cp, boolean backFace, boolean includeSet, boolean isDownloadUrl) {
|
|
||||||
final String nameToUse = cp == null ? null : getNameToUse(cp, backFace);
|
|
||||||
if ( null == nameToUse )
|
|
||||||
return null;
|
|
||||||
|
|
||||||
StringBuilder s = new StringBuilder();
|
|
||||||
|
|
||||||
CardRules card = cp.getRules();
|
|
||||||
String edition = cp.getEdition();
|
|
||||||
s.append(ImageCache.toMWSFilename(nameToUse));
|
|
||||||
|
|
||||||
final int cntPictures;
|
|
||||||
final boolean hasManyPictures;
|
|
||||||
final CardDb db = !card.isVariant() ? Singletons.getMagicDb().getCommonCards() : Singletons.getMagicDb().getVariantCards();
|
|
||||||
if (includeSet) {
|
|
||||||
cntPictures = db.getPrintCount(card.getName(), edition);
|
|
||||||
hasManyPictures = cntPictures > 1;
|
|
||||||
} else {
|
|
||||||
// without set number of pictures equals number of urls provided in Svar:Picture
|
|
||||||
String urls = card.getPictureUrl(backFace);
|
|
||||||
cntPictures = StringUtils.countMatches(urls, "\\") + 1;
|
|
||||||
|
|
||||||
// raise the art index limit to the maximum of the sets this card was printed in
|
|
||||||
int maxCntPictures = db.getMaxPrintCount(card.getName());
|
|
||||||
hasManyPictures = maxCntPictures > 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
int artIdx = cp.getArtIndex() - 1;
|
|
||||||
if (hasManyPictures) {
|
|
||||||
if ( cntPictures <= artIdx ) // prevent overflow
|
|
||||||
artIdx = cntPictures == 0 ? 0 : artIdx % cntPictures;
|
|
||||||
s.append(artIdx + 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
// for whatever reason, MWS-named plane cards don't have the ".full" infix
|
|
||||||
if (!card.getType().isPlane() && !card.getType().isPhenomenon()) {
|
|
||||||
s.append(".full");
|
|
||||||
}
|
|
||||||
|
|
||||||
final String fname;
|
|
||||||
if (isDownloadUrl) {
|
|
||||||
s.append(".jpg");
|
|
||||||
fname = Base64Coder.encodeString(s.toString(), true);
|
|
||||||
} else {
|
|
||||||
fname = s.toString();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (includeSet) {
|
|
||||||
String editionAliased = isDownloadUrl ? Singletons.getMagicDb().getEditions().getCode2ByCode(edition) : getSetFolder(edition);
|
|
||||||
return String.format("%s/%s", editionAliased, fname);
|
|
||||||
} else {
|
|
||||||
return fname;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static boolean hasBackFacePicture(PaperCard cp) {
|
|
||||||
CardSplitType cst = cp.getRules().getSplitType();
|
|
||||||
return cst == CardSplitType.Transform || cst == CardSplitType.Flip;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static String getSetFolder(String edition) {
|
|
||||||
return !NewConstants.CACHE_CARD_PICS_SUBDIR.containsKey(edition)
|
|
||||||
? Singletons.getMagicDb().getEditions().getCode2ByCode(edition) // by default 2-letter codes from MWS are used
|
|
||||||
: NewConstants.CACHE_CARD_PICS_SUBDIR.get(edition); // may use custom paths though
|
|
||||||
}
|
|
||||||
|
|
||||||
private static String getNameToUse(PaperCard cp, boolean backFace) {
|
|
||||||
final CardRules card = cp.getRules();
|
|
||||||
if (backFace ) {
|
|
||||||
if ( hasBackFacePicture(cp) )
|
|
||||||
return card.getOtherPart().getName();
|
|
||||||
else
|
|
||||||
return null;
|
|
||||||
} else if(CardSplitType.Split == cp.getRules().getSplitType()) {
|
|
||||||
return card.getMainPart().getName() + card.getOtherPart().getName();
|
|
||||||
} else {
|
|
||||||
return cp.getName();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static String getImageKey(PaperCard cp, boolean backFace, boolean includeSet) {
|
|
||||||
return getImageRelativePath(cp, backFace, includeSet, false);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static String getDownloadUrl(PaperCard cp, boolean backFace) {
|
|
||||||
return getImageRelativePath(cp, backFace, true, true);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static String toMWSFilename(String in) {
|
|
||||||
final StringBuffer out = new StringBuffer();
|
|
||||||
char c;
|
|
||||||
for (int i = 0; i < in.length(); i++) {
|
|
||||||
c = in.charAt(i);
|
|
||||||
if ((c == '"') || (c == '/') || (c == ':') || (c == '?')) {
|
|
||||||
out.append("");
|
|
||||||
} else {
|
|
||||||
out.append(c);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return out.toString();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
@@ -1,11 +1,15 @@
|
|||||||
package forge;
|
package forge;
|
||||||
|
|
||||||
import com.google.common.cache.CacheLoader;
|
import com.google.common.cache.CacheLoader;
|
||||||
|
|
||||||
|
import forge.assets.ImageUtil;
|
||||||
import forge.error.BugReporter;
|
import forge.error.BugReporter;
|
||||||
import forge.properties.NewConstants;
|
import forge.properties.ForgeConstants;
|
||||||
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
|
||||||
import javax.imageio.ImageIO;
|
import javax.imageio.ImageIO;
|
||||||
|
|
||||||
import java.awt.image.BufferedImage;
|
import java.awt.image.BufferedImage;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
@@ -25,34 +29,34 @@ final class ImageLoader extends CacheLoader<String, BufferedImage> {
|
|||||||
final String filename;
|
final String filename;
|
||||||
if (key.startsWith(ImageKeys.TOKEN_PREFIX)) {
|
if (key.startsWith(ImageKeys.TOKEN_PREFIX)) {
|
||||||
filename = key.substring(ImageKeys.TOKEN_PREFIX.length());
|
filename = key.substring(ImageKeys.TOKEN_PREFIX.length());
|
||||||
path = NewConstants.CACHE_TOKEN_PICS_DIR;
|
path = ForgeConstants.CACHE_TOKEN_PICS_DIR;
|
||||||
} else if (key.startsWith(ImageKeys.ICON_PREFIX)) {
|
} else if (key.startsWith(ImageKeys.ICON_PREFIX)) {
|
||||||
filename = key.substring(ImageKeys.ICON_PREFIX.length());
|
filename = key.substring(ImageKeys.ICON_PREFIX.length());
|
||||||
path = NewConstants.CACHE_ICON_PICS_DIR;
|
path = ForgeConstants.CACHE_ICON_PICS_DIR;
|
||||||
} else if (key.startsWith(ImageKeys.BOOSTER_PREFIX)) {
|
} else if (key.startsWith(ImageKeys.BOOSTER_PREFIX)) {
|
||||||
filename = key.substring(ImageKeys.BOOSTER_PREFIX.length());
|
filename = key.substring(ImageKeys.BOOSTER_PREFIX.length());
|
||||||
path = NewConstants.CACHE_BOOSTER_PICS_DIR;
|
path = ForgeConstants.CACHE_BOOSTER_PICS_DIR;
|
||||||
} else if (key.startsWith(ImageKeys.FATPACK_PREFIX)) {
|
} else if (key.startsWith(ImageKeys.FATPACK_PREFIX)) {
|
||||||
filename = key.substring(ImageKeys.FATPACK_PREFIX.length());
|
filename = key.substring(ImageKeys.FATPACK_PREFIX.length());
|
||||||
path = NewConstants.CACHE_FATPACK_PICS_DIR;
|
path = ForgeConstants.CACHE_FATPACK_PICS_DIR;
|
||||||
} else if (key.startsWith(ImageKeys.PRECON_PREFIX)) {
|
} else if (key.startsWith(ImageKeys.PRECON_PREFIX)) {
|
||||||
filename = key.substring(ImageKeys.PRECON_PREFIX.length());
|
filename = key.substring(ImageKeys.PRECON_PREFIX.length());
|
||||||
path = NewConstants.CACHE_PRECON_PICS_DIR;
|
path = ForgeConstants.CACHE_PRECON_PICS_DIR;
|
||||||
} else if (key.startsWith(ImageKeys.TOURNAMENTPACK_PREFIX)) {
|
} else if (key.startsWith(ImageKeys.TOURNAMENTPACK_PREFIX)) {
|
||||||
filename = key.substring(ImageKeys.TOURNAMENTPACK_PREFIX.length());
|
filename = key.substring(ImageKeys.TOURNAMENTPACK_PREFIX.length());
|
||||||
path = NewConstants.CACHE_TOURNAMENTPACK_PICS_DIR;
|
path = ForgeConstants.CACHE_TOURNAMENTPACK_PICS_DIR;
|
||||||
} else {
|
} else {
|
||||||
filename = key;
|
filename = key;
|
||||||
path = NewConstants.CACHE_CARD_PICS_DIR;
|
path = ForgeConstants.CACHE_CARD_PICS_DIR;
|
||||||
}
|
}
|
||||||
|
|
||||||
BufferedImage ret = _findFile(key, path, filename);
|
BufferedImage ret = _findFile(key, path, filename);
|
||||||
|
|
||||||
// some S00 cards are really part of 6ED
|
// some S00 cards are really part of 6ED
|
||||||
if (null == ret ) {
|
if (null == ret ) {
|
||||||
String s2kAlias = ImageCache.getSetFolder("S00");
|
String s2kAlias = ImageUtil.getSetFolder("S00");
|
||||||
if ( filename.startsWith(s2kAlias) ) {
|
if ( filename.startsWith(s2kAlias) ) {
|
||||||
ret = _findFile(key, path, filename.replace(s2kAlias, ImageCache.getSetFolder("6ED")));
|
ret = _findFile(key, path, filename.replace(s2kAlias, ImageUtil.getSetFolder("6ED")));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -18,10 +18,7 @@
|
|||||||
package forge;
|
package forge;
|
||||||
|
|
||||||
import forge.control.FControl;
|
import forge.control.FControl;
|
||||||
import forge.gui.toolbox.FProgressBar;
|
|
||||||
import forge.gui.workshop.CardScriptInfo;
|
|
||||||
import forge.model.FModel;
|
import forge.model.FModel;
|
||||||
import forge.properties.NewConstants;
|
|
||||||
import forge.view.FView;
|
import forge.view.FView;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -29,10 +26,8 @@ import forge.view.FView;
|
|||||||
*/
|
*/
|
||||||
public final class Singletons {
|
public final class Singletons {
|
||||||
private static boolean initialized = false;
|
private static boolean initialized = false;
|
||||||
private static FModel model = null;
|
|
||||||
private static FView view = null;
|
private static FView view = null;
|
||||||
private static FControl control = null;
|
private static FControl control = null;
|
||||||
private static StaticData magicDb = null;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* IMPORTANT - does not return view frame! Must call
|
* IMPORTANT - does not return view frame! Must call
|
||||||
@@ -40,15 +35,14 @@ public final class Singletons {
|
|||||||
*/
|
*/
|
||||||
public static FView getView() { return view; }
|
public static FView getView() { return view; }
|
||||||
public static FControl getControl() { return control; }
|
public static FControl getControl() { return control; }
|
||||||
public static FModel getModel() { return model; }
|
|
||||||
public static StaticData getMagicDb() { return magicDb; }
|
|
||||||
|
|
||||||
public static void initializeOnce(boolean withUi) {
|
public static void initializeOnce(boolean withUi) {
|
||||||
FThreads.assertExecutedByEdt(false);
|
FThreads.assertExecutedByEdt(false);
|
||||||
|
|
||||||
synchronized (Singletons.class) {
|
synchronized (Singletons.class) {
|
||||||
if(initialized)
|
if (initialized) {
|
||||||
throw new IllegalStateException("Singletons.initializeOnce really cannot be called again");
|
throw new IllegalStateException("Singletons.initializeOnce really cannot be called again");
|
||||||
|
}
|
||||||
initialized = true;
|
initialized = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -56,29 +50,7 @@ public final class Singletons {
|
|||||||
view = FView.SINGLETON_INSTANCE;
|
view = FView.SINGLETON_INSTANCE;
|
||||||
}
|
}
|
||||||
|
|
||||||
CardStorageReader.ProgressObserver progressBarBridge = view == null
|
FModel.initialize(view == null ? null : view.getSplash().getProgressBar());
|
||||||
? CardStorageReader.ProgressObserver.emptyObserver : new CardStorageReader.ProgressObserver() {
|
|
||||||
FProgressBar bar = view.getSplash().getProgressBar();
|
|
||||||
@Override
|
|
||||||
public void setOperationName(final String name, final boolean usePercents) {
|
|
||||||
FThreads.invokeInEdtLater(new Runnable() { @Override public void run() {
|
|
||||||
bar.setDescription(name);
|
|
||||||
bar.setPercentMode(usePercents);
|
|
||||||
} });
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void report(int current, int total) {
|
|
||||||
if ( total != bar.getMaximum())
|
|
||||||
bar.setMaximum(total);
|
|
||||||
bar.setValueThreadSafe(current);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
// Loads all cards (using progress bar).
|
|
||||||
final CardStorageReader reader = new CardStorageReader(NewConstants.CARD_DATA_DIR, progressBarBridge, CardScriptInfo.readerObserver);
|
|
||||||
magicDb = new StaticData(reader, "res/editions", "res/blockdata");
|
|
||||||
model = FModel.getInstance(withUi);
|
|
||||||
|
|
||||||
if (withUi) {
|
if (withUi) {
|
||||||
control = FControl.instance;
|
control = FControl.instance;
|
||||||
@@ -21,8 +21,8 @@ import forge.FThreads;
|
|||||||
import forge.ImageCache;
|
import forge.ImageCache;
|
||||||
import forge.Singletons;
|
import forge.Singletons;
|
||||||
import forge.ai.LobbyPlayerAi;
|
import forge.ai.LobbyPlayerAi;
|
||||||
|
import forge.assets.FSkinProp;
|
||||||
import forge.control.KeyboardShortcuts.Shortcut;
|
import forge.control.KeyboardShortcuts.Shortcut;
|
||||||
import forge.deck.io.DeckPreferences;
|
|
||||||
import forge.game.Game;
|
import forge.game.Game;
|
||||||
import forge.game.GameRules;
|
import forge.game.GameRules;
|
||||||
import forge.game.GameType;
|
import forge.game.GameType;
|
||||||
@@ -31,33 +31,35 @@ import forge.game.card.Card;
|
|||||||
import forge.game.player.LobbyPlayer;
|
import forge.game.player.LobbyPlayer;
|
||||||
import forge.game.player.Player;
|
import forge.game.player.Player;
|
||||||
import forge.game.player.RegisteredPlayer;
|
import forge.game.player.RegisteredPlayer;
|
||||||
import forge.gui.CardPreferences;
|
|
||||||
import forge.gui.GuiDialog;
|
import forge.gui.GuiDialog;
|
||||||
import forge.gui.SOverlayUtils;
|
import forge.gui.SOverlayUtils;
|
||||||
import forge.gui.deckeditor.CDeckEditorUI;
|
|
||||||
import forge.gui.framework.*;
|
import forge.gui.framework.*;
|
||||||
import forge.gui.home.settings.GamePlayerUtil;
|
import forge.player.GamePlayerUtil;
|
||||||
import forge.gui.match.CMatchUI;
|
import forge.player.LobbyPlayerHuman;
|
||||||
import forge.gui.match.VMatchUI;
|
import forge.match.input.InputQueue;
|
||||||
import forge.gui.match.controllers.CDock;
|
import forge.menus.ForgeMenu;
|
||||||
import forge.gui.match.controllers.CLog;
|
import forge.model.FModel;
|
||||||
import forge.gui.match.controllers.CPrompt;
|
|
||||||
import forge.gui.match.controllers.CStack;
|
|
||||||
import forge.gui.match.views.VAntes;
|
|
||||||
import forge.gui.match.views.VField;
|
|
||||||
import forge.gui.menus.ForgeMenu;
|
|
||||||
import forge.gui.player.LobbyPlayerHuman;
|
|
||||||
import forge.gui.toolbox.FOptionPane;
|
|
||||||
import forge.gui.toolbox.FSkin;
|
|
||||||
import forge.gui.toolbox.itemmanager.ItemManagerConfig;
|
|
||||||
import forge.net.FServer;
|
import forge.net.FServer;
|
||||||
import forge.properties.ForgePreferences;
|
import forge.properties.ForgePreferences;
|
||||||
import forge.properties.ForgePreferences.FPref;
|
import forge.properties.ForgePreferences.FPref;
|
||||||
import forge.properties.NewConstants;
|
import forge.properties.ForgeConstants;
|
||||||
import forge.quest.QuestController;
|
import forge.quest.QuestController;
|
||||||
import forge.quest.data.QuestPreferences.QPref;
|
import forge.quest.data.QuestPreferences.QPref;
|
||||||
import forge.quest.io.QuestDataIO;
|
import forge.quest.io.QuestDataIO;
|
||||||
|
import forge.screens.deckeditor.CDeckEditorUI;
|
||||||
|
import forge.screens.match.CMatchUI;
|
||||||
|
import forge.screens.match.VMatchUI;
|
||||||
|
import forge.screens.match.controllers.CDock;
|
||||||
|
import forge.screens.match.controllers.CLog;
|
||||||
|
import forge.screens.match.controllers.CPrompt;
|
||||||
|
import forge.screens.match.controllers.CStack;
|
||||||
|
import forge.screens.match.views.VAntes;
|
||||||
|
import forge.screens.match.views.VDev;
|
||||||
|
import forge.screens.match.views.VField;
|
||||||
import forge.sound.SoundSystem;
|
import forge.sound.SoundSystem;
|
||||||
|
import forge.toolbox.FOptionPane;
|
||||||
|
import forge.toolbox.FSkin;
|
||||||
|
import forge.toolbox.special.PhaseIndicator;
|
||||||
import forge.view.FFrame;
|
import forge.view.FFrame;
|
||||||
import forge.view.FView;
|
import forge.view.FView;
|
||||||
|
|
||||||
@@ -155,7 +157,7 @@ public enum FControl implements KeyEventDispatcher {
|
|||||||
this.closeAction = closeAction0;
|
this.closeAction = closeAction0;
|
||||||
Singletons.getView().getNavigationBar().updateBtnCloseTooltip();
|
Singletons.getView().getNavigationBar().updateBtnCloseTooltip();
|
||||||
|
|
||||||
final ForgePreferences prefs = Singletons.getModel().getPreferences();
|
final ForgePreferences prefs = FModel.getPreferences();
|
||||||
prefs.setPref(FPref.UI_CLOSE_ACTION, closeAction0.toString());
|
prefs.setPref(FPref.UI_CLOSE_ACTION, closeAction0.toString());
|
||||||
prefs.save();
|
prefs.save();
|
||||||
}
|
}
|
||||||
@@ -190,24 +192,20 @@ public enum FControl implements KeyEventDispatcher {
|
|||||||
// Preloads skin components (using progress bar).
|
// Preloads skin components (using progress bar).
|
||||||
FSkin.loadFull(true);
|
FSkin.loadFull(true);
|
||||||
|
|
||||||
CardPreferences.load(NewConstants.CARD_PREFS_FILE);
|
|
||||||
DeckPreferences.load(NewConstants.DECK_PREFS_FILE);
|
|
||||||
ItemManagerConfig.load(NewConstants.ITEM_VIEW_PREFS_FILE);
|
|
||||||
|
|
||||||
this.shortcuts = KeyboardShortcuts.attachKeyboardShortcuts();
|
this.shortcuts = KeyboardShortcuts.attachKeyboardShortcuts();
|
||||||
this.display = FView.SINGLETON_INSTANCE.getLpnDocument();
|
this.display = FView.SINGLETON_INSTANCE.getLpnDocument();
|
||||||
|
|
||||||
final ForgePreferences prefs = Singletons.getModel().getPreferences();
|
final ForgePreferences prefs = FModel.getPreferences();
|
||||||
|
|
||||||
this.closeAction = CloseAction.valueOf(prefs.getPref(FPref.UI_CLOSE_ACTION));
|
this.closeAction = CloseAction.valueOf(prefs.getPref(FPref.UI_CLOSE_ACTION));
|
||||||
|
|
||||||
FView.SINGLETON_INSTANCE.setSplashProgessBarMessage("About to load current quest.");
|
FView.SINGLETON_INSTANCE.setSplashProgessBarMessage("About to load current quest.");
|
||||||
// Preload quest data if present
|
// Preload quest data if present
|
||||||
final File dirQuests = new File(NewConstants.QUEST_SAVE_DIR);
|
final File dirQuests = new File(ForgeConstants.QUEST_SAVE_DIR);
|
||||||
final String questname = Singletons.getModel().getQuestPreferences().getPref(QPref.CURRENT_QUEST);
|
final String questname = FModel.getQuestPreferences().getPref(QPref.CURRENT_QUEST);
|
||||||
final File data = new File(dirQuests.getPath(), questname);
|
final File data = new File(dirQuests.getPath(), questname);
|
||||||
if (data.exists()) {
|
if (data.exists()) {
|
||||||
Singletons.getModel().getQuest().load(QuestDataIO.loadData(data));
|
FModel.getQuest().load(QuestDataIO.loadData(data));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Handles resizing in null layouts of layers in JLayeredPane as well as saving window layout
|
// Handles resizing in null layouts of layers in JLayeredPane as well as saving window layout
|
||||||
@@ -301,7 +299,7 @@ public enum FControl implements KeyEventDispatcher {
|
|||||||
|
|
||||||
if (screen == FScreen.MATCH_SCREEN) {
|
if (screen == FScreen.MATCH_SCREEN) {
|
||||||
if (isMatchBackgroundImageVisible()) {
|
if (isMatchBackgroundImageVisible()) {
|
||||||
FView.SINGLETON_INSTANCE.getPnlInsets().setForegroundImage(FSkin.getIcon(FSkin.Backgrounds.BG_MATCH));
|
FView.SINGLETON_INSTANCE.getPnlInsets().setForegroundImage(FSkin.getIcon(FSkinProp.BG_MATCH));
|
||||||
}
|
}
|
||||||
SOverlayUtils.showTargetingOverlay();
|
SOverlayUtils.showTargetingOverlay();
|
||||||
}
|
}
|
||||||
@@ -311,7 +309,7 @@ public enum FControl implements KeyEventDispatcher {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private boolean isMatchBackgroundImageVisible() {
|
private boolean isMatchBackgroundImageVisible() {
|
||||||
return Singletons.getModel().getPreferences().getPrefBoolean(FPref.UI_MATCH_IMAGE_VISIBLE);
|
return FModel.getPreferences().getPrefBoolean(FPref.UI_MATCH_IMAGE_VISIBLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean ensureScreenActive(FScreen screen) {
|
public boolean ensureScreenActive(FScreen screen) {
|
||||||
@@ -349,13 +347,13 @@ public enum FControl implements KeyEventDispatcher {
|
|||||||
public Player getCurrentPlayer() {
|
public Player getCurrentPlayer() {
|
||||||
// try current priority
|
// try current priority
|
||||||
Player currentPriority = game.getPhaseHandler().getPriorityPlayer();
|
Player currentPriority = game.getPhaseHandler().getPriorityPlayer();
|
||||||
if (null != currentPriority && currentPriority.getLobbyPlayer() == FServer.instance.getLobby().getGuiPlayer()) {
|
if (null != currentPriority && currentPriority.getLobbyPlayer() == FServer.getLobby().getGuiPlayer()) {
|
||||||
return currentPriority;
|
return currentPriority;
|
||||||
}
|
}
|
||||||
|
|
||||||
// otherwise find just any player, belonging to this lobbyplayer
|
// otherwise find just any player, belonging to this lobbyplayer
|
||||||
for (Player p : game.getPlayers()) {
|
for (Player p : game.getPlayers()) {
|
||||||
if (p.getLobbyPlayer() == FServer.instance.getLobby().getGuiPlayer()) {
|
if (p.getLobbyPlayer() == FServer.getLobby().getGuiPlayer()) {
|
||||||
return p;
|
return p;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -385,7 +383,7 @@ public enum FControl implements KeyEventDispatcher {
|
|||||||
public final void stopGame() {
|
public final void stopGame() {
|
||||||
List<Player> pp = new ArrayList<Player>();
|
List<Player> pp = new ArrayList<Player>();
|
||||||
for (Player p : game.getPlayers()) {
|
for (Player p : game.getPlayers()) {
|
||||||
if (p.getOriginalLobbyPlayer() == FServer.instance.getLobby().getGuiPlayer()) {
|
if (p.getOriginalLobbyPlayer() == FServer.getLobby().getGuiPlayer()) {
|
||||||
pp.add(p);
|
pp.add(p);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -400,7 +398,7 @@ public enum FControl implements KeyEventDispatcher {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Player priorityPlayer = game.getPhaseHandler().getPriorityPlayer();
|
Player priorityPlayer = game.getPhaseHandler().getPriorityPlayer();
|
||||||
boolean humanHasPriority = priorityPlayer == null || priorityPlayer.getLobbyPlayer() == FServer.instance.getLobby().getGuiPlayer();
|
boolean humanHasPriority = priorityPlayer == null || priorityPlayer.getLobbyPlayer() == FServer.getLobby().getGuiPlayer();
|
||||||
|
|
||||||
if (hasHuman && humanHasPriority) {
|
if (hasHuman && humanHasPriority) {
|
||||||
game.getAction().checkGameOverCondition();
|
game.getAction().checkGameOverCondition();
|
||||||
@@ -446,11 +444,11 @@ public enum FControl implements KeyEventDispatcher {
|
|||||||
this.game = null;
|
this.game = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
private final FControlGameEventHandler fcVisitor = new FControlGameEventHandler(this);
|
private final FControlGameEventHandler fcVisitor = new FControlGameEventHandler();
|
||||||
private final FControlGamePlayback playbackControl = new FControlGamePlayback(this);
|
private final FControlGamePlayback playbackControl = new FControlGamePlayback();
|
||||||
private void attachToGame(Game game0) {
|
private void attachToGame(Game game0) {
|
||||||
if (game0.getRules().getGameType() == GameType.Quest) {
|
if (game0.getRules().getGameType() == GameType.Quest) {
|
||||||
QuestController qc = Singletons.getModel().getQuest();
|
QuestController qc = FModel.getQuest();
|
||||||
// Reset new list when the Match round starts, not when each game starts
|
// Reset new list when the Match round starts, not when each game starts
|
||||||
if (game0.getMatch().getPlayedGames().isEmpty()) {
|
if (game0.getMatch().getPlayedGames().isEmpty()) {
|
||||||
qc.getCards().resetNewList();
|
qc.getCards().resetNewList();
|
||||||
@@ -463,14 +461,14 @@ public enum FControl implements KeyEventDispatcher {
|
|||||||
this.game = game0;
|
this.game = game0;
|
||||||
game.subscribeToEvents(Singletons.getControl().getSoundSystem());
|
game.subscribeToEvents(Singletons.getControl().getSoundSystem());
|
||||||
|
|
||||||
LobbyPlayer humanLobbyPlayer = FServer.instance.getLobby().getGuiPlayer();
|
LobbyPlayer humanLobbyPlayer = FServer.getLobby().getGuiPlayer();
|
||||||
// The UI controls should use these game data as models
|
// The UI controls should use these game data as models
|
||||||
CMatchUI.SINGLETON_INSTANCE.initMatch(game.getRegisteredPlayers(), humanLobbyPlayer);
|
CMatchUI.SINGLETON_INSTANCE.initMatch(game.getRegisteredPlayers(), humanLobbyPlayer);
|
||||||
CDock.SINGLETON_INSTANCE.setModel(game, humanLobbyPlayer);
|
CDock.SINGLETON_INSTANCE.setModel(game, humanLobbyPlayer);
|
||||||
CStack.SINGLETON_INSTANCE.setModel(game.getStack(), humanLobbyPlayer);
|
CStack.SINGLETON_INSTANCE.setModel(game.getStack(), humanLobbyPlayer);
|
||||||
CLog.SINGLETON_INSTANCE.setModel(game.getGameLog());
|
CLog.SINGLETON_INSTANCE.setModel(game.getGameLog());
|
||||||
|
|
||||||
Singletons.getModel().getPreferences().actuateMatchPreferences();
|
actuateMatchPreferences();
|
||||||
VAntes.SINGLETON_INSTANCE.setModel(game.getRegisteredPlayers());
|
VAntes.SINGLETON_INSTANCE.setModel(game.getRegisteredPlayers());
|
||||||
|
|
||||||
setCurrentScreen(FScreen.MATCH_SCREEN);
|
setCurrentScreen(FScreen.MATCH_SCREEN);
|
||||||
@@ -484,7 +482,7 @@ public enum FControl implements KeyEventDispatcher {
|
|||||||
// Add playback controls to match if needed
|
// Add playback controls to match if needed
|
||||||
gameHasHumanPlayer = false;
|
gameHasHumanPlayer = false;
|
||||||
for (Player p : game.getPlayers()) {
|
for (Player p : game.getPlayers()) {
|
||||||
if (p.getController().getLobbyPlayer() == FServer.instance.getLobby().getGuiPlayer())
|
if (p.getController().getLobbyPlayer() == FServer.getLobby().getGuiPlayer())
|
||||||
gameHasHumanPlayer = true;
|
gameHasHumanPlayer = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -492,8 +490,6 @@ public enum FControl implements KeyEventDispatcher {
|
|||||||
game.subscribeToEvents(playbackControl);
|
game.subscribeToEvents(playbackControl);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
for (final VField field : VMatchUI.SINGLETON_INSTANCE.getFieldViews()) {
|
for (final VField field : VMatchUI.SINGLETON_INSTANCE.getFieldViews()) {
|
||||||
field.getDetailsPanel().getLblLibrary().setHoverable(ForgePreferences.DEV_MODE);
|
field.getDetailsPanel().getLblLibrary().setHoverable(ForgePreferences.DEV_MODE);
|
||||||
}
|
}
|
||||||
@@ -545,7 +541,7 @@ public enum FControl implements KeyEventDispatcher {
|
|||||||
* PLAYER_NAME setting is blank. Does not apply to a hotseat game.
|
* PLAYER_NAME setting is blank. Does not apply to a hotseat game.
|
||||||
*/
|
*/
|
||||||
private void setPlayerName(List<RegisteredPlayer> players) {
|
private void setPlayerName(List<RegisteredPlayer> players) {
|
||||||
final ForgePreferences prefs = Singletons.getModel().getPreferences();
|
final ForgePreferences prefs = FModel.getPreferences();
|
||||||
if (StringUtils.isBlank(prefs.getPref(FPref.PLAYER_NAME))) {
|
if (StringUtils.isBlank(prefs.getPref(FPref.PLAYER_NAME))) {
|
||||||
boolean isPlayerOneHuman = players.get(0).getPlayer() instanceof LobbyPlayerHuman;
|
boolean isPlayerOneHuman = players.get(0).getPlayer() instanceof LobbyPlayerHuman;
|
||||||
boolean isPlayerTwoComputer = players.get(1).getPlayer() instanceof LobbyPlayerAi;
|
boolean isPlayerTwoComputer = players.get(1).getPlayer() instanceof LobbyPlayerAi;
|
||||||
@@ -560,7 +556,7 @@ public enum FControl implements KeyEventDispatcher {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void startMatch(GameType gameType, List<GameType> appliedVariants, List<RegisteredPlayer> players) {
|
public void startMatch(GameType gameType, List<GameType> appliedVariants, List<RegisteredPlayer> players) {
|
||||||
boolean useRandomFoil = Singletons.getModel().getPreferences().getPrefBoolean(FPref.UI_RANDOM_FOIL);
|
boolean useRandomFoil = FModel.getPreferences().getPrefBoolean(FPref.UI_RANDOM_FOIL);
|
||||||
for(RegisteredPlayer rp : players) {
|
for(RegisteredPlayer rp : players) {
|
||||||
rp.setRandomFoil(useRandomFoil);
|
rp.setRandomFoil(useRandomFoil);
|
||||||
}
|
}
|
||||||
@@ -568,9 +564,9 @@ public enum FControl implements KeyEventDispatcher {
|
|||||||
GameRules rules = new GameRules(gameType);
|
GameRules rules = new GameRules(gameType);
|
||||||
if (null != appliedVariants && !appliedVariants.isEmpty())
|
if (null != appliedVariants && !appliedVariants.isEmpty())
|
||||||
rules.setAppliedVariants(appliedVariants);
|
rules.setAppliedVariants(appliedVariants);
|
||||||
rules.setPlayForAnte(Singletons.getModel().getPreferences().getPrefBoolean(FPref.UI_ANTE));
|
rules.setPlayForAnte(FModel.getPreferences().getPrefBoolean(FPref.UI_ANTE));
|
||||||
rules.setManaBurn(Singletons.getModel().getPreferences().getPrefBoolean(FPref.UI_MANABURN));
|
rules.setManaBurn(FModel.getPreferences().getPrefBoolean(FPref.UI_MANABURN));
|
||||||
rules.canCloneUseTargetsImage = Singletons.getModel().getPreferences().getPrefBoolean(FPref.UI_CLONE_MODE_SOURCE);
|
rules.canCloneUseTargetsImage = FModel.getPreferences().getPrefBoolean(FPref.UI_CLONE_MODE_SOURCE);
|
||||||
|
|
||||||
final Match mc = new Match(rules, players);
|
final Match mc = new Match(rules, players);
|
||||||
SOverlayUtils.startGameOverlay();
|
SOverlayUtils.startGameOverlay();
|
||||||
@@ -583,5 +579,95 @@ public enum FControl implements KeyEventDispatcher {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO: Needs to be reworked for efficiency with rest of prefs saves in
|
||||||
|
* codebase.
|
||||||
|
*/
|
||||||
|
public void writeMatchPreferences() {
|
||||||
|
final ForgePreferences prefs = FModel.getPreferences();
|
||||||
|
final List<VField> fieldViews = VMatchUI.SINGLETON_INSTANCE.getFieldViews();
|
||||||
|
|
||||||
|
// AI field is at index [1]
|
||||||
|
PhaseIndicator fvAi = fieldViews.get(1).getPhaseIndicator();
|
||||||
|
prefs.setPref(FPref.PHASE_AI_UPKEEP, String.valueOf(fvAi.getLblUpkeep().getEnabled()));
|
||||||
|
prefs.setPref(FPref.PHASE_AI_DRAW, String.valueOf(fvAi.getLblDraw().getEnabled()));
|
||||||
|
prefs.setPref(FPref.PHASE_AI_MAIN1, String.valueOf(fvAi.getLblMain1().getEnabled()));
|
||||||
|
prefs.setPref(FPref.PHASE_AI_BEGINCOMBAT, String.valueOf(fvAi.getLblBeginCombat().getEnabled()));
|
||||||
|
prefs.setPref(FPref.PHASE_AI_DECLAREATTACKERS, String.valueOf(fvAi.getLblDeclareAttackers().getEnabled()));
|
||||||
|
prefs.setPref(FPref.PHASE_AI_DECLAREBLOCKERS, String.valueOf(fvAi.getLblDeclareBlockers().getEnabled()));
|
||||||
|
prefs.setPref(FPref.PHASE_AI_FIRSTSTRIKE, String.valueOf(fvAi.getLblFirstStrike().getEnabled()));
|
||||||
|
prefs.setPref(FPref.PHASE_AI_COMBATDAMAGE, String.valueOf(fvAi.getLblCombatDamage().getEnabled()));
|
||||||
|
prefs.setPref(FPref.PHASE_AI_ENDCOMBAT, String.valueOf(fvAi.getLblEndCombat().getEnabled()));
|
||||||
|
prefs.setPref(FPref.PHASE_AI_MAIN2, String.valueOf(fvAi.getLblMain2().getEnabled()));
|
||||||
|
prefs.setPref(FPref.PHASE_AI_EOT, String.valueOf(fvAi.getLblEndTurn().getEnabled()));
|
||||||
|
prefs.setPref(FPref.PHASE_AI_CLEANUP, String.valueOf(fvAi.getLblCleanup().getEnabled()));
|
||||||
|
|
||||||
|
// Human field is at index [0]
|
||||||
|
PhaseIndicator fvHuman = fieldViews.get(0).getPhaseIndicator();
|
||||||
|
prefs.setPref(FPref.PHASE_HUMAN_UPKEEP, String.valueOf(fvHuman.getLblUpkeep().getEnabled()));
|
||||||
|
prefs.setPref(FPref.PHASE_HUMAN_DRAW, String.valueOf(fvHuman.getLblDraw().getEnabled()));
|
||||||
|
prefs.setPref(FPref.PHASE_HUMAN_MAIN1, String.valueOf(fvHuman.getLblMain1().getEnabled()));
|
||||||
|
prefs.setPref(FPref.PHASE_HUMAN_BEGINCOMBAT, String.valueOf(fvHuman.getLblBeginCombat().getEnabled()));
|
||||||
|
prefs.setPref(FPref.PHASE_HUMAN_DECLAREATTACKERS, String.valueOf(fvHuman.getLblDeclareAttackers().getEnabled()));
|
||||||
|
prefs.setPref(FPref.PHASE_HUMAN_DECLAREBLOCKERS, String.valueOf(fvHuman.getLblDeclareBlockers().getEnabled()));
|
||||||
|
prefs.setPref(FPref.PHASE_HUMAN_FIRSTSTRIKE, String.valueOf(fvHuman.getLblFirstStrike().getEnabled()));
|
||||||
|
prefs.setPref(FPref.PHASE_HUMAN_COMBATDAMAGE, String.valueOf(fvHuman.getLblCombatDamage().getEnabled()));
|
||||||
|
prefs.setPref(FPref.PHASE_HUMAN_ENDCOMBAT, String.valueOf(fvHuman.getLblEndCombat().getEnabled()));
|
||||||
|
prefs.setPref(FPref.PHASE_HUMAN_MAIN2, String.valueOf(fvHuman.getLblMain2().getEnabled()));
|
||||||
|
prefs.setPref(FPref.PHASE_HUMAN_EOT, fvHuman.getLblEndTurn().getEnabled());
|
||||||
|
prefs.setPref(FPref.PHASE_HUMAN_CLEANUP, fvHuman.getLblCleanup().getEnabled());
|
||||||
|
|
||||||
|
final VDev v = VDev.SINGLETON_INSTANCE;
|
||||||
|
|
||||||
|
// prefs.setPref(FPref.DEV_MILLING_LOSS, v.getLblMilling().getEnabled());
|
||||||
|
prefs.setPref(FPref.DEV_UNLIMITED_LAND, v.getLblUnlimitedLands().getEnabled());
|
||||||
|
|
||||||
|
prefs.save();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO: Needs to be reworked for efficiency with rest of prefs saves in
|
||||||
|
* codebase.
|
||||||
|
*/
|
||||||
|
public void actuateMatchPreferences() {
|
||||||
|
final ForgePreferences prefs = FModel.getPreferences();
|
||||||
|
final List<VField> fieldViews = VMatchUI.SINGLETON_INSTANCE.getFieldViews();
|
||||||
|
|
||||||
|
ForgePreferences.DEV_MODE = prefs.getPrefBoolean(FPref.DEV_MODE_ENABLED);
|
||||||
|
ForgePreferences.UPLOAD_DRAFT = ForgePreferences.NET_CONN; // && prefs.getPrefBoolean(FPref.UI_UPLOAD_DRAFT);
|
||||||
|
|
||||||
|
// AI field is at index [0]
|
||||||
|
PhaseIndicator fvAi = fieldViews.get(1).getPhaseIndicator();
|
||||||
|
fvAi.getLblUpkeep().setEnabled(prefs.getPrefBoolean(FPref.PHASE_AI_UPKEEP));
|
||||||
|
fvAi.getLblDraw().setEnabled(prefs.getPrefBoolean(FPref.PHASE_AI_DRAW));
|
||||||
|
fvAi.getLblMain1().setEnabled(prefs.getPrefBoolean(FPref.PHASE_AI_MAIN1));
|
||||||
|
fvAi.getLblBeginCombat().setEnabled(prefs.getPrefBoolean(FPref.PHASE_AI_BEGINCOMBAT));
|
||||||
|
fvAi.getLblDeclareAttackers().setEnabled(prefs.getPrefBoolean(FPref.PHASE_AI_DECLAREATTACKERS));
|
||||||
|
fvAi.getLblDeclareBlockers().setEnabled(prefs.getPrefBoolean(FPref.PHASE_AI_DECLAREBLOCKERS));
|
||||||
|
fvAi.getLblFirstStrike().setEnabled(prefs.getPrefBoolean(FPref.PHASE_AI_FIRSTSTRIKE));
|
||||||
|
fvAi.getLblCombatDamage().setEnabled(prefs.getPrefBoolean(FPref.PHASE_AI_COMBATDAMAGE));
|
||||||
|
fvAi.getLblEndCombat().setEnabled(prefs.getPrefBoolean(FPref.PHASE_AI_ENDCOMBAT));
|
||||||
|
fvAi.getLblMain2().setEnabled(prefs.getPrefBoolean(FPref.PHASE_AI_MAIN2));
|
||||||
|
fvAi.getLblEndTurn().setEnabled(prefs.getPrefBoolean(FPref.PHASE_AI_EOT));
|
||||||
|
fvAi.getLblCleanup().setEnabled(prefs.getPrefBoolean(FPref.PHASE_AI_CLEANUP));
|
||||||
|
|
||||||
|
// Human field is at index [1]
|
||||||
|
PhaseIndicator fvHuman = fieldViews.get(0).getPhaseIndicator();
|
||||||
|
fvHuman.getLblUpkeep().setEnabled(prefs.getPrefBoolean(FPref.PHASE_HUMAN_UPKEEP));
|
||||||
|
fvHuman.getLblDraw().setEnabled(prefs.getPrefBoolean(FPref.PHASE_HUMAN_DRAW));
|
||||||
|
fvHuman.getLblMain1().setEnabled(prefs.getPrefBoolean(FPref.PHASE_HUMAN_MAIN1));
|
||||||
|
fvHuman.getLblBeginCombat().setEnabled(prefs.getPrefBoolean(FPref.PHASE_HUMAN_BEGINCOMBAT));
|
||||||
|
fvHuman.getLblDeclareAttackers().setEnabled(prefs.getPrefBoolean(FPref.PHASE_HUMAN_DECLAREATTACKERS));
|
||||||
|
fvHuman.getLblDeclareBlockers().setEnabled(prefs.getPrefBoolean(FPref.PHASE_HUMAN_DECLAREBLOCKERS));
|
||||||
|
fvHuman.getLblFirstStrike().setEnabled(prefs.getPrefBoolean(FPref.PHASE_HUMAN_FIRSTSTRIKE));
|
||||||
|
fvHuman.getLblCombatDamage().setEnabled(prefs.getPrefBoolean(FPref.PHASE_HUMAN_COMBATDAMAGE));
|
||||||
|
fvHuman.getLblEndCombat().setEnabled(prefs.getPrefBoolean(FPref.PHASE_HUMAN_ENDCOMBAT));
|
||||||
|
fvHuman.getLblMain2().setEnabled(prefs.getPrefBoolean(FPref.PHASE_HUMAN_MAIN2));
|
||||||
|
fvHuman.getLblEndTurn().setEnabled(prefs.getPrefBoolean(FPref.PHASE_HUMAN_EOT));
|
||||||
|
fvHuman.getLblCleanup().setEnabled(prefs.getPrefBoolean(FPref.PHASE_HUMAN_CLEANUP));
|
||||||
|
|
||||||
|
//Singletons.getView().getViewMatch().setLayoutParams(prefs.getPref(FPref.UI_LAYOUT_PARAMS));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -4,13 +4,16 @@ import forge.Singletons;
|
|||||||
import forge.gui.framework.EDocID;
|
import forge.gui.framework.EDocID;
|
||||||
import forge.gui.framework.FScreen;
|
import forge.gui.framework.FScreen;
|
||||||
import forge.gui.framework.SDisplayUtil;
|
import forge.gui.framework.SDisplayUtil;
|
||||||
import forge.gui.home.settings.VSubmenuPreferences.KeyboardShortcutField;
|
import forge.model.FModel;
|
||||||
import forge.gui.match.CMatchUI;
|
|
||||||
import forge.gui.match.controllers.CDock;
|
|
||||||
import forge.properties.ForgePreferences.FPref;
|
import forge.properties.ForgePreferences.FPref;
|
||||||
|
import forge.screens.home.settings.VSubmenuPreferences.KeyboardShortcutField;
|
||||||
|
import forge.screens.match.CMatchUI;
|
||||||
|
import forge.screens.match.controllers.CDock;
|
||||||
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
|
|
||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
import java.awt.event.InputEvent;
|
import java.awt.event.InputEvent;
|
||||||
import java.awt.event.KeyEvent;
|
import java.awt.event.KeyEvent;
|
||||||
@@ -82,7 +85,7 @@ public class KeyboardShortcuts {
|
|||||||
@Override
|
@Override
|
||||||
public void actionPerformed(final ActionEvent e) {
|
public void actionPerformed(final ActionEvent e) {
|
||||||
if (Singletons.getControl().getCurrentScreen() != FScreen.MATCH_SCREEN) { return; }
|
if (Singletons.getControl().getCurrentScreen() != FScreen.MATCH_SCREEN) { return; }
|
||||||
if (Singletons.getModel().getPreferences().getPrefBoolean(FPref.DEV_MODE_ENABLED)) {
|
if (FModel.getPreferences().getPrefBoolean(FPref.DEV_MODE_ENABLED)) {
|
||||||
SDisplayUtil.showTab(EDocID.DEV_MODE.getDoc());
|
SDisplayUtil.showTab(EDocID.DEV_MODE.getDoc());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -197,7 +200,7 @@ public class KeyboardShortcuts {
|
|||||||
/** */
|
/** */
|
||||||
public void attach() {
|
public void attach() {
|
||||||
detach();
|
detach();
|
||||||
str = Singletons.getModel().getPreferences().getPref(prefkeys);
|
str = FModel.getPreferences().getPref(prefkeys);
|
||||||
if (!str.isEmpty()) {
|
if (!str.isEmpty()) {
|
||||||
key = assembleKeystrokes(str.split(" "));
|
key = assembleKeystrokes(str.split(" "));
|
||||||
|
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
/** Controller (as in model-view-controller) for Forge. */
|
||||||
|
package forge.control;
|
||||||
|
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
package forge.gui.deckchooser;
|
package forge.deckchooser;
|
||||||
|
|
||||||
|
import forge.deck.DeckType;
|
||||||
import forge.gui.MouseUtil;
|
import forge.gui.MouseUtil;
|
||||||
import forge.gui.deckchooser.DecksComboBox.DeckType;
|
import forge.toolbox.FComboBoxWrapper;
|
||||||
import forge.gui.toolbox.FComboBox.TextAlignment;
|
import forge.toolbox.FSkin;
|
||||||
import forge.gui.toolbox.FComboBoxWrapper;
|
import forge.toolbox.FComboBox.TextAlignment;
|
||||||
import forge.gui.toolbox.FSkin;
|
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
|
|
||||||
@@ -15,32 +15,6 @@ import java.util.ArrayList;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class DecksComboBox extends FComboBoxWrapper<DeckType> {
|
public class DecksComboBox extends FComboBoxWrapper<DeckType> {
|
||||||
|
|
||||||
public enum DeckType {
|
|
||||||
CUSTOM_DECK ("Custom User Decks"),
|
|
||||||
PRECONSTRUCTED_DECK("Preconstructed Decks"),
|
|
||||||
QUEST_OPPONENT_DECK ("Quest Opponent Decks"),
|
|
||||||
COLOR_DECK ("Random Color Decks"),
|
|
||||||
THEME_DECK ("Random Theme Decks");
|
|
||||||
|
|
||||||
private String value;
|
|
||||||
private DeckType(String value) {
|
|
||||||
this.value = value;
|
|
||||||
}
|
|
||||||
@Override
|
|
||||||
public String toString() {
|
|
||||||
return value;
|
|
||||||
}
|
|
||||||
public static DeckType fromString(String value){
|
|
||||||
for (final DeckType d : DeckType.values()) {
|
|
||||||
if (d.toString().equalsIgnoreCase(value)) {
|
|
||||||
return d;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
throw new IllegalArgumentException("No Enum specified for this string");
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
private List<IDecksComboBoxListener> _listeners = new ArrayList<>();
|
private List<IDecksComboBoxListener> _listeners = new ArrayList<>();
|
||||||
private DeckType selectedDeckType = null;
|
private DeckType selectedDeckType = null;
|
||||||
|
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
package forge.deckchooser;
|
||||||
|
|
||||||
|
import java.util.EventObject;
|
||||||
|
|
||||||
|
import forge.deck.DeckType;
|
||||||
|
|
||||||
|
@SuppressWarnings("serial")
|
||||||
|
public class DecksComboBoxEvent extends EventObject {
|
||||||
|
private final DeckType deckType;
|
||||||
|
|
||||||
|
public DecksComboBoxEvent(Object source, DeckType deckType0) {
|
||||||
|
super(source);
|
||||||
|
deckType = deckType0;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DeckType getDeckType() {
|
||||||
|
return deckType;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,22 +1,23 @@
|
|||||||
package forge.gui.deckchooser;
|
package forge.deckchooser;
|
||||||
|
|
||||||
import forge.UiCommand;
|
import forge.UiCommand;
|
||||||
import forge.Singletons;
|
|
||||||
import forge.deck.Deck;
|
import forge.deck.Deck;
|
||||||
|
import forge.deck.DeckProxy;
|
||||||
|
import forge.deck.DeckType;
|
||||||
|
import forge.deck.DeckgenUtil;
|
||||||
import forge.game.GameType;
|
import forge.game.GameType;
|
||||||
import forge.game.player.RegisteredPlayer;
|
import forge.game.player.RegisteredPlayer;
|
||||||
import forge.gui.deckchooser.DecksComboBox.DeckType;
|
import forge.itemmanager.DeckManager;
|
||||||
import forge.gui.deckeditor.DeckProxy;
|
import forge.itemmanager.ItemManagerConfig;
|
||||||
import forge.gui.toolbox.FLabel;
|
import forge.itemmanager.ItemManagerContainer;
|
||||||
import forge.gui.toolbox.itemmanager.DeckManager;
|
import forge.model.FModel;
|
||||||
import forge.gui.toolbox.itemmanager.ItemManagerConfig;
|
|
||||||
import forge.gui.toolbox.itemmanager.ItemManagerContainer;
|
|
||||||
import forge.properties.ForgePreferences;
|
import forge.properties.ForgePreferences;
|
||||||
import forge.properties.ForgePreferences.FPref;
|
import forge.properties.ForgePreferences.FPref;
|
||||||
import forge.quest.QuestController;
|
import forge.quest.QuestController;
|
||||||
import forge.quest.QuestEvent;
|
import forge.quest.QuestEvent;
|
||||||
import forge.quest.QuestEventChallenge;
|
import forge.quest.QuestEventChallenge;
|
||||||
import forge.quest.QuestUtil;
|
import forge.quest.QuestUtil;
|
||||||
|
import forge.toolbox.FLabel;
|
||||||
import net.miginfocom.swing.MigLayout;
|
import net.miginfocom.swing.MigLayout;
|
||||||
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
@@ -39,7 +40,7 @@ public class FDeckChooser extends JPanel implements IDecksComboBoxListener {
|
|||||||
|
|
||||||
private boolean isAi;
|
private boolean isAi;
|
||||||
|
|
||||||
private final ForgePreferences prefs = Singletons.getModel().getPreferences();
|
private final ForgePreferences prefs = FModel.getPreferences();
|
||||||
private FPref stateSetting = null;
|
private FPref stateSetting = null;
|
||||||
|
|
||||||
public FDeckChooser(boolean forAi) {
|
public FDeckChooser(boolean forAi) {
|
||||||
@@ -78,7 +79,7 @@ public class FDeckChooser extends JPanel implements IDecksComboBoxListener {
|
|||||||
private void updateCustom() {
|
private void updateCustom() {
|
||||||
lstDecks.setAllowMultipleSelections(false);
|
lstDecks.setAllowMultipleSelections(false);
|
||||||
|
|
||||||
lstDecks.setPool(DeckProxy.getAllConstructedDecks(Singletons.getModel().getDecks().getConstructed()));
|
lstDecks.setPool(DeckProxy.getAllConstructedDecks(FModel.getDecks().getConstructed()));
|
||||||
lstDecks.setup(ItemManagerConfig.CONSTRUCTED_DECKS);
|
lstDecks.setup(ItemManagerConfig.CONSTRUCTED_DECKS);
|
||||||
|
|
||||||
btnRandom.setText("Random Deck");
|
btnRandom.setText("Random Deck");
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package forge.gui.deckchooser;
|
package forge.deckchooser;
|
||||||
|
|
||||||
import forge.deck.CardPool;
|
import forge.deck.CardPool;
|
||||||
import forge.deck.Deck;
|
import forge.deck.Deck;
|
||||||
@@ -6,14 +6,14 @@ import forge.deck.DeckSection;
|
|||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.gui.CardDetailPanel;
|
import forge.gui.CardDetailPanel;
|
||||||
import forge.gui.CardPicturePanel;
|
import forge.gui.CardPicturePanel;
|
||||||
import forge.gui.toolbox.FButton;
|
|
||||||
import forge.gui.toolbox.FOptionPane;
|
|
||||||
import forge.gui.toolbox.itemmanager.CardManager;
|
|
||||||
import forge.gui.toolbox.itemmanager.ItemManagerConfig;
|
|
||||||
import forge.gui.toolbox.itemmanager.ItemManagerContainer;
|
|
||||||
import forge.gui.toolbox.itemmanager.ItemManagerModel;
|
|
||||||
import forge.gui.toolbox.itemmanager.views.*;
|
|
||||||
import forge.item.PaperCard;
|
import forge.item.PaperCard;
|
||||||
|
import forge.itemmanager.CardManager;
|
||||||
|
import forge.itemmanager.ItemManagerConfig;
|
||||||
|
import forge.itemmanager.ItemManagerContainer;
|
||||||
|
import forge.itemmanager.ItemManagerModel;
|
||||||
|
import forge.itemmanager.views.*;
|
||||||
|
import forge.toolbox.FButton;
|
||||||
|
import forge.toolbox.FOptionPane;
|
||||||
import forge.view.FDialog;
|
import forge.view.FDialog;
|
||||||
import net.miginfocom.swing.MigLayout;
|
import net.miginfocom.swing.MigLayout;
|
||||||
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package forge.gui.deckchooser;
|
package forge.deckchooser;
|
||||||
|
|
||||||
public interface IDecksComboBoxListener {
|
public interface IDecksComboBoxListener {
|
||||||
public void deckTypeSelected(DecksComboBoxEvent ev);
|
public void deckTypeSelected(DecksComboBoxEvent ev);
|
||||||
@@ -15,13 +15,14 @@
|
|||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
package forge.gui.download;
|
package forge.download;
|
||||||
|
|
||||||
import forge.ImageCache;
|
import forge.assets.ImageUtil;
|
||||||
import forge.Singletons;
|
|
||||||
import forge.card.CardRules;
|
import forge.card.CardRules;
|
||||||
import forge.item.PaperCard;
|
import forge.item.PaperCard;
|
||||||
import forge.properties.NewConstants;
|
import forge.model.FModel;
|
||||||
|
import forge.properties.ForgeConstants;
|
||||||
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
@@ -38,18 +39,19 @@ public class GuiDownloadPicturesLQ extends GuiDownloader {
|
|||||||
protected final Map<String, String> getNeededImages() {
|
protected final Map<String, String> getNeededImages() {
|
||||||
Map<String, String> downloads = new TreeMap<String, String>(String.CASE_INSENSITIVE_ORDER);
|
Map<String, String> downloads = new TreeMap<String, String>(String.CASE_INSENSITIVE_ORDER);
|
||||||
|
|
||||||
for (PaperCard c : Singletons.getMagicDb().getCommonCards().getAllCards()) {
|
for (PaperCard c : FModel.getMagicDb().getCommonCards().getAllCards()) {
|
||||||
addDLObject(c, downloads, false);
|
addDLObject(c, downloads, false);
|
||||||
if (ImageCache.hasBackFacePicture(c))
|
if (ImageUtil.hasBackFacePicture(c)) {
|
||||||
addDLObject(c, downloads, true);
|
addDLObject(c, downloads, true);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
for (PaperCard c : Singletons.getMagicDb().getVariantCards().getAllCards()) {
|
for (PaperCard c : FModel.getMagicDb().getVariantCards().getAllCards()) {
|
||||||
addDLObject(c, downloads, false);
|
addDLObject(c, downloads, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add missing tokens to the list of things to download.
|
// Add missing tokens to the list of things to download.
|
||||||
addMissingItems(downloads, NewConstants.IMAGE_LIST_TOKENS_FILE, NewConstants.CACHE_TOKEN_PICS_DIR);
|
addMissingItems(downloads, ForgeConstants.IMAGE_LIST_TOKENS_FILE, ForgeConstants.CACHE_TOKEN_PICS_DIR);
|
||||||
|
|
||||||
return downloads;
|
return downloads;
|
||||||
}
|
}
|
||||||
@@ -61,8 +63,8 @@ public class GuiDownloadPicturesLQ extends GuiDownloader {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
String filename = ImageCache.getImageKey(c, backFace, false);
|
String filename = ImageUtil.getImageKey(c, backFace, false);
|
||||||
File destFile = new File(NewConstants.CACHE_CARD_PICS_DIR, filename + ".jpg");
|
File destFile = new File(ForgeConstants.CACHE_CARD_PICS_DIR, filename + ".jpg");
|
||||||
if (destFile.exists())
|
if (destFile.exists())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@@ -15,9 +15,9 @@
|
|||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
package forge.gui.download;
|
package forge.download;
|
||||||
|
|
||||||
import forge.properties.NewConstants;
|
import forge.properties.ForgeConstants;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@@ -31,7 +31,7 @@ public class GuiDownloadPrices extends GuiDownloader {
|
|||||||
@Override
|
@Override
|
||||||
protected Map<String, String> getNeededImages() {
|
protected Map<String, String> getNeededImages() {
|
||||||
Map<String, String> result = new HashMap<String, String>();
|
Map<String, String> result = new HashMap<String, String>();
|
||||||
result.put(NewConstants.QUEST_CARD_PRICE_FILE, NewConstants.URL_PRICE_DOWNLOAD);
|
result.put(ForgeConstants.QUEST_CARD_PRICE_FILE, ForgeConstants.URL_PRICE_DOWNLOAD);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -15,9 +15,9 @@
|
|||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
package forge.gui.download;
|
package forge.download;
|
||||||
|
|
||||||
import forge.properties.NewConstants;
|
import forge.properties.ForgeConstants;
|
||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.TreeMap;
|
import java.util.TreeMap;
|
||||||
@@ -39,20 +39,20 @@ public class GuiDownloadQuestImages extends GuiDownloader {
|
|||||||
* getNeededCards.
|
* getNeededCards.
|
||||||
* </p>
|
* </p>
|
||||||
*
|
*
|
||||||
* @return an array of {@link forge.gui.download.GuiDownloadSetPicturesLQ} objects.
|
* @return an array of {@link forge.download.GuiDownloadSetPicturesLQ} objects.
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
protected final Map<String, String> getNeededImages() {
|
protected final Map<String, String> getNeededImages() {
|
||||||
// read all card names and urls
|
// read all card names and urls
|
||||||
final Map<String, String> urls = new TreeMap<String, String>(String.CASE_INSENSITIVE_ORDER);
|
final Map<String, String> urls = new TreeMap<String, String>(String.CASE_INSENSITIVE_ORDER);
|
||||||
|
|
||||||
addMissingItems(urls, NewConstants.IMAGE_LIST_QUEST_OPPONENT_ICONS_FILE, NewConstants.CACHE_ICON_PICS_DIR);
|
addMissingItems(urls, ForgeConstants.IMAGE_LIST_QUEST_OPPONENT_ICONS_FILE, ForgeConstants.CACHE_ICON_PICS_DIR);
|
||||||
addMissingItems(urls, NewConstants.IMAGE_LIST_QUEST_PET_SHOP_ICONS_FILE, NewConstants.CACHE_ICON_PICS_DIR);
|
addMissingItems(urls, ForgeConstants.IMAGE_LIST_QUEST_PET_SHOP_ICONS_FILE, ForgeConstants.CACHE_ICON_PICS_DIR);
|
||||||
addMissingItems(urls, NewConstants.IMAGE_LIST_QUEST_BOOSTERS_FILE, NewConstants.CACHE_BOOSTER_PICS_DIR);
|
addMissingItems(urls, ForgeConstants.IMAGE_LIST_QUEST_BOOSTERS_FILE, ForgeConstants.CACHE_BOOSTER_PICS_DIR);
|
||||||
addMissingItems(urls, NewConstants.IMAGE_LIST_QUEST_FATPACKS_FILE, NewConstants.CACHE_FATPACK_PICS_DIR);
|
addMissingItems(urls, ForgeConstants.IMAGE_LIST_QUEST_FATPACKS_FILE, ForgeConstants.CACHE_FATPACK_PICS_DIR);
|
||||||
addMissingItems(urls, NewConstants.IMAGE_LIST_QUEST_PRECONS_FILE, NewConstants.CACHE_PRECON_PICS_DIR);
|
addMissingItems(urls, ForgeConstants.IMAGE_LIST_QUEST_PRECONS_FILE, ForgeConstants.CACHE_PRECON_PICS_DIR);
|
||||||
addMissingItems(urls, NewConstants.IMAGE_LIST_QUEST_TOURNAMENTPACKS_FILE, NewConstants.CACHE_TOURNAMENTPACK_PICS_DIR);
|
addMissingItems(urls, ForgeConstants.IMAGE_LIST_QUEST_TOURNAMENTPACKS_FILE, ForgeConstants.CACHE_TOURNAMENTPACK_PICS_DIR);
|
||||||
addMissingItems(urls, NewConstants.IMAGE_LIST_QUEST_TOKENS_FILE, NewConstants.CACHE_TOKEN_PICS_DIR);
|
addMissingItems(urls, ForgeConstants.IMAGE_LIST_QUEST_TOKENS_FILE, ForgeConstants.CACHE_TOKEN_PICS_DIR);
|
||||||
|
|
||||||
return urls;
|
return urls;
|
||||||
}
|
}
|
||||||
@@ -15,14 +15,16 @@
|
|||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
package forge.gui.download;
|
package forge.download;
|
||||||
|
|
||||||
import com.google.common.collect.Iterables;
|
import com.google.common.collect.Iterables;
|
||||||
import forge.ImageCache;
|
|
||||||
import forge.Singletons;
|
import forge.assets.ImageUtil;
|
||||||
import forge.card.CardEdition;
|
import forge.card.CardEdition;
|
||||||
import forge.item.PaperCard;
|
import forge.item.PaperCard;
|
||||||
import forge.properties.NewConstants;
|
import forge.model.FModel;
|
||||||
|
import forge.properties.ForgeConstants;
|
||||||
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
@@ -39,30 +41,30 @@ public class GuiDownloadSetPicturesLQ extends GuiDownloader {
|
|||||||
protected final Map<String, String> getNeededImages() {
|
protected final Map<String, String> getNeededImages() {
|
||||||
Map<String, String> downloads = new TreeMap<String, String>(String.CASE_INSENSITIVE_ORDER);
|
Map<String, String> downloads = new TreeMap<String, String>(String.CASE_INSENSITIVE_ORDER);
|
||||||
|
|
||||||
for (final PaperCard c : Iterables.concat(Singletons.getMagicDb().getCommonCards().getAllCards(), Singletons.getMagicDb().getVariantCards().getAllCards())) {
|
for (final PaperCard c : Iterables.concat(FModel.getMagicDb().getCommonCards().getAllCards(), FModel.getMagicDb().getVariantCards().getAllCards())) {
|
||||||
final String setCode3 = c.getEdition();
|
final String setCode3 = c.getEdition();
|
||||||
if (StringUtils.isBlank(setCode3) || CardEdition.UNKNOWN.getCode().equals(setCode3)) {
|
if (StringUtils.isBlank(setCode3) || CardEdition.UNKNOWN.getCode().equals(setCode3)) {
|
||||||
// we don't want cards from unknown sets
|
// we don't want cards from unknown sets
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
addDLObject(ImageCache.getDownloadUrl(c, false), ImageCache.getImageKey(c, false, true), downloads);
|
addDLObject(ImageUtil.getDownloadUrl(c, false), ImageUtil.getImageKey(c, false, true), downloads);
|
||||||
|
|
||||||
if (ImageCache.hasBackFacePicture(c)) {
|
if (ImageUtil.hasBackFacePicture(c)) {
|
||||||
addDLObject(ImageCache.getDownloadUrl(c, true), ImageCache.getImageKey(c, true, true), downloads);
|
addDLObject(ImageUtil.getDownloadUrl(c, true), ImageUtil.getImageKey(c, true, true), downloads);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add missing tokens to the list of things to download.
|
// Add missing tokens to the list of things to download.
|
||||||
addMissingItems(downloads, NewConstants.IMAGE_LIST_TOKENS_FILE, NewConstants.CACHE_TOKEN_PICS_DIR);
|
addMissingItems(downloads, ForgeConstants.IMAGE_LIST_TOKENS_FILE, ForgeConstants.CACHE_TOKEN_PICS_DIR);
|
||||||
|
|
||||||
return downloads;
|
return downloads;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void addDLObject(String urlPath, String filename, Map<String, String> downloads) {
|
private void addDLObject(String urlPath, String filename, Map<String, String> downloads) {
|
||||||
File destFile = new File(NewConstants.CACHE_CARD_PICS_DIR, filename + ".jpg");
|
File destFile = new File(ForgeConstants.CACHE_CARD_PICS_DIR, filename + ".jpg");
|
||||||
// System.out.println(filename);
|
// System.out.println(filename);
|
||||||
if (!destFile.exists()) {
|
if (!destFile.exists()) {
|
||||||
downloads.put(destFile.getAbsolutePath(), NewConstants.URL_PIC_DOWNLOAD + urlPath);
|
downloads.put(destFile.getAbsolutePath(), ForgeConstants.URL_PIC_DOWNLOAD + urlPath);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -15,22 +15,26 @@
|
|||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
package forge.gui.download;
|
package forge.download;
|
||||||
|
|
||||||
import com.esotericsoftware.minlog.Log;
|
import com.esotericsoftware.minlog.Log;
|
||||||
|
|
||||||
import forge.UiCommand;
|
import forge.UiCommand;
|
||||||
import forge.ImageCache;
|
import forge.ImageCache;
|
||||||
|
import forge.assets.FSkinProp;
|
||||||
import forge.error.BugReporter;
|
import forge.error.BugReporter;
|
||||||
import forge.gui.SOverlayUtils;
|
import forge.gui.SOverlayUtils;
|
||||||
import forge.gui.toolbox.*;
|
import forge.toolbox.*;
|
||||||
import forge.util.FileUtil;
|
import forge.util.FileUtil;
|
||||||
import forge.util.MyRandom;
|
import forge.util.MyRandom;
|
||||||
import net.miginfocom.swing.MigLayout;
|
import net.miginfocom.swing.MigLayout;
|
||||||
|
|
||||||
import org.apache.commons.lang3.tuple.Pair;
|
import org.apache.commons.lang3.tuple.Pair;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import javax.swing.event.ChangeEvent;
|
import javax.swing.event.ChangeEvent;
|
||||||
import javax.swing.event.ChangeListener;
|
import javax.swing.event.ChangeListener;
|
||||||
|
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
import java.awt.event.ActionListener;
|
import java.awt.event.ActionListener;
|
||||||
@@ -113,7 +117,7 @@ public abstract class GuiDownloader extends DefaultBoundedRangeModel implements
|
|||||||
|
|
||||||
barProgress.reset();
|
barProgress.reset();
|
||||||
barProgress.setString("Scanning for existing items...");
|
barProgress.setString("Scanning for existing items...");
|
||||||
pnlDialog.setBackgroundTexture(FSkin.getIcon(FSkin.Backgrounds.BG_TEXTURE));
|
pnlDialog.setBackgroundTexture(FSkin.getIcon(FSkinProp.BG_TEXTURE));
|
||||||
|
|
||||||
// Layout
|
// Layout
|
||||||
pnlDialog.add(grpPanel, "w 50%!");
|
pnlDialog.add(grpPanel, "w 50%!");
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
/** Forge Card Game. */
|
||||||
|
package forge.download;
|
||||||
|
|
||||||
@@ -19,14 +19,16 @@ package forge.error;
|
|||||||
|
|
||||||
import forge.FThreads;
|
import forge.FThreads;
|
||||||
import forge.gui.WrapLayout;
|
import forge.gui.WrapLayout;
|
||||||
import forge.gui.toolbox.FHyperlink;
|
import forge.toolbox.FHyperlink;
|
||||||
import forge.gui.toolbox.FLabel;
|
import forge.toolbox.FLabel;
|
||||||
import forge.gui.toolbox.FOptionPane;
|
import forge.toolbox.FOptionPane;
|
||||||
import forge.util.BuildInfo;
|
import forge.util.BuildInfo;
|
||||||
import net.miginfocom.swing.MigLayout;
|
import net.miginfocom.swing.MigLayout;
|
||||||
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
|
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
import java.awt.datatransfer.StringSelection;
|
import java.awt.datatransfer.StringSelection;
|
||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
@@ -1,3 +1,3 @@
|
|||||||
/** Forge Card Game. */
|
/** Forge Card Game. */
|
||||||
package forge.gui.home;
|
package forge.error;
|
||||||
|
|
||||||
@@ -29,12 +29,13 @@ import forge.game.card.CardUtil;
|
|||||||
import forge.game.card.CounterType;
|
import forge.game.card.CounterType;
|
||||||
import forge.game.player.Player;
|
import forge.game.player.Player;
|
||||||
import forge.game.zone.ZoneType;
|
import forge.game.zone.ZoneType;
|
||||||
import forge.gui.toolbox.*;
|
|
||||||
import forge.gui.toolbox.FSkin.SkinnedPanel;
|
|
||||||
import forge.item.IPaperCard;
|
import forge.item.IPaperCard;
|
||||||
import forge.item.InventoryItemFromSet;
|
import forge.item.InventoryItemFromSet;
|
||||||
import forge.item.PreconDeck;
|
import forge.item.PreconDeck;
|
||||||
import forge.item.SealedProduct;
|
import forge.item.SealedProduct;
|
||||||
|
import forge.model.FModel;
|
||||||
|
import forge.toolbox.*;
|
||||||
|
import forge.toolbox.FSkin.SkinnedPanel;
|
||||||
import forge.util.Lang;
|
import forge.util.Lang;
|
||||||
import forge.view.FDialog;
|
import forge.view.FDialog;
|
||||||
|
|
||||||
@@ -149,7 +150,7 @@ public class CardDetailPanel extends SkinnedPanel {
|
|||||||
setInfoLabel.setOpaque(false);
|
setInfoLabel.setOpaque(false);
|
||||||
setInfoLabel.setBorder(null);
|
setInfoLabel.setBorder(null);
|
||||||
} else {
|
} else {
|
||||||
CardEdition edition = Singletons.getMagicDb().getEditions().get(set);
|
CardEdition edition = FModel.getMagicDb().getEditions().get(set);
|
||||||
if (null != edition) {
|
if (null != edition) {
|
||||||
setInfoLabel.setToolTipText(edition.getName());
|
setInfoLabel.setToolTipText(edition.getName());
|
||||||
}
|
}
|
||||||
@@ -212,7 +213,7 @@ public class CardDetailPanel extends SkinnedPanel {
|
|||||||
String set = card.getCurSetCode();
|
String set = card.getCurSetCode();
|
||||||
this.setInfoLabel.setText(set);
|
this.setInfoLabel.setText(set);
|
||||||
if (null != set && !set.isEmpty()) {
|
if (null != set && !set.isEmpty()) {
|
||||||
CardEdition edition = Singletons.getMagicDb().getEditions().get(set);
|
CardEdition edition = FModel.getMagicDb().getEditions().get(set);
|
||||||
if (null == edition) {
|
if (null == edition) {
|
||||||
setInfoLabel.setToolTipText(card.getRarity().name());
|
setInfoLabel.setToolTipText(card.getRarity().name());
|
||||||
}
|
}
|
||||||
@@ -19,15 +19,16 @@
|
|||||||
package forge.gui;
|
package forge.gui;
|
||||||
|
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.gui.toolbox.FButton;
|
|
||||||
import forge.gui.toolbox.FLabel;
|
|
||||||
import forge.gui.toolbox.FScrollPane;
|
|
||||||
import forge.item.PaperCard;
|
import forge.item.PaperCard;
|
||||||
|
import forge.toolbox.FButton;
|
||||||
|
import forge.toolbox.FLabel;
|
||||||
|
import forge.toolbox.FScrollPane;
|
||||||
import forge.view.FDialog;
|
import forge.view.FDialog;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import javax.swing.event.ListSelectionEvent;
|
import javax.swing.event.ListSelectionEvent;
|
||||||
import javax.swing.event.ListSelectionListener;
|
import javax.swing.event.ListSelectionListener;
|
||||||
|
|
||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
import java.awt.event.ActionListener;
|
import java.awt.event.ActionListener;
|
||||||
import java.awt.event.WindowEvent;
|
import java.awt.event.WindowEvent;
|
||||||
@@ -20,23 +20,24 @@ package forge.gui;
|
|||||||
|
|
||||||
import forge.ImageCache;
|
import forge.ImageCache;
|
||||||
import forge.ImageKeys;
|
import forge.ImageKeys;
|
||||||
import forge.Singletons;
|
|
||||||
import forge.card.CardCharacteristicName;
|
import forge.card.CardCharacteristicName;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.gui.toolbox.imaging.FImagePanel;
|
|
||||||
import forge.gui.toolbox.imaging.FImagePanel.AutoSizeImageMode;
|
|
||||||
import forge.gui.toolbox.imaging.FImageUtil;
|
|
||||||
import forge.item.InventoryItem;
|
import forge.item.InventoryItem;
|
||||||
|
import forge.model.FModel;
|
||||||
import forge.properties.ForgePreferences.FPref;
|
import forge.properties.ForgePreferences.FPref;
|
||||||
|
import forge.toolbox.imaging.FImagePanel;
|
||||||
|
import forge.toolbox.imaging.FImageUtil;
|
||||||
|
import forge.toolbox.imaging.FImagePanel.AutoSizeImageMode;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
|
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
import java.awt.image.BufferedImage;
|
import java.awt.image.BufferedImage;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Displays image associated with a card or inventory item.
|
* Displays image associated with a card or inventory item.
|
||||||
*
|
*
|
||||||
* @version $Id$
|
* @version $Id: CardPicturePanel.java 25265 2014-03-27 02:18:47Z drdev $
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public final class CardPicturePanel extends JPanel {
|
public final class CardPicturePanel extends JPanel {
|
||||||
@@ -104,7 +105,7 @@ public final class CardPicturePanel extends JPanel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private boolean isUIScaleLarger() {
|
private boolean isUIScaleLarger() {
|
||||||
return Singletons.getModel().getPreferences().getPrefBoolean(FPref.UI_SCALE_LARGER);
|
return FModel.getPreferences().getPrefBoolean(FPref.UI_SCALE_LARGER);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -2,10 +2,10 @@ package forge.gui;
|
|||||||
|
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
import forge.gui.match.CMatchUI;
|
|
||||||
import forge.gui.toolbox.*;
|
|
||||||
import forge.item.IPaperCard;
|
import forge.item.IPaperCard;
|
||||||
import forge.item.PaperCard;
|
import forge.item.PaperCard;
|
||||||
|
import forge.screens.match.CMatchUI;
|
||||||
|
import forge.toolbox.*;
|
||||||
import forge.view.FDialog;
|
import forge.view.FDialog;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
@@ -13,6 +13,7 @@ import javax.swing.event.ListDataEvent;
|
|||||||
import javax.swing.event.ListDataListener;
|
import javax.swing.event.ListDataListener;
|
||||||
import javax.swing.event.ListSelectionEvent;
|
import javax.swing.event.ListSelectionEvent;
|
||||||
import javax.swing.event.ListSelectionListener;
|
import javax.swing.event.ListSelectionListener;
|
||||||
|
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
import java.awt.event.*;
|
import java.awt.event.*;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@@ -1,14 +1,16 @@
|
|||||||
package forge.gui;
|
package forge.gui;
|
||||||
|
|
||||||
import forge.control.ChatArea;
|
import forge.control.ChatArea;
|
||||||
import forge.gui.toolbox.*;
|
|
||||||
import forge.gui.toolbox.FSkin.SkinnedPanel;
|
|
||||||
import forge.net.FServer;
|
import forge.net.FServer;
|
||||||
import forge.net.Lobby;
|
import forge.net.Lobby;
|
||||||
|
import forge.toolbox.*;
|
||||||
|
import forge.toolbox.FSkin.SkinnedPanel;
|
||||||
import net.miginfocom.swing.MigLayout;
|
import net.miginfocom.swing.MigLayout;
|
||||||
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
|
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
import java.awt.event.ActionListener;
|
import java.awt.event.ActionListener;
|
||||||
@@ -46,7 +48,7 @@ public enum FNetOverlay {
|
|||||||
if ( StringUtils.isBlank(message) )
|
if ( StringUtils.isBlank(message) )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
Lobby lobby = FServer.instance.getLobby();
|
Lobby lobby = FServer.getLobby();
|
||||||
lobby.speak(ChatArea.Room, lobby.getGuiPlayer(), message);
|
lobby.speak(ChatArea.Room, lobby.getGuiPlayer(), message);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -19,34 +19,10 @@ package forge.gui;
|
|||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
|
|
||||||
|
import forge.match.MatchConstants;
|
||||||
|
|
||||||
@SuppressWarnings("serial")
|
@SuppressWarnings("serial")
|
||||||
public abstract class ForgeAction extends AbstractAction {
|
public abstract class ForgeAction extends AbstractAction {
|
||||||
public static enum MatchConstants {
|
|
||||||
ALWAYSACCEPT ("Always accept this trigger"),
|
|
||||||
ALWAYSDECLINE ("Always decline this trigger"),
|
|
||||||
ALWAYSASK ("Always ask"),
|
|
||||||
HUMANEXILED ("Player's Exile", "Exile:", "Player - View Exile"),
|
|
||||||
HUMANFLASHBACK("Play card with Flashback", "Flashback:", "Player - View Cards with Flashback"),
|
|
||||||
HUMANGRAVEYARD("Player's Graveyard", "Graveyard:", "Player - View Graveyard"),
|
|
||||||
HUMANHAND ("Player's Hand", "Hand:", "Player - View Hand"),
|
|
||||||
HUMANLIBRARY ("Player's Library", "Library:", "Player - View Library");
|
|
||||||
|
|
||||||
public final String title;
|
|
||||||
public final String button;
|
|
||||||
public final String menu;
|
|
||||||
|
|
||||||
private MatchConstants(String title0) {
|
|
||||||
title = title0;
|
|
||||||
button = title0;
|
|
||||||
menu = title0;
|
|
||||||
}
|
|
||||||
private MatchConstants(String title0, String button0, String menu0) {
|
|
||||||
title = title0;
|
|
||||||
button = button0;
|
|
||||||
menu = menu0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public ForgeAction(MatchConstants property) {
|
public ForgeAction(MatchConstants property) {
|
||||||
super(property.button);
|
super(property.button);
|
||||||
this.putValue("buttonText", property.button);
|
this.putValue("buttonText", property.button);
|
||||||
@@ -2,17 +2,20 @@ package forge.gui;
|
|||||||
|
|
||||||
import com.google.common.base.Function;
|
import com.google.common.base.Function;
|
||||||
import com.google.common.collect.Iterables;
|
import com.google.common.collect.Iterables;
|
||||||
|
|
||||||
import forge.FThreads;
|
import forge.FThreads;
|
||||||
import forge.Singletons;
|
import forge.Singletons;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.gui.match.CMatchUI;
|
|
||||||
import forge.gui.toolbox.FOptionPane;
|
|
||||||
import forge.item.InventoryItem;
|
import forge.item.InventoryItem;
|
||||||
|
import forge.screens.match.CMatchUI;
|
||||||
|
import forge.toolbox.FOptionPane;
|
||||||
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import javax.swing.event.ListSelectionEvent;
|
import javax.swing.event.ListSelectionEvent;
|
||||||
import javax.swing.event.ListSelectionListener;
|
import javax.swing.event.ListSelectionListener;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.concurrent.Callable;
|
import java.util.concurrent.Callable;
|
||||||
import java.util.concurrent.FutureTask;
|
import java.util.concurrent.FutureTask;
|
||||||
@@ -2,11 +2,13 @@ package forge.gui;
|
|||||||
|
|
||||||
import forge.FThreads;
|
import forge.FThreads;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.gui.match.CMatchUI;
|
import forge.screens.match.CMatchUI;
|
||||||
import forge.gui.toolbox.FOptionPane;
|
import forge.toolbox.FOptionPane;
|
||||||
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
|
|
||||||
import java.util.concurrent.Callable;
|
import java.util.concurrent.Callable;
|
||||||
import java.util.concurrent.FutureTask;
|
import java.util.concurrent.FutureTask;
|
||||||
|
|
||||||
@@ -29,7 +29,7 @@ import java.awt.*;
|
|||||||
* </p>
|
* </p>
|
||||||
*
|
*
|
||||||
* @author Forge
|
* @author Forge
|
||||||
* @version $Id$
|
* @version $Id: GuiProgressBarWindow.java 24769 2014-02-09 13:56:04Z Hellfish $
|
||||||
* @since 1.0.15
|
* @since 1.0.15
|
||||||
*/
|
*/
|
||||||
public class GuiProgressBarWindow extends FDialog {
|
public class GuiProgressBarWindow extends FDialog {
|
||||||
@@ -18,11 +18,12 @@
|
|||||||
package forge.gui;
|
package forge.gui;
|
||||||
|
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.gui.match.VMatchUI;
|
import forge.screens.match.VMatchUI;
|
||||||
import forge.gui.match.views.VField;
|
import forge.screens.match.views.VField;
|
||||||
import forge.view.arcane.CardPanel;
|
import forge.view.arcane.CardPanel;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
|
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
import java.awt.event.ActionListener;
|
import java.awt.event.ActionListener;
|
||||||
@@ -36,7 +37,7 @@ import java.util.List;
|
|||||||
* </p>
|
* </p>
|
||||||
*
|
*
|
||||||
* @author Forge
|
* @author Forge
|
||||||
* @version $Id$
|
* @version $Id: GuiUtils.java 24769 2014-02-09 13:56:04Z Hellfish $
|
||||||
*/
|
*/
|
||||||
public final class GuiUtils {
|
public final class GuiUtils {
|
||||||
private GuiUtils() {
|
private GuiUtils() {
|
||||||
@@ -18,11 +18,13 @@
|
|||||||
package forge.gui;
|
package forge.gui;
|
||||||
|
|
||||||
import forge.UiCommand;
|
import forge.UiCommand;
|
||||||
|
import forge.assets.FSkinProp;
|
||||||
import forge.error.BugReporter;
|
import forge.error.BugReporter;
|
||||||
import forge.gui.ImportSourceAnalyzer.OpType;
|
import forge.gui.ImportSourceAnalyzer.OpType;
|
||||||
import forge.gui.toolbox.*;
|
import forge.properties.ForgeConstants;
|
||||||
import forge.properties.NewConstants;
|
import forge.toolbox.*;
|
||||||
import net.miginfocom.swing.MigLayout;
|
import net.miginfocom.swing.MigLayout;
|
||||||
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.apache.commons.lang3.tuple.Pair;
|
import org.apache.commons.lang3.tuple.Pair;
|
||||||
|
|
||||||
@@ -32,6 +34,7 @@ import javax.swing.event.ChangeEvent;
|
|||||||
import javax.swing.event.ChangeListener;
|
import javax.swing.event.ChangeListener;
|
||||||
import javax.swing.event.DocumentEvent;
|
import javax.swing.event.DocumentEvent;
|
||||||
import javax.swing.event.DocumentListener;
|
import javax.swing.event.DocumentListener;
|
||||||
|
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
import java.awt.event.ActionListener;
|
import java.awt.event.ActionListener;
|
||||||
@@ -63,7 +66,7 @@ public class ImportDialog {
|
|||||||
public ImportDialog(String forcedSrcDir, final Runnable onDialogClose) {
|
public ImportDialog(String forcedSrcDir, final Runnable onDialogClose) {
|
||||||
_topPanel = new FPanel(new MigLayout("insets dialog, gap 0, center, wrap, fill"));
|
_topPanel = new FPanel(new MigLayout("insets dialog, gap 0, center, wrap, fill"));
|
||||||
_topPanel.setOpaque(false);
|
_topPanel.setOpaque(false);
|
||||||
_topPanel.setBackgroundTexture(FSkin.getIcon(FSkin.Backgrounds.BG_TEXTURE));
|
_topPanel.setBackgroundTexture(FSkin.getIcon(FSkinProp.BG_TEXTURE));
|
||||||
|
|
||||||
final boolean isMigration = !StringUtils.isEmpty(forcedSrcDir);
|
final boolean isMigration = !StringUtils.isEmpty(forcedSrcDir);
|
||||||
|
|
||||||
@@ -89,11 +92,11 @@ public class ImportDialog {
|
|||||||
blurbPanelInterior.add(new FLabel.Builder().text(
|
blurbPanelInterior.add(new FLabel.Builder().text(
|
||||||
"<html>Forge will now store your data in the same place as other applications on your system." +
|
"<html>Forge will now store your data in the same place as other applications on your system." +
|
||||||
" Specifically, your personal data, like decks, quest progress, and program preferences will be" +
|
" Specifically, your personal data, like decks, quest progress, and program preferences will be" +
|
||||||
" stored in <b>" + NewConstants.USER_DIR + "</b> and all downloaded content, such as card pictures," +
|
" stored in <b>" + ForgeConstants.USER_DIR + "</b> and all downloaded content, such as card pictures," +
|
||||||
" skins, and quest world prices will be under <b>" + NewConstants.CACHE_DIR + "</b>. If, for whatever" +
|
" skins, and quest world prices will be under <b>" + ForgeConstants.CACHE_DIR + "</b>. If, for whatever" +
|
||||||
" reason, you need to set different paths, cancel out of this dialog, exit Forge, and find the <b>" +
|
" reason, you need to set different paths, cancel out of this dialog, exit Forge, and find the <b>" +
|
||||||
NewConstants.PROFILE_TEMPLATE_FILE + "</b> file in the program installation directory. Copy or rename" +
|
ForgeConstants.PROFILE_TEMPLATE_FILE + "</b> file in the program installation directory. Copy or rename" +
|
||||||
" it to <b>" + NewConstants.PROFILE_FILE + "</b> and edit the paths inside it. Then restart Forge and use" +
|
" it to <b>" + ForgeConstants.PROFILE_FILE + "</b> and edit the paths inside it. Then restart Forge and use" +
|
||||||
" this dialog to move your data to the paths that you set. Keep in mind that if you install a future" +
|
" this dialog to move your data to the paths that you set. Keep in mind that if you install a future" +
|
||||||
" version of Forge into a different directory, you'll need to copy this file over so Forge will know" +
|
" version of Forge into a different directory, you'll need to copy this file over so Forge will know" +
|
||||||
" where to find your data.</html>").build(), "growx, w 50:50:");
|
" where to find your data.</html>").build(), "growx, w 50:50:");
|
||||||
@@ -316,11 +319,11 @@ public class ImportDialog {
|
|||||||
JPanel unknownDeckPanel = new JPanel(new MigLayout("insets 0, gap 5"));
|
JPanel unknownDeckPanel = new JPanel(new MigLayout("insets 0, gap 5"));
|
||||||
unknownDeckPanel.setOpaque(false);
|
unknownDeckPanel.setOpaque(false);
|
||||||
_unknownDeckCombo = new FComboBoxWrapper<_UnknownDeckChoice>();
|
_unknownDeckCombo = new FComboBoxWrapper<_UnknownDeckChoice>();
|
||||||
_unknownDeckCombo.addItem(new _UnknownDeckChoice("Constructed", NewConstants.DECK_CONSTRUCTED_DIR));
|
_unknownDeckCombo.addItem(new _UnknownDeckChoice("Constructed", ForgeConstants.DECK_CONSTRUCTED_DIR));
|
||||||
_unknownDeckCombo.addItem(new _UnknownDeckChoice("Draft", NewConstants.DECK_DRAFT_DIR));
|
_unknownDeckCombo.addItem(new _UnknownDeckChoice("Draft", ForgeConstants.DECK_DRAFT_DIR));
|
||||||
_unknownDeckCombo.addItem(new _UnknownDeckChoice("Planar", NewConstants.DECK_PLANE_DIR));
|
_unknownDeckCombo.addItem(new _UnknownDeckChoice("Planar", ForgeConstants.DECK_PLANE_DIR));
|
||||||
_unknownDeckCombo.addItem(new _UnknownDeckChoice("Scheme", NewConstants.DECK_SCHEME_DIR));
|
_unknownDeckCombo.addItem(new _UnknownDeckChoice("Scheme", ForgeConstants.DECK_SCHEME_DIR));
|
||||||
_unknownDeckCombo.addItem(new _UnknownDeckChoice("Sealed", NewConstants.DECK_SEALED_DIR));
|
_unknownDeckCombo.addItem(new _UnknownDeckChoice("Sealed", ForgeConstants.DECK_SEALED_DIR));
|
||||||
_unknownDeckCombo.addActionListener(new ActionListener() {
|
_unknownDeckCombo.addActionListener(new ActionListener() {
|
||||||
@Override public void actionPerformed(ActionEvent arg0) { _updateUI(); }
|
@Override public void actionPerformed(ActionEvent arg0) { _updateUI(); }
|
||||||
});
|
});
|
||||||
@@ -19,14 +19,16 @@ package forge.gui;
|
|||||||
|
|
||||||
import com.google.common.base.Predicate;
|
import com.google.common.base.Predicate;
|
||||||
import com.google.common.collect.Iterables;
|
import com.google.common.collect.Iterables;
|
||||||
import forge.ImageCache;
|
|
||||||
import forge.Singletons;
|
import forge.assets.ImageUtil;
|
||||||
import forge.card.CardEdition;
|
import forge.card.CardEdition;
|
||||||
import forge.card.CardRules;
|
import forge.card.CardRules;
|
||||||
import forge.item.IPaperCard;
|
import forge.item.IPaperCard;
|
||||||
import forge.item.PaperCard;
|
import forge.item.PaperCard;
|
||||||
import forge.properties.NewConstants;
|
import forge.model.FModel;
|
||||||
|
import forge.properties.ForgeConstants;
|
||||||
import forge.util.FileUtil;
|
import forge.util.FileUtil;
|
||||||
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.apache.commons.lang3.tuple.Pair;
|
import org.apache.commons.lang3.tuple.Pair;
|
||||||
|
|
||||||
@@ -98,7 +100,7 @@ public class ImportSourceAnalyzer {
|
|||||||
else if ("pics_product".equalsIgnoreCase(dirname)) { _analyzeProductPicsDir(root); }
|
else if ("pics_product".equalsIgnoreCase(dirname)) { _analyzeProductPicsDir(root); }
|
||||||
else if ("preferences".equalsIgnoreCase(dirname)) { _analyzePreferencesDir(root); }
|
else if ("preferences".equalsIgnoreCase(dirname)) { _analyzePreferencesDir(root); }
|
||||||
else if ("quest".equalsIgnoreCase(dirname)) { _analyzeQuestDir(root); }
|
else if ("quest".equalsIgnoreCase(dirname)) { _analyzeQuestDir(root); }
|
||||||
else if (null != Singletons.getMagicDb().getEditions().get(dirname)) { _analyzeCardPicsSetDir(root); }
|
else if (null != FModel.getMagicDb().getEditions().get(dirname)) { _analyzeCardPicsSetDir(root); }
|
||||||
else {
|
else {
|
||||||
// look at files in directory and make a semi-educated guess based on file extensions
|
// look at files in directory and make a semi-educated guess based on file extensions
|
||||||
int numUnhandledFiles = 0;
|
int numUnhandledFiles = 0;
|
||||||
@@ -194,23 +196,23 @@ public class ImportSourceAnalyzer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void _analyzeConstructedDeckDir(File root) {
|
private void _analyzeConstructedDeckDir(File root) {
|
||||||
_analyzeKnownDeckDir(root, NewConstants.DECK_CONSTRUCTED_DIR, OpType.CONSTRUCTED_DECK);
|
_analyzeKnownDeckDir(root, ForgeConstants.DECK_CONSTRUCTED_DIR, OpType.CONSTRUCTED_DECK);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void _analyzeDraftDeckDir(File root) {
|
private void _analyzeDraftDeckDir(File root) {
|
||||||
_analyzeKnownDeckDir(root, NewConstants.DECK_DRAFT_DIR, OpType.DRAFT_DECK);
|
_analyzeKnownDeckDir(root, ForgeConstants.DECK_DRAFT_DIR, OpType.DRAFT_DECK);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void _analyzePlanarDeckDir(File root) {
|
private void _analyzePlanarDeckDir(File root) {
|
||||||
_analyzeKnownDeckDir(root, NewConstants.DECK_PLANE_DIR, OpType.PLANAR_DECK);
|
_analyzeKnownDeckDir(root, ForgeConstants.DECK_PLANE_DIR, OpType.PLANAR_DECK);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void _analyzeSchemeDeckDir(File root) {
|
private void _analyzeSchemeDeckDir(File root) {
|
||||||
_analyzeKnownDeckDir(root, NewConstants.DECK_SCHEME_DIR, OpType.SCHEME_DECK);
|
_analyzeKnownDeckDir(root, ForgeConstants.DECK_SCHEME_DIR, OpType.SCHEME_DECK);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void _analyzeSealedDeckDir(File root) {
|
private void _analyzeSealedDeckDir(File root) {
|
||||||
_analyzeKnownDeckDir(root, NewConstants.DECK_SEALED_DIR, OpType.SEALED_DECK);
|
_analyzeKnownDeckDir(root, ForgeConstants.DECK_SEALED_DIR, OpType.SEALED_DECK);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void _analyzeKnownDeckDir(File root, final String targetDir, final OpType opType) {
|
private void _analyzeKnownDeckDir(File root, final String targetDir, final OpType opType) {
|
||||||
@@ -243,7 +245,7 @@ public class ImportSourceAnalyzer {
|
|||||||
// find *.dat files, but exclude LOCKED_*
|
// find *.dat files, but exclude LOCKED_*
|
||||||
String filename = file.getName();
|
String filename = file.getName();
|
||||||
if (StringUtils.endsWithIgnoreCase(filename, ".dat") && !filename.startsWith("LOCKED_")) {
|
if (StringUtils.endsWithIgnoreCase(filename, ".dat") && !filename.startsWith("LOCKED_")) {
|
||||||
File targetFile = new File(NewConstants.GAUNTLET_DIR.userPrefLoc, _lcaseExt(filename));
|
File targetFile = new File(ForgeConstants.GAUNTLET_DIR.userPrefLoc, _lcaseExt(filename));
|
||||||
if (!file.equals(targetFile)) {
|
if (!file.equals(targetFile)) {
|
||||||
_cb.addOp(OpType.GAUNTLET_DATA, file, targetFile);
|
_cb.addOp(OpType.GAUNTLET_DATA, file, targetFile);
|
||||||
}
|
}
|
||||||
@@ -262,7 +264,7 @@ public class ImportSourceAnalyzer {
|
|||||||
// find *_preferred.xml files
|
// find *_preferred.xml files
|
||||||
String filename = file.getName();
|
String filename = file.getName();
|
||||||
if (StringUtils.endsWithIgnoreCase(filename, "_preferred.xml")) {
|
if (StringUtils.endsWithIgnoreCase(filename, "_preferred.xml")) {
|
||||||
File targetFile = new File(NewConstants.USER_PREFS_DIR,
|
File targetFile = new File(ForgeConstants.USER_PREFS_DIR,
|
||||||
file.getName().toLowerCase(Locale.ENGLISH).replace("_preferred", ""));
|
file.getName().toLowerCase(Locale.ENGLISH).replace("_preferred", ""));
|
||||||
_cb.addOp(OpType.PREFERENCE_FILE, file, targetFile);
|
_cb.addOp(OpType.PREFERENCE_FILE, file, targetFile);
|
||||||
}
|
}
|
||||||
@@ -296,10 +298,11 @@ public class ImportSourceAnalyzer {
|
|||||||
if (StringUtils.isEmpty(urls)) { return; }
|
if (StringUtils.isEmpty(urls)) { return; }
|
||||||
|
|
||||||
int numPics = 1 + StringUtils.countMatches(urls, "\\");
|
int numPics = 1 + StringUtils.countMatches(urls, "\\");
|
||||||
if ( c.getArtIndex() > numPics )
|
if (c.getArtIndex() > numPics) {
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
String filenameBase = ImageCache.getImageKey(c, backFace, false);
|
String filenameBase = ImageUtil.getImageKey(c, backFace, false);
|
||||||
String filename = filenameBase + ".jpg";
|
String filename = filenameBase + ".jpg";
|
||||||
boolean alreadyHadIt = null != _defaultPicNames.put(filename, filename);
|
boolean alreadyHadIt = null != _defaultPicNames.put(filename, filename);
|
||||||
if ( alreadyHadIt ) return;
|
if ( alreadyHadIt ) return;
|
||||||
@@ -320,19 +323,20 @@ public class ImportSourceAnalyzer {
|
|||||||
_defaultPicNames = new TreeMap<String, String>(String.CASE_INSENSITIVE_ORDER);
|
_defaultPicNames = new TreeMap<String, String>(String.CASE_INSENSITIVE_ORDER);
|
||||||
_defaultPicOldNameToCurrentName = new TreeMap<String, String>(String.CASE_INSENSITIVE_ORDER);
|
_defaultPicOldNameToCurrentName = new TreeMap<String, String>(String.CASE_INSENSITIVE_ORDER);
|
||||||
|
|
||||||
for (PaperCard c : Singletons.getMagicDb().getCommonCards().getAllCards()) {
|
for (PaperCard c : FModel.getMagicDb().getCommonCards().getAllCards()) {
|
||||||
_addDefaultPicNames(c, false);
|
_addDefaultPicNames(c, false);
|
||||||
if (ImageCache.hasBackFacePicture(c))
|
if (ImageUtil.hasBackFacePicture(c)) {
|
||||||
_addDefaultPicNames(c, true);
|
_addDefaultPicNames(c, true);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
for (PaperCard c : Singletons.getMagicDb().getVariantCards().getAllCards()) {
|
for (PaperCard c : FModel.getMagicDb().getVariantCards().getAllCards()) {
|
||||||
_addDefaultPicNames(c, false);
|
_addDefaultPicNames(c, false);
|
||||||
// variants never have backfaces
|
// variants never have backfaces
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
_analyzeListedDir(root, NewConstants.CACHE_CARD_PICS_DIR, new _ListedAnalyzer() {
|
_analyzeListedDir(root, ForgeConstants.CACHE_CARD_PICS_DIR, new _ListedAnalyzer() {
|
||||||
@Override public String map(String filename) {
|
@Override public String map(String filename) {
|
||||||
if (_defaultPicOldNameToCurrentName.containsKey(filename)) {
|
if (_defaultPicOldNameToCurrentName.containsKey(filename)) {
|
||||||
return _defaultPicOldNameToCurrentName.get(filename);
|
return _defaultPicOldNameToCurrentName.get(filename);
|
||||||
@@ -361,10 +365,10 @@ public class ImportSourceAnalyzer {
|
|||||||
|
|
||||||
private static void _addSetCards(Map<String, String> cardFileNames, Iterable<PaperCard> library, Predicate<PaperCard> filter) {
|
private static void _addSetCards(Map<String, String> cardFileNames, Iterable<PaperCard> library, Predicate<PaperCard> filter) {
|
||||||
for (PaperCard c : Iterables.filter(library, filter)) {
|
for (PaperCard c : Iterables.filter(library, filter)) {
|
||||||
String filename = ImageCache.getImageKey(c, false, true) + ".jpg";
|
String filename = ImageUtil.getImageKey(c, false, true) + ".jpg";
|
||||||
cardFileNames.put(filename, filename);
|
cardFileNames.put(filename, filename);
|
||||||
if (ImageCache.hasBackFacePicture(c)) {
|
if (ImageUtil.hasBackFacePicture(c)) {
|
||||||
filename = ImageCache.getImageKey(c, true, true) + ".jpg";
|
filename = ImageUtil.getImageKey(c, true, true) + ".jpg";
|
||||||
cardFileNames.put(filename, filename);
|
cardFileNames.put(filename, filename);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -375,11 +379,11 @@ public class ImportSourceAnalyzer {
|
|||||||
private void _analyzeCardPicsSetDir(File root) {
|
private void _analyzeCardPicsSetDir(File root) {
|
||||||
if (null == _cardFileNamesBySet) {
|
if (null == _cardFileNamesBySet) {
|
||||||
_cardFileNamesBySet = new TreeMap<String, Map<String, String>>(String.CASE_INSENSITIVE_ORDER);
|
_cardFileNamesBySet = new TreeMap<String, Map<String, String>>(String.CASE_INSENSITIVE_ORDER);
|
||||||
for (CardEdition ce : Singletons.getMagicDb().getEditions()) {
|
for (CardEdition ce : FModel.getMagicDb().getEditions()) {
|
||||||
Map<String, String> cardFileNames = new TreeMap<String, String>(String.CASE_INSENSITIVE_ORDER);
|
Map<String, String> cardFileNames = new TreeMap<String, String>(String.CASE_INSENSITIVE_ORDER);
|
||||||
Predicate<PaperCard> filter = IPaperCard.Predicates.printedInSet(ce.getCode());
|
Predicate<PaperCard> filter = IPaperCard.Predicates.printedInSet(ce.getCode());
|
||||||
_addSetCards(cardFileNames, Singletons.getMagicDb().getCommonCards().getAllCards(), filter);
|
_addSetCards(cardFileNames, FModel.getMagicDb().getCommonCards().getAllCards(), filter);
|
||||||
_addSetCards(cardFileNames, Singletons.getMagicDb().getVariantCards().getAllCards(), filter);
|
_addSetCards(cardFileNames, FModel.getMagicDb().getVariantCards().getAllCards(), filter);
|
||||||
_cardFileNamesBySet.put(ce.getCode2(), cardFileNames);
|
_cardFileNamesBySet.put(ce.getCode2(), cardFileNames);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -392,17 +396,17 @@ public class ImportSourceAnalyzer {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
for (PaperCard c : Iterables.filter(Singletons.getMagicDb().getVariantCards().getAllCards(), predPlanes)) {
|
for (PaperCard c : Iterables.filter(FModel.getMagicDb().getVariantCards().getAllCards(), predPlanes)) {
|
||||||
String baseName = ImageCache.getImageKey(c,false, true);
|
String baseName = ImageUtil.getImageKey(c,false, true);
|
||||||
_nameUpdates.put(baseName + ".full.jpg", baseName + ".jpg");
|
_nameUpdates.put(baseName + ".full.jpg", baseName + ".jpg");
|
||||||
if (ImageCache.hasBackFacePicture(c)) {
|
if (ImageUtil.hasBackFacePicture(c)) {
|
||||||
baseName = ImageCache.getImageKey(c, true, true);
|
baseName = ImageUtil.getImageKey(c, true, true);
|
||||||
_nameUpdates.put(baseName + ".full.jpg", baseName + ".jpg");
|
_nameUpdates.put(baseName + ".full.jpg", baseName + ".jpg");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
CardEdition.Collection editions = Singletons.getMagicDb().getEditions();
|
CardEdition.Collection editions = FModel.getMagicDb().getEditions();
|
||||||
String editionCode = root.getName();
|
String editionCode = root.getName();
|
||||||
CardEdition edition = editions.get(editionCode);
|
CardEdition edition = editions.get(editionCode);
|
||||||
if (null == edition) {
|
if (null == edition) {
|
||||||
@@ -413,7 +417,7 @@ public class ImportSourceAnalyzer {
|
|||||||
|
|
||||||
final String editionCode2 = edition.getCode2();
|
final String editionCode2 = edition.getCode2();
|
||||||
final Map<String, String> validFilenames = _cardFileNamesBySet.get(editionCode2);
|
final Map<String, String> validFilenames = _cardFileNamesBySet.get(editionCode2);
|
||||||
_analyzeListedDir(root, NewConstants.CACHE_CARD_PICS_DIR, new _ListedAnalyzer() {
|
_analyzeListedDir(root, ForgeConstants.CACHE_CARD_PICS_DIR, new _ListedAnalyzer() {
|
||||||
@Override public String map(String filename) {
|
@Override public String map(String filename) {
|
||||||
filename = editionCode2 + "/" + filename;
|
filename = editionCode2 + "/" + filename;
|
||||||
if (_nameUpdates.containsKey(filename)) {
|
if (_nameUpdates.containsKey(filename)) {
|
||||||
@@ -441,15 +445,15 @@ public class ImportSourceAnalyzer {
|
|||||||
private void _analyzeIconsPicsDir(File root) {
|
private void _analyzeIconsPicsDir(File root) {
|
||||||
if (null == _iconFileNames) {
|
if (null == _iconFileNames) {
|
||||||
_iconFileNames = new TreeMap<String, String>(String.CASE_INSENSITIVE_ORDER);
|
_iconFileNames = new TreeMap<String, String>(String.CASE_INSENSITIVE_ORDER);
|
||||||
for (Pair<String, String> nameurl : FileUtil.readNameUrlFile(NewConstants.IMAGE_LIST_QUEST_OPPONENT_ICONS_FILE)) {
|
for (Pair<String, String> nameurl : FileUtil.readNameUrlFile(ForgeConstants.IMAGE_LIST_QUEST_OPPONENT_ICONS_FILE)) {
|
||||||
_iconFileNames.put(nameurl.getLeft(), nameurl.getLeft());
|
_iconFileNames.put(nameurl.getLeft(), nameurl.getLeft());
|
||||||
}
|
}
|
||||||
for (Pair<String, String> nameurl : FileUtil.readNameUrlFile(NewConstants.IMAGE_LIST_QUEST_PET_SHOP_ICONS_FILE)) {
|
for (Pair<String, String> nameurl : FileUtil.readNameUrlFile(ForgeConstants.IMAGE_LIST_QUEST_PET_SHOP_ICONS_FILE)) {
|
||||||
_iconFileNames.put(nameurl.getLeft(), nameurl.getLeft());
|
_iconFileNames.put(nameurl.getLeft(), nameurl.getLeft());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
_analyzeListedDir(root, NewConstants.CACHE_ICON_PICS_DIR, new _ListedAnalyzer() {
|
_analyzeListedDir(root, ForgeConstants.CACHE_ICON_PICS_DIR, new _ListedAnalyzer() {
|
||||||
@Override public String map(String filename) { return _iconFileNames.containsKey(filename) ? _iconFileNames.get(filename) : null; }
|
@Override public String map(String filename) { return _iconFileNames.containsKey(filename) ? _iconFileNames.get(filename) : null; }
|
||||||
@Override public OpType getOpType(String filename) { return OpType.QUEST_PIC; }
|
@Override public OpType getOpType(String filename) { return OpType.QUEST_PIC; }
|
||||||
});
|
});
|
||||||
@@ -461,15 +465,15 @@ public class ImportSourceAnalyzer {
|
|||||||
if (null == _tokenFileNames) {
|
if (null == _tokenFileNames) {
|
||||||
_tokenFileNames = new TreeMap<String, String>(String.CASE_INSENSITIVE_ORDER);
|
_tokenFileNames = new TreeMap<String, String>(String.CASE_INSENSITIVE_ORDER);
|
||||||
_questTokenFileNames = new TreeMap<String, String>(String.CASE_INSENSITIVE_ORDER);
|
_questTokenFileNames = new TreeMap<String, String>(String.CASE_INSENSITIVE_ORDER);
|
||||||
for (Pair<String, String> nameurl : FileUtil.readNameUrlFile(NewConstants.IMAGE_LIST_TOKENS_FILE)) {
|
for (Pair<String, String> nameurl : FileUtil.readNameUrlFile(ForgeConstants.IMAGE_LIST_TOKENS_FILE)) {
|
||||||
_tokenFileNames.put(nameurl.getLeft(), nameurl.getLeft());
|
_tokenFileNames.put(nameurl.getLeft(), nameurl.getLeft());
|
||||||
}
|
}
|
||||||
for (Pair<String, String> nameurl : FileUtil.readNameUrlFile(NewConstants.IMAGE_LIST_QUEST_TOKENS_FILE)) {
|
for (Pair<String, String> nameurl : FileUtil.readNameUrlFile(ForgeConstants.IMAGE_LIST_QUEST_TOKENS_FILE)) {
|
||||||
_questTokenFileNames.put(nameurl.getLeft(), nameurl.getLeft());
|
_questTokenFileNames.put(nameurl.getLeft(), nameurl.getLeft());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
_analyzeListedDir(root, NewConstants.CACHE_TOKEN_PICS_DIR, new _ListedAnalyzer() {
|
_analyzeListedDir(root, ForgeConstants.CACHE_TOKEN_PICS_DIR, new _ListedAnalyzer() {
|
||||||
@Override public String map(String filename) {
|
@Override public String map(String filename) {
|
||||||
if (_questTokenFileNames.containsKey(filename)) { return _questTokenFileNames.get(filename); }
|
if (_questTokenFileNames.containsKey(filename)) { return _questTokenFileNames.get(filename); }
|
||||||
if (_tokenFileNames.containsKey(filename)) { return _tokenFileNames.get(filename); }
|
if (_tokenFileNames.containsKey(filename)) { return _tokenFileNames.get(filename); }
|
||||||
@@ -487,13 +491,13 @@ public class ImportSourceAnalyzer {
|
|||||||
@Override boolean onDir(File dir) {
|
@Override boolean onDir(File dir) {
|
||||||
String dirName = dir.getName();
|
String dirName = dir.getName();
|
||||||
if ("booster".equalsIgnoreCase(dirName)) {
|
if ("booster".equalsIgnoreCase(dirName)) {
|
||||||
_analyzeSimpleListedDir(dir, NewConstants.IMAGE_LIST_QUEST_BOOSTERS_FILE, NewConstants.CACHE_BOOSTER_PICS_DIR, OpType.QUEST_PIC);
|
_analyzeSimpleListedDir(dir, ForgeConstants.IMAGE_LIST_QUEST_BOOSTERS_FILE, ForgeConstants.CACHE_BOOSTER_PICS_DIR, OpType.QUEST_PIC);
|
||||||
} else if ("fatpacks".equalsIgnoreCase(dirName)) {
|
} else if ("fatpacks".equalsIgnoreCase(dirName)) {
|
||||||
_analyzeSimpleListedDir(dir, NewConstants.IMAGE_LIST_QUEST_FATPACKS_FILE, NewConstants.CACHE_FATPACK_PICS_DIR, OpType.QUEST_PIC);
|
_analyzeSimpleListedDir(dir, ForgeConstants.IMAGE_LIST_QUEST_FATPACKS_FILE, ForgeConstants.CACHE_FATPACK_PICS_DIR, OpType.QUEST_PIC);
|
||||||
} else if ("precons".equalsIgnoreCase(dirName)) {
|
} else if ("precons".equalsIgnoreCase(dirName)) {
|
||||||
_analyzeSimpleListedDir(dir, NewConstants.IMAGE_LIST_QUEST_PRECONS_FILE, NewConstants.CACHE_PRECON_PICS_DIR, OpType.QUEST_PIC);
|
_analyzeSimpleListedDir(dir, ForgeConstants.IMAGE_LIST_QUEST_PRECONS_FILE, ForgeConstants.CACHE_PRECON_PICS_DIR, OpType.QUEST_PIC);
|
||||||
} else if ("tournamentpacks".equalsIgnoreCase(dirName)) {
|
} else if ("tournamentpacks".equalsIgnoreCase(dirName)) {
|
||||||
_analyzeSimpleListedDir(dir, NewConstants.IMAGE_LIST_QUEST_TOURNAMENTPACKS_FILE, NewConstants.CACHE_TOURNAMENTPACK_PICS_DIR, OpType.QUEST_PIC);
|
_analyzeSimpleListedDir(dir, ForgeConstants.IMAGE_LIST_QUEST_TOURNAMENTPACKS_FILE, ForgeConstants.CACHE_TOURNAMENTPACK_PICS_DIR, OpType.QUEST_PIC);
|
||||||
} else {
|
} else {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -511,7 +515,7 @@ public class ImportSourceAnalyzer {
|
|||||||
@Override void onFile(File file) {
|
@Override void onFile(File file) {
|
||||||
String filename = file.getName();
|
String filename = file.getName();
|
||||||
if ("editor.preferences".equalsIgnoreCase(filename) || "forge.preferences".equalsIgnoreCase(filename)) {
|
if ("editor.preferences".equalsIgnoreCase(filename) || "forge.preferences".equalsIgnoreCase(filename)) {
|
||||||
File targetFile = new File(NewConstants.USER_PREFS_DIR, filename.toLowerCase(Locale.ENGLISH));
|
File targetFile = new File(ForgeConstants.USER_PREFS_DIR, filename.toLowerCase(Locale.ENGLISH));
|
||||||
if (!file.equals(targetFile)) {
|
if (!file.equals(targetFile)) {
|
||||||
_cb.addOp(OpType.PREFERENCE_FILE, file, targetFile);
|
_cb.addOp(OpType.PREFERENCE_FILE, file, targetFile);
|
||||||
}
|
}
|
||||||
@@ -529,7 +533,7 @@ public class ImportSourceAnalyzer {
|
|||||||
@Override void onFile(File file) {
|
@Override void onFile(File file) {
|
||||||
String filename = file.getName();
|
String filename = file.getName();
|
||||||
if ("all-prices.txt".equalsIgnoreCase(filename)) {
|
if ("all-prices.txt".equalsIgnoreCase(filename)) {
|
||||||
File targetFile = new File(NewConstants.DB_DIR, filename.toLowerCase(Locale.ENGLISH));
|
File targetFile = new File(ForgeConstants.DB_DIR, filename.toLowerCase(Locale.ENGLISH));
|
||||||
if (!file.equals(targetFile)) {
|
if (!file.equals(targetFile)) {
|
||||||
_cb.addOp(OpType.DB_FILE, file, targetFile);
|
_cb.addOp(OpType.DB_FILE, file, targetFile);
|
||||||
}
|
}
|
||||||
@@ -550,7 +554,7 @@ public class ImportSourceAnalyzer {
|
|||||||
@Override void onFile(File file) {
|
@Override void onFile(File file) {
|
||||||
String filename = file.getName();
|
String filename = file.getName();
|
||||||
if (StringUtils.endsWithIgnoreCase(filename, ".dat")) {
|
if (StringUtils.endsWithIgnoreCase(filename, ".dat")) {
|
||||||
File targetFile = new File(NewConstants.QUEST_SAVE_DIR, _lcaseExt(filename));
|
File targetFile = new File(ForgeConstants.QUEST_SAVE_DIR, _lcaseExt(filename));
|
||||||
if (!file.equals(targetFile)) {
|
if (!file.equals(targetFile)) {
|
||||||
_cb.addOp(OpType.QUEST_DATA, file, targetFile);
|
_cb.addOp(OpType.QUEST_DATA, file, targetFile);
|
||||||
}
|
}
|
||||||
@@ -22,10 +22,10 @@ import com.google.common.base.Function;
|
|||||||
import com.google.common.collect.Lists;
|
import com.google.common.collect.Lists;
|
||||||
|
|
||||||
import forge.FThreads;
|
import forge.FThreads;
|
||||||
import forge.gui.toolbox.FList;
|
import forge.toolbox.FList;
|
||||||
import forge.gui.toolbox.FMouseAdapter;
|
import forge.toolbox.FMouseAdapter;
|
||||||
import forge.gui.toolbox.FOptionPane;
|
import forge.toolbox.FOptionPane;
|
||||||
import forge.gui.toolbox.FScrollPane;
|
import forge.toolbox.FScrollPane;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import javax.swing.event.ListSelectionEvent;
|
import javax.swing.event.ListSelectionEvent;
|
||||||
@@ -60,7 +60,7 @@ import java.util.List;
|
|||||||
* @param <T>
|
* @param <T>
|
||||||
* the generic type
|
* the generic type
|
||||||
* @author Forge
|
* @author Forge
|
||||||
* @version $Id$
|
* @version $Id: ListChooser.java 25183 2014-03-14 23:09:45Z drdev $
|
||||||
*/
|
*/
|
||||||
public class ListChooser<T> {
|
public class ListChooser<T> {
|
||||||
// Data and number of choices for the list
|
// Data and number of choices for the list
|
||||||
@@ -1,17 +1,19 @@
|
|||||||
package forge.gui;
|
package forge.gui;
|
||||||
|
|
||||||
import forge.Singletons;
|
import forge.Singletons;
|
||||||
import forge.gui.match.TargetingOverlay;
|
import forge.assets.FSkinProp;
|
||||||
import forge.gui.toolbox.FLabel;
|
import forge.screens.match.TargetingOverlay;
|
||||||
import forge.gui.toolbox.FOverlay;
|
import forge.toolbox.FLabel;
|
||||||
import forge.gui.toolbox.FPanel;
|
import forge.toolbox.FOverlay;
|
||||||
import forge.gui.toolbox.FSkin;
|
import forge.toolbox.FPanel;
|
||||||
import forge.gui.toolbox.FSkin.SkinnedButton;
|
import forge.toolbox.FSkin;
|
||||||
import forge.gui.toolbox.FSkin.SkinnedLabel;
|
import forge.toolbox.FSkin.SkinnedButton;
|
||||||
|
import forge.toolbox.FSkin.SkinnedLabel;
|
||||||
import net.miginfocom.swing.MigLayout;
|
import net.miginfocom.swing.MigLayout;
|
||||||
|
|
||||||
import javax.swing.FocusManager;
|
import javax.swing.FocusManager;
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
|
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
import java.awt.event.ActionListener;
|
import java.awt.event.ActionListener;
|
||||||
@@ -41,7 +43,7 @@ public final class SOverlayUtils {
|
|||||||
pnl.setBackground(FSkin.getColor(FSkin.Colors.CLR_ACTIVE));
|
pnl.setBackground(FSkin.getColor(FSkin.Colors.CLR_ACTIVE));
|
||||||
pnl.setBounds(new Rectangle(((w - pnlW) / 2), ((h - pnlH) / 2), pnlW, pnlH));
|
pnl.setBounds(new Rectangle(((w - pnlW) / 2), ((h - pnlH) / 2), pnlW, pnlH));
|
||||||
|
|
||||||
pnl.add(new FLabel.Builder().icon(FSkin.getIcon(FSkin.InterfaceIcons.ICO_LOGO)).build(),
|
pnl.add(new FLabel.Builder().icon(FSkin.getIcon(FSkinProp.ICO_LOGO)).build(),
|
||||||
"h 200px!, align center");
|
"h 200px!, align center");
|
||||||
pnl.add(new FLabel.Builder().text("Loading new game...")
|
pnl.add(new FLabel.Builder().text("Loading new game...")
|
||||||
.fontSize(22).build(), "h 40px!, align center");
|
.fontSize(22).build(), "h 40px!, align center");
|
||||||
@@ -1,16 +1,19 @@
|
|||||||
package forge.gui.framework;
|
package forge.gui.framework;
|
||||||
|
|
||||||
import com.google.common.collect.Lists;
|
import com.google.common.collect.Lists;
|
||||||
import forge.Singletons;
|
|
||||||
import forge.gui.toolbox.FPanel;
|
import forge.assets.FSkinProp;
|
||||||
import forge.gui.toolbox.FSkin;
|
import forge.model.FModel;
|
||||||
import forge.gui.toolbox.FSkin.SkinImage;
|
|
||||||
import forge.properties.ForgePreferences;
|
import forge.properties.ForgePreferences;
|
||||||
import forge.properties.ForgePreferences.FPref;
|
import forge.properties.ForgePreferences.FPref;
|
||||||
|
import forge.toolbox.FPanel;
|
||||||
|
import forge.toolbox.FSkin;
|
||||||
|
import forge.toolbox.FSkin.SkinImage;
|
||||||
import forge.view.FView;
|
import forge.view.FView;
|
||||||
import net.miginfocom.swing.MigLayout;
|
import net.miginfocom.swing.MigLayout;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
|
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
import java.awt.event.MouseAdapter;
|
import java.awt.event.MouseAdapter;
|
||||||
import java.awt.event.MouseEvent;
|
import java.awt.event.MouseEvent;
|
||||||
@@ -107,7 +110,7 @@ public final class DragCell extends JPanel implements ILocalRepaint {
|
|||||||
* Determines visibility of tabs on game screen.
|
* Determines visibility of tabs on game screen.
|
||||||
*/
|
*/
|
||||||
private boolean showGameTabs() {
|
private boolean showGameTabs() {
|
||||||
ForgePreferences prefs = Singletons.getModel().getPreferences();
|
ForgePreferences prefs = FModel.getPreferences();
|
||||||
return !prefs.getPrefBoolean(FPref.UI_HIDE_GAME_TABS);
|
return !prefs.getPrefBoolean(FPref.UI_HIDE_GAME_TABS);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -437,7 +440,7 @@ public final class DragCell extends JPanel implements ILocalRepaint {
|
|||||||
|
|
||||||
/** Paints dragging handle image the length of the label. */
|
/** Paints dragging handle image the length of the label. */
|
||||||
private class DragHandle extends JLabel {
|
private class DragHandle extends JLabel {
|
||||||
private final SkinImage img = FSkin.getImage(FSkin.LayoutImages.IMG_HANDLE);
|
private final SkinImage img = FSkin.getImage(FSkinProp.IMG_HANDLE);
|
||||||
private boolean hovered = false;
|
private boolean hovered = false;
|
||||||
|
|
||||||
public DragHandle() {
|
public DragHandle() {
|
||||||
@@ -1,9 +1,10 @@
|
|||||||
package forge.gui.framework;
|
package forge.gui.framework;
|
||||||
|
|
||||||
import forge.gui.toolbox.FSkin;
|
import forge.toolbox.FSkin;
|
||||||
import forge.gui.toolbox.FSkin.SkinnedLabel;
|
import forge.toolbox.FSkin.SkinnedLabel;
|
||||||
|
|
||||||
import javax.swing.border.EmptyBorder;
|
import javax.swing.border.EmptyBorder;
|
||||||
|
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -3,23 +3,23 @@
|
|||||||
*/
|
*/
|
||||||
package forge.gui.framework;
|
package forge.gui.framework;
|
||||||
|
|
||||||
import forge.gui.deckeditor.views.*;
|
import forge.screens.deckeditor.views.*;
|
||||||
import forge.gui.home.gauntlet.VSubmenuGauntletBuild;
|
import forge.screens.home.gauntlet.VSubmenuGauntletBuild;
|
||||||
import forge.gui.home.gauntlet.VSubmenuGauntletContests;
|
import forge.screens.home.gauntlet.VSubmenuGauntletContests;
|
||||||
import forge.gui.home.gauntlet.VSubmenuGauntletLoad;
|
import forge.screens.home.gauntlet.VSubmenuGauntletLoad;
|
||||||
import forge.gui.home.gauntlet.VSubmenuGauntletQuick;
|
import forge.screens.home.gauntlet.VSubmenuGauntletQuick;
|
||||||
import forge.gui.home.quest.*;
|
import forge.screens.home.quest.*;
|
||||||
import forge.gui.home.sanctioned.VSubmenuConstructed;
|
import forge.screens.home.sanctioned.VSubmenuConstructed;
|
||||||
import forge.gui.home.sanctioned.VSubmenuDraft;
|
import forge.screens.home.sanctioned.VSubmenuDraft;
|
||||||
import forge.gui.home.sanctioned.VSubmenuSealed;
|
import forge.screens.home.sanctioned.VSubmenuSealed;
|
||||||
import forge.gui.home.settings.VSubmenuAvatars;
|
import forge.screens.home.settings.VSubmenuAvatars;
|
||||||
import forge.gui.home.settings.VSubmenuDownloaders;
|
import forge.screens.home.settings.VSubmenuDownloaders;
|
||||||
import forge.gui.home.settings.VSubmenuPreferences;
|
import forge.screens.home.settings.VSubmenuPreferences;
|
||||||
import forge.gui.home.settings.VSubmenuReleaseNotes;
|
import forge.screens.home.settings.VSubmenuReleaseNotes;
|
||||||
import forge.gui.match.views.*;
|
import forge.screens.match.views.*;
|
||||||
import forge.gui.workshop.views.VCardDesigner;
|
import forge.screens.workshop.views.VCardDesigner;
|
||||||
import forge.gui.workshop.views.VCardScript;
|
import forge.screens.workshop.views.VCardScript;
|
||||||
import forge.gui.workshop.views.VWorkshopCatalog;
|
import forge.screens.workshop.views.VWorkshopCatalog;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* These are the identifiers for tabs found in the drag layout.
|
* These are the identifiers for tabs found in the drag layout.
|
||||||
@@ -1,21 +1,22 @@
|
|||||||
package forge.gui.framework;
|
package forge.gui.framework;
|
||||||
|
|
||||||
import forge.Singletons;
|
import forge.Singletons;
|
||||||
import forge.gui.bazaar.CBazaarUI;
|
import forge.assets.FSkinProp;
|
||||||
import forge.gui.bazaar.VBazaarUI;
|
|
||||||
import forge.gui.deckeditor.CDeckEditorUI;
|
|
||||||
import forge.gui.deckeditor.VDeckEditorUI;
|
|
||||||
import forge.gui.home.CHomeUI;
|
|
||||||
import forge.gui.home.VHomeUI;
|
|
||||||
import forge.gui.match.CMatchUI;
|
|
||||||
import forge.gui.match.VMatchUI;
|
|
||||||
import forge.gui.toolbox.FOptionPane;
|
|
||||||
import forge.gui.toolbox.FSkin;
|
|
||||||
import forge.gui.toolbox.FSkin.SkinImage;
|
|
||||||
import forge.gui.workshop.CWorkshopUI;
|
|
||||||
import forge.gui.workshop.VWorkshopUI;
|
|
||||||
import forge.properties.FileLocation;
|
import forge.properties.FileLocation;
|
||||||
import forge.properties.NewConstants;
|
import forge.properties.ForgeConstants;
|
||||||
|
import forge.screens.bazaar.CBazaarUI;
|
||||||
|
import forge.screens.bazaar.VBazaarUI;
|
||||||
|
import forge.screens.deckeditor.CDeckEditorUI;
|
||||||
|
import forge.screens.deckeditor.VDeckEditorUI;
|
||||||
|
import forge.screens.home.CHomeUI;
|
||||||
|
import forge.screens.home.VHomeUI;
|
||||||
|
import forge.screens.match.CMatchUI;
|
||||||
|
import forge.screens.match.VMatchUI;
|
||||||
|
import forge.screens.workshop.CWorkshopUI;
|
||||||
|
import forge.screens.workshop.VWorkshopUI;
|
||||||
|
import forge.toolbox.FOptionPane;
|
||||||
|
import forge.toolbox.FSkin;
|
||||||
|
import forge.toolbox.FSkin.SkinImage;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
|
||||||
@@ -28,7 +29,7 @@ public enum FScreen {
|
|||||||
VHomeUI.SINGLETON_INSTANCE,
|
VHomeUI.SINGLETON_INSTANCE,
|
||||||
CHomeUI.SINGLETON_INSTANCE,
|
CHomeUI.SINGLETON_INSTANCE,
|
||||||
"Home",
|
"Home",
|
||||||
FSkin.getIcon(FSkin.InterfaceIcons.ICO_FAVICON),
|
FSkin.getIcon(FSkinProp.ICO_FAVICON),
|
||||||
false,
|
false,
|
||||||
"Exit Forge",
|
"Exit Forge",
|
||||||
null),
|
null),
|
||||||
@@ -36,103 +37,103 @@ public enum FScreen {
|
|||||||
VMatchUI.SINGLETON_INSTANCE,
|
VMatchUI.SINGLETON_INSTANCE,
|
||||||
CMatchUI.SINGLETON_INSTANCE,
|
CMatchUI.SINGLETON_INSTANCE,
|
||||||
"Game",
|
"Game",
|
||||||
FSkin.getIcon(FSkin.DockIcons.ICO_ALPHASTRIKE), //TODO: Create icon for match screen
|
FSkin.getIcon(FSkinProp.ICO_ALPHASTRIKE), //TODO: Create icon for match screen
|
||||||
true,
|
true,
|
||||||
"Concede Game",
|
"Concede Game",
|
||||||
NewConstants.MATCH_LAYOUT_FILE),
|
ForgeConstants.MATCH_LAYOUT_FILE),
|
||||||
WORKSHOP_SCREEN(
|
WORKSHOP_SCREEN(
|
||||||
VWorkshopUI.SINGLETON_INSTANCE,
|
VWorkshopUI.SINGLETON_INSTANCE,
|
||||||
CWorkshopUI.SINGLETON_INSTANCE,
|
CWorkshopUI.SINGLETON_INSTANCE,
|
||||||
"Workshop",
|
"Workshop",
|
||||||
FSkin.getIcon(FSkin.DockIcons.ICO_SETTINGS), //TODO: Create icon for workshop screen
|
FSkin.getIcon(FSkinProp.ICO_SETTINGS), //TODO: Create icon for workshop screen
|
||||||
false,
|
false,
|
||||||
"Back to Home",
|
"Back to Home",
|
||||||
NewConstants.WORKSHOP_LAYOUT_FILE),
|
ForgeConstants.WORKSHOP_LAYOUT_FILE),
|
||||||
DECK_EDITOR_CONSTRUCTED(
|
DECK_EDITOR_CONSTRUCTED(
|
||||||
VDeckEditorUI.SINGLETON_INSTANCE,
|
VDeckEditorUI.SINGLETON_INSTANCE,
|
||||||
CDeckEditorUI.SINGLETON_INSTANCE,
|
CDeckEditorUI.SINGLETON_INSTANCE,
|
||||||
"Deck Editor",
|
"Deck Editor",
|
||||||
FSkin.getImage(FSkin.EditorImages.IMG_PACK),
|
FSkin.getImage(FSkinProp.IMG_PACK),
|
||||||
false,
|
false,
|
||||||
"Back to Home",
|
"Back to Home",
|
||||||
NewConstants.EDITOR_LAYOUT_FILE),
|
ForgeConstants.EDITOR_LAYOUT_FILE),
|
||||||
DECK_EDITOR_ARCHENEMY(
|
DECK_EDITOR_ARCHENEMY(
|
||||||
VDeckEditorUI.SINGLETON_INSTANCE,
|
VDeckEditorUI.SINGLETON_INSTANCE,
|
||||||
CDeckEditorUI.SINGLETON_INSTANCE,
|
CDeckEditorUI.SINGLETON_INSTANCE,
|
||||||
"Scheme Deck Editor",
|
"Scheme Deck Editor",
|
||||||
FSkin.getImage(FSkin.EditorImages.IMG_PACK),
|
FSkin.getImage(FSkinProp.IMG_PACK),
|
||||||
true,
|
true,
|
||||||
"Close Editor",
|
"Close Editor",
|
||||||
NewConstants.EDITOR_LAYOUT_FILE),
|
ForgeConstants.EDITOR_LAYOUT_FILE),
|
||||||
DECK_EDITOR_COMMANDER(
|
DECK_EDITOR_COMMANDER(
|
||||||
VDeckEditorUI.SINGLETON_INSTANCE,
|
VDeckEditorUI.SINGLETON_INSTANCE,
|
||||||
CDeckEditorUI.SINGLETON_INSTANCE,
|
CDeckEditorUI.SINGLETON_INSTANCE,
|
||||||
"Commander Deck Editor",
|
"Commander Deck Editor",
|
||||||
FSkin.getImage(FSkin.EditorImages.IMG_PACK),
|
FSkin.getImage(FSkinProp.IMG_PACK),
|
||||||
true,
|
true,
|
||||||
"Close Editor",
|
"Close Editor",
|
||||||
NewConstants.EDITOR_LAYOUT_FILE),
|
ForgeConstants.EDITOR_LAYOUT_FILE),
|
||||||
DECK_EDITOR_PLANECHASE(
|
DECK_EDITOR_PLANECHASE(
|
||||||
VDeckEditorUI.SINGLETON_INSTANCE,
|
VDeckEditorUI.SINGLETON_INSTANCE,
|
||||||
CDeckEditorUI.SINGLETON_INSTANCE,
|
CDeckEditorUI.SINGLETON_INSTANCE,
|
||||||
"Planar Deck Editor",
|
"Planar Deck Editor",
|
||||||
FSkin.getImage(FSkin.EditorImages.IMG_PACK),
|
FSkin.getImage(FSkinProp.IMG_PACK),
|
||||||
true,
|
true,
|
||||||
"Close Editor",
|
"Close Editor",
|
||||||
NewConstants.EDITOR_LAYOUT_FILE),
|
ForgeConstants.EDITOR_LAYOUT_FILE),
|
||||||
DECK_EDITOR_VANGUARD(
|
DECK_EDITOR_VANGUARD(
|
||||||
VDeckEditorUI.SINGLETON_INSTANCE,
|
VDeckEditorUI.SINGLETON_INSTANCE,
|
||||||
CDeckEditorUI.SINGLETON_INSTANCE,
|
CDeckEditorUI.SINGLETON_INSTANCE,
|
||||||
"Vanguard Deck Editor",
|
"Vanguard Deck Editor",
|
||||||
FSkin.getImage(FSkin.EditorImages.IMG_PACK),
|
FSkin.getImage(FSkinProp.IMG_PACK),
|
||||||
true,
|
true,
|
||||||
"Close Editor",
|
"Close Editor",
|
||||||
NewConstants.EDITOR_LAYOUT_FILE),
|
ForgeConstants.EDITOR_LAYOUT_FILE),
|
||||||
DECK_EDITOR_DRAFT(
|
DECK_EDITOR_DRAFT(
|
||||||
VDeckEditorUI.SINGLETON_INSTANCE,
|
VDeckEditorUI.SINGLETON_INSTANCE,
|
||||||
CDeckEditorUI.SINGLETON_INSTANCE,
|
CDeckEditorUI.SINGLETON_INSTANCE,
|
||||||
"Draft Deck Editor",
|
"Draft Deck Editor",
|
||||||
FSkin.getImage(FSkin.EditorImages.IMG_PACK),
|
FSkin.getImage(FSkinProp.IMG_PACK),
|
||||||
true,
|
true,
|
||||||
"Close Editor",
|
"Close Editor",
|
||||||
NewConstants.EDITOR_LAYOUT_FILE),
|
ForgeConstants.EDITOR_LAYOUT_FILE),
|
||||||
DECK_EDITOR_SEALED(
|
DECK_EDITOR_SEALED(
|
||||||
VDeckEditorUI.SINGLETON_INSTANCE,
|
VDeckEditorUI.SINGLETON_INSTANCE,
|
||||||
CDeckEditorUI.SINGLETON_INSTANCE,
|
CDeckEditorUI.SINGLETON_INSTANCE,
|
||||||
"Sealed Deck Editor",
|
"Sealed Deck Editor",
|
||||||
FSkin.getImage(FSkin.EditorImages.IMG_PACK),
|
FSkin.getImage(FSkinProp.IMG_PACK),
|
||||||
true,
|
true,
|
||||||
"Close Editor",
|
"Close Editor",
|
||||||
NewConstants.EDITOR_LAYOUT_FILE),
|
ForgeConstants.EDITOR_LAYOUT_FILE),
|
||||||
DECK_EDITOR_QUEST(
|
DECK_EDITOR_QUEST(
|
||||||
VDeckEditorUI.SINGLETON_INSTANCE,
|
VDeckEditorUI.SINGLETON_INSTANCE,
|
||||||
CDeckEditorUI.SINGLETON_INSTANCE,
|
CDeckEditorUI.SINGLETON_INSTANCE,
|
||||||
"Quest Deck Editor",
|
"Quest Deck Editor",
|
||||||
FSkin.getImage(FSkin.EditorImages.IMG_PACK),
|
FSkin.getImage(FSkinProp.IMG_PACK),
|
||||||
true,
|
true,
|
||||||
"Close Editor",
|
"Close Editor",
|
||||||
NewConstants.EDITOR_LAYOUT_FILE),
|
ForgeConstants.EDITOR_LAYOUT_FILE),
|
||||||
QUEST_CARD_SHOP(
|
QUEST_CARD_SHOP(
|
||||||
VDeckEditorUI.SINGLETON_INSTANCE,
|
VDeckEditorUI.SINGLETON_INSTANCE,
|
||||||
CDeckEditorUI.SINGLETON_INSTANCE,
|
CDeckEditorUI.SINGLETON_INSTANCE,
|
||||||
"Spell Shop",
|
"Spell Shop",
|
||||||
FSkin.getIcon(FSkin.QuestIcons.ICO_BOOK),
|
FSkin.getIcon(FSkinProp.ICO_QUEST_BOOK),
|
||||||
true,
|
true,
|
||||||
"Leave Shop",
|
"Leave Shop",
|
||||||
NewConstants.EDITOR_LAYOUT_FILE),
|
ForgeConstants.EDITOR_LAYOUT_FILE),
|
||||||
DRAFTING_PROCESS(
|
DRAFTING_PROCESS(
|
||||||
VDeckEditorUI.SINGLETON_INSTANCE,
|
VDeckEditorUI.SINGLETON_INSTANCE,
|
||||||
CDeckEditorUI.SINGLETON_INSTANCE,
|
CDeckEditorUI.SINGLETON_INSTANCE,
|
||||||
"Draft",
|
"Draft",
|
||||||
FSkin.getImage(FSkin.ZoneImages.IMG_HAND),
|
FSkin.getImage(FSkinProp.IMG_ZONE_HAND),
|
||||||
true,
|
true,
|
||||||
"Leave Draft",
|
"Leave Draft",
|
||||||
NewConstants.EDITOR_LAYOUT_FILE),
|
ForgeConstants.EDITOR_LAYOUT_FILE),
|
||||||
QUEST_BAZAAR(
|
QUEST_BAZAAR(
|
||||||
VBazaarUI.SINGLETON_INSTANCE,
|
VBazaarUI.SINGLETON_INSTANCE,
|
||||||
CBazaarUI.SINGLETON_INSTANCE,
|
CBazaarUI.SINGLETON_INSTANCE,
|
||||||
"Bazaar",
|
"Bazaar",
|
||||||
FSkin.getIcon(FSkin.QuestIcons.ICO_BOTTLES),
|
FSkin.getIcon(FSkinProp.ICO_QUEST_BOTTLES),
|
||||||
true,
|
true,
|
||||||
"Leave Bazaar",
|
"Leave Bazaar",
|
||||||
null);
|
null);
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
package forge.gui.framework;
|
package forge.gui.framework;
|
||||||
|
|
||||||
import forge.Singletons;
|
import forge.Singletons;
|
||||||
import forge.gui.toolbox.FAbsolutePositioner;
|
|
||||||
import forge.properties.FileLocation;
|
import forge.properties.FileLocation;
|
||||||
import forge.properties.NewConstants;
|
import forge.properties.ForgeConstants;
|
||||||
|
import forge.toolbox.FAbsolutePositioner;
|
||||||
import forge.util.CollectionSuppliers;
|
import forge.util.CollectionSuppliers;
|
||||||
import forge.util.ThreadUtil;
|
import forge.util.ThreadUtil;
|
||||||
import forge.util.maps.HashMapOfLists;
|
import forge.util.maps.HashMapOfLists;
|
||||||
@@ -16,6 +16,7 @@ import javax.xml.stream.*;
|
|||||||
import javax.xml.stream.events.Attribute;
|
import javax.xml.stream.events.Attribute;
|
||||||
import javax.xml.stream.events.StartElement;
|
import javax.xml.stream.events.StartElement;
|
||||||
import javax.xml.stream.events.XMLEvent;
|
import javax.xml.stream.events.XMLEvent;
|
||||||
|
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
@@ -65,7 +66,7 @@ public final class SLayoutIO {
|
|||||||
|
|
||||||
final Rectangle normalBounds = window.getNormalBounds();
|
final Rectangle normalBounds = window.getNormalBounds();
|
||||||
|
|
||||||
final FileLocation file = NewConstants.WINDOW_LAYOUT_FILE;
|
final FileLocation file = ForgeConstants.WINDOW_LAYOUT_FILE;
|
||||||
final String fWriteTo = file.userPrefLoc;
|
final String fWriteTo = file.userPrefLoc;
|
||||||
final XMLOutputFactory out = XMLOutputFactory.newInstance();
|
final XMLOutputFactory out = XMLOutputFactory.newInstance();
|
||||||
FileOutputStream fos = null;
|
FileOutputStream fos = null;
|
||||||
@@ -105,7 +106,7 @@ public final class SLayoutIO {
|
|||||||
public static void loadWindowLayout() {
|
public static void loadWindowLayout() {
|
||||||
final FFrame window = FView.SINGLETON_INSTANCE.getFrame();
|
final FFrame window = FView.SINGLETON_INSTANCE.getFrame();
|
||||||
final XMLInputFactory inputFactory = XMLInputFactory.newInstance();
|
final XMLInputFactory inputFactory = XMLInputFactory.newInstance();
|
||||||
final FileLocation file = NewConstants.WINDOW_LAYOUT_FILE;
|
final FileLocation file = ForgeConstants.WINDOW_LAYOUT_FILE;
|
||||||
boolean usedCustomPrefsFile = false;
|
boolean usedCustomPrefsFile = false;
|
||||||
FileInputStream fis = null;
|
FileInputStream fis = null;
|
||||||
try {
|
try {
|
||||||
@@ -1,9 +1,10 @@
|
|||||||
package forge.gui.framework;
|
package forge.gui.framework;
|
||||||
|
|
||||||
|
import forge.assets.FSkinProp;
|
||||||
import forge.gui.MouseUtil;
|
import forge.gui.MouseUtil;
|
||||||
import forge.gui.toolbox.FSkin;
|
import forge.toolbox.FSkin;
|
||||||
import forge.gui.toolbox.FSkin.SkinCursor;
|
import forge.toolbox.FSkin.SkinCursor;
|
||||||
import forge.gui.toolbox.FSkin.SkinnedLayeredPane;
|
import forge.toolbox.FSkin.SkinnedLayeredPane;
|
||||||
import forge.view.FView;
|
import forge.view.FView;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
@@ -47,11 +48,11 @@ public final class SRearrangingUtil {
|
|||||||
private static List<IVDoc<? extends ICDoc>> docsToMove = new ArrayList<IVDoc<? extends ICDoc>>();
|
private static List<IVDoc<? extends ICDoc>> docsToMove = new ArrayList<IVDoc<? extends ICDoc>>();
|
||||||
private static IVDoc<? extends ICDoc> srcSelectedDoc = null;
|
private static IVDoc<? extends ICDoc> srcSelectedDoc = null;
|
||||||
|
|
||||||
private static final SkinCursor CUR_L = FSkin.getCursor(FSkin.LayoutImages.IMG_CUR_L, 16, 16, "CUR_L");
|
private static final SkinCursor CUR_L = FSkin.getCursor(FSkinProp.IMG_CUR_L, 16, 16, "CUR_L");
|
||||||
private static final SkinCursor CUR_T = FSkin.getCursor(FSkin.LayoutImages.IMG_CUR_T, 16, 16, "CUR_T");
|
private static final SkinCursor CUR_T = FSkin.getCursor(FSkinProp.IMG_CUR_T, 16, 16, "CUR_T");
|
||||||
private static final SkinCursor CUR_B = FSkin.getCursor(FSkin.LayoutImages.IMG_CUR_B, 16, 16, "CUR_B");
|
private static final SkinCursor CUR_B = FSkin.getCursor(FSkinProp.IMG_CUR_B, 16, 16, "CUR_B");
|
||||||
private static final SkinCursor CUR_R = FSkin.getCursor(FSkin.LayoutImages.IMG_CUR_R, 16, 16, "CUR_R");
|
private static final SkinCursor CUR_R = FSkin.getCursor(FSkinProp.IMG_CUR_R, 16, 16, "CUR_R");
|
||||||
private static final SkinCursor CUR_TAB = FSkin.getCursor(FSkin.LayoutImages.IMG_CUR_TAB, 16, 16, "CUR_TAB");
|
private static final SkinCursor CUR_TAB = FSkin.getCursor(FSkinProp.IMG_CUR_TAB, 16, 16, "CUR_TAB");
|
||||||
|
|
||||||
private static final MouseListener MAD_REARRANGE = new MouseAdapter() {
|
private static final MouseListener MAD_REARRANGE = new MouseAdapter() {
|
||||||
@Override
|
@Override
|
||||||
@@ -2,8 +2,8 @@ package forge.gui.framework;
|
|||||||
|
|
||||||
import forge.gui.FNetOverlay;
|
import forge.gui.FNetOverlay;
|
||||||
import forge.gui.MouseUtil;
|
import forge.gui.MouseUtil;
|
||||||
import forge.gui.toolbox.FAbsolutePositioner;
|
import forge.toolbox.FAbsolutePositioner;
|
||||||
import forge.gui.toolbox.FOverlay;
|
import forge.toolbox.FOverlay;
|
||||||
import forge.view.FDialog;
|
import forge.view.FDialog;
|
||||||
import forge.view.FFrame;
|
import forge.view.FFrame;
|
||||||
import forge.view.FNavigationBar;
|
import forge.view.FNavigationBar;
|
||||||
@@ -1,14 +1,15 @@
|
|||||||
package forge.gui.toolbox.itemmanager;
|
package forge.itemmanager;
|
||||||
|
|
||||||
import forge.Singletons;
|
|
||||||
import forge.game.GameFormat;
|
import forge.game.GameFormat;
|
||||||
import forge.gui.GuiUtils;
|
import forge.gui.GuiUtils;
|
||||||
import forge.gui.home.quest.DialogChooseSets;
|
|
||||||
import forge.gui.toolbox.itemmanager.filters.*;
|
|
||||||
import forge.item.PaperCard;
|
import forge.item.PaperCard;
|
||||||
|
import forge.itemmanager.filters.*;
|
||||||
|
import forge.model.FModel;
|
||||||
import forge.quest.QuestWorld;
|
import forge.quest.QuestWorld;
|
||||||
|
import forge.screens.home.quest.DialogChooseSets;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -52,7 +53,7 @@ public class CardManager extends ItemManager<PaperCard> {
|
|||||||
GuiUtils.addSeparator(menu); //separate from current search item
|
GuiUtils.addSeparator(menu); //separate from current search item
|
||||||
|
|
||||||
JMenu fmt = GuiUtils.createMenu("Format");
|
JMenu fmt = GuiUtils.createMenu("Format");
|
||||||
for (final GameFormat f : Singletons.getModel().getFormats()) {
|
for (final GameFormat f : FModel.getFormats()) {
|
||||||
GuiUtils.addMenuItem(fmt, f.getName(), null, new Runnable() {
|
GuiUtils.addMenuItem(fmt, f.getName(), null, new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
@@ -85,7 +86,7 @@ public class CardManager extends ItemManager<PaperCard> {
|
|||||||
});
|
});
|
||||||
|
|
||||||
JMenu world = GuiUtils.createMenu("Quest world");
|
JMenu world = GuiUtils.createMenu("Quest world");
|
||||||
for (final QuestWorld w : Singletons.getModel().getWorlds()) {
|
for (final QuestWorld w : FModel.getWorlds()) {
|
||||||
GuiUtils.addMenuItem(world, w.getName(), null, new Runnable() {
|
GuiUtils.addMenuItem(world, w.getName(), null, new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
@@ -1,26 +1,31 @@
|
|||||||
package forge.gui.toolbox.itemmanager;
|
package forge.itemmanager;
|
||||||
|
|
||||||
import forge.UiCommand;
|
import forge.UiCommand;
|
||||||
import forge.Singletons;
|
import forge.Singletons;
|
||||||
|
import forge.assets.FSkinProp;
|
||||||
import forge.deck.DeckBase;
|
import forge.deck.DeckBase;
|
||||||
import forge.deck.io.DeckPreferences;
|
import forge.deck.io.DeckPreferences;
|
||||||
import forge.game.GameFormat;
|
import forge.game.GameFormat;
|
||||||
import forge.game.GameType;
|
import forge.game.GameType;
|
||||||
import forge.gui.GuiUtils;
|
import forge.gui.GuiUtils;
|
||||||
import forge.gui.deckeditor.CDeckEditorUI;
|
import forge.deck.DeckProxy;
|
||||||
import forge.gui.deckeditor.DeckProxy;
|
|
||||||
import forge.gui.deckeditor.SEditorIO;
|
|
||||||
import forge.gui.deckeditor.controllers.ACEditorBase;
|
|
||||||
import forge.gui.deckeditor.controllers.CEditorLimited;
|
|
||||||
import forge.gui.deckeditor.controllers.CEditorQuest;
|
|
||||||
import forge.gui.framework.FScreen;
|
import forge.gui.framework.FScreen;
|
||||||
import forge.gui.home.quest.DialogChooseSets;
|
|
||||||
import forge.gui.toolbox.FOptionPane;
|
|
||||||
import forge.gui.toolbox.FSkin;
|
|
||||||
import forge.gui.toolbox.itemmanager.filters.*;
|
|
||||||
import forge.gui.toolbox.itemmanager.views.*;
|
|
||||||
import forge.item.InventoryItem;
|
import forge.item.InventoryItem;
|
||||||
|
import forge.itemmanager.ColumnDef;
|
||||||
|
import forge.itemmanager.ItemColumn;
|
||||||
|
import forge.itemmanager.ItemManagerConfig;
|
||||||
|
import forge.itemmanager.filters.*;
|
||||||
|
import forge.itemmanager.views.*;
|
||||||
|
import forge.model.FModel;
|
||||||
import forge.quest.QuestWorld;
|
import forge.quest.QuestWorld;
|
||||||
|
import forge.screens.deckeditor.CDeckEditorUI;
|
||||||
|
import forge.screens.deckeditor.SEditorIO;
|
||||||
|
import forge.screens.deckeditor.controllers.ACEditorBase;
|
||||||
|
import forge.screens.deckeditor.controllers.CEditorLimited;
|
||||||
|
import forge.screens.deckeditor.controllers.CEditorQuest;
|
||||||
|
import forge.screens.home.quest.DialogChooseSets;
|
||||||
|
import forge.toolbox.FOptionPane;
|
||||||
|
import forge.toolbox.FSkin;
|
||||||
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
|
||||||
@@ -43,10 +48,10 @@ import java.util.Set;
|
|||||||
*/
|
*/
|
||||||
@SuppressWarnings("serial")
|
@SuppressWarnings("serial")
|
||||||
public final class DeckManager extends ItemManager<DeckProxy> {
|
public final class DeckManager extends ItemManager<DeckProxy> {
|
||||||
private static final FSkin.SkinIcon icoDelete = FSkin.getIcon(FSkin.InterfaceIcons.ICO_DELETE);
|
private static final FSkin.SkinIcon icoDelete = FSkin.getIcon(FSkinProp.ICO_DELETE);
|
||||||
private static final FSkin.SkinIcon icoDeleteOver = FSkin.getIcon(FSkin.InterfaceIcons.ICO_DELETE_OVER);
|
private static final FSkin.SkinIcon icoDeleteOver = FSkin.getIcon(FSkinProp.ICO_DELETE_OVER);
|
||||||
private static final FSkin.SkinIcon icoEdit = FSkin.getIcon(FSkin.InterfaceIcons.ICO_EDIT);
|
private static final FSkin.SkinIcon icoEdit = FSkin.getIcon(FSkinProp.ICO_EDIT);
|
||||||
private static final FSkin.SkinIcon icoEditOver = FSkin.getIcon(FSkin.InterfaceIcons.ICO_EDIT_OVER);
|
private static final FSkin.SkinIcon icoEditOver = FSkin.getIcon(FSkinProp.ICO_EDIT_OVER);
|
||||||
|
|
||||||
private final GameType gametype;
|
private final GameType gametype;
|
||||||
private UiCommand cmdDelete, cmdSelect;
|
private UiCommand cmdDelete, cmdSelect;
|
||||||
@@ -83,11 +88,11 @@ public final class DeckManager extends ItemManager<DeckProxy> {
|
|||||||
boolean wasStringOnly = (this.getConfig() == ItemManagerConfig.STRING_ONLY);
|
boolean wasStringOnly = (this.getConfig() == ItemManagerConfig.STRING_ONLY);
|
||||||
boolean isStringOnly = (config0 == ItemManagerConfig.STRING_ONLY);
|
boolean isStringOnly = (config0 == ItemManagerConfig.STRING_ONLY);
|
||||||
|
|
||||||
Map<ColumnDef, ItemColumn> colOverrides = null;
|
Map<ColumnDef, ItemTableColumn> colOverrides = null;
|
||||||
if (config0.getCols().containsKey(ColumnDef.DECK_ACTIONS)) {
|
if (config0.getCols().containsKey(ColumnDef.DECK_ACTIONS)) {
|
||||||
ItemColumn column = new ItemColumn(config0.getCols().get(ColumnDef.DECK_ACTIONS));
|
ItemTableColumn column = new ItemTableColumn(new ItemColumn(config0.getCols().get(ColumnDef.DECK_ACTIONS)));
|
||||||
column.setCellRenderer(new DeckActionsRenderer());
|
column.setCellRenderer(new DeckActionsRenderer());
|
||||||
colOverrides = new HashMap<ColumnDef, ItemColumn>();
|
colOverrides = new HashMap<ColumnDef, ItemTableColumn>();
|
||||||
colOverrides.put(ColumnDef.DECK_ACTIONS, column);
|
colOverrides.put(ColumnDef.DECK_ACTIONS, column);
|
||||||
}
|
}
|
||||||
super.setup(config0, colOverrides);
|
super.setup(config0, colOverrides);
|
||||||
@@ -155,7 +160,7 @@ public final class DeckManager extends ItemManager<DeckProxy> {
|
|||||||
menu.add(folder);
|
menu.add(folder);
|
||||||
|
|
||||||
JMenu fmt = GuiUtils.createMenu("Format");
|
JMenu fmt = GuiUtils.createMenu("Format");
|
||||||
for (final GameFormat f : Singletons.getModel().getFormats()) {
|
for (final GameFormat f : FModel.getFormats()) {
|
||||||
GuiUtils.addMenuItem(fmt, f.getName(), null, new Runnable() {
|
GuiUtils.addMenuItem(fmt, f.getName(), null, new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
@@ -188,7 +193,7 @@ public final class DeckManager extends ItemManager<DeckProxy> {
|
|||||||
});
|
});
|
||||||
|
|
||||||
JMenu world = GuiUtils.createMenu("Quest world");
|
JMenu world = GuiUtils.createMenu("Quest world");
|
||||||
for (final QuestWorld w : Singletons.getModel().getWorlds()) {
|
for (final QuestWorld w : FModel.getWorlds()) {
|
||||||
GuiUtils.addMenuItem(world, w.getName(), null, new Runnable() {
|
GuiUtils.addMenuItem(world, w.getName(), null, new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
@@ -217,7 +222,7 @@ public final class DeckManager extends ItemManager<DeckProxy> {
|
|||||||
switch (this.gametype) {
|
switch (this.gametype) {
|
||||||
case Quest:
|
case Quest:
|
||||||
screen = FScreen.DECK_EDITOR_QUEST;
|
screen = FScreen.DECK_EDITOR_QUEST;
|
||||||
editorCtrl = new CEditorQuest(Singletons.getModel().getQuest());
|
editorCtrl = new CEditorQuest(FModel.getQuest());
|
||||||
break;
|
break;
|
||||||
case Constructed:
|
case Constructed:
|
||||||
screen = FScreen.DECK_EDITOR_CONSTRUCTED;
|
screen = FScreen.DECK_EDITOR_CONSTRUCTED;
|
||||||
@@ -226,11 +231,11 @@ public final class DeckManager extends ItemManager<DeckProxy> {
|
|||||||
break;
|
break;
|
||||||
case Sealed:
|
case Sealed:
|
||||||
screen = FScreen.DECK_EDITOR_SEALED;
|
screen = FScreen.DECK_EDITOR_SEALED;
|
||||||
editorCtrl = new CEditorLimited(Singletons.getModel().getDecks().getSealed(), screen);
|
editorCtrl = new CEditorLimited(FModel.getDecks().getSealed(), screen);
|
||||||
break;
|
break;
|
||||||
case Draft:
|
case Draft:
|
||||||
screen = FScreen.DECK_EDITOR_DRAFT;
|
screen = FScreen.DECK_EDITOR_DRAFT;
|
||||||
editorCtrl = new CEditorLimited(Singletons.getModel().getDecks().getDraft(), screen);
|
editorCtrl = new CEditorLimited(FModel.getDecks().getDraft(), screen);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
@@ -266,7 +271,7 @@ public final class DeckManager extends ItemManager<DeckProxy> {
|
|||||||
break;
|
break;
|
||||||
case Quest:
|
case Quest:
|
||||||
deck.deleteFromStorage();
|
deck.deleteFromStorage();
|
||||||
Singletons.getModel().getQuest().save();
|
FModel.getQuest().save();
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
throw new UnsupportedOperationException("Delete not implemneted for game type = " + gametype.toString());
|
throw new UnsupportedOperationException("Delete not implemneted for game type = " + gametype.toString());
|
||||||
@@ -15,22 +15,27 @@
|
|||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
package forge.gui.toolbox.itemmanager;
|
package forge.itemmanager;
|
||||||
|
|
||||||
import com.google.common.base.Predicate;
|
import com.google.common.base.Predicate;
|
||||||
import com.google.common.base.Predicates;
|
import com.google.common.base.Predicates;
|
||||||
import com.google.common.collect.Iterables;
|
import com.google.common.collect.Iterables;
|
||||||
|
|
||||||
import forge.UiCommand;
|
import forge.UiCommand;
|
||||||
|
import forge.assets.FSkinProp;
|
||||||
import forge.gui.GuiUtils;
|
import forge.gui.GuiUtils;
|
||||||
import forge.gui.toolbox.*;
|
|
||||||
import forge.gui.toolbox.FSkin.Colors;
|
|
||||||
import forge.gui.toolbox.FSkin.SkinIcon;
|
|
||||||
import forge.gui.toolbox.FSkin.SkinnedCheckBox;
|
|
||||||
import forge.gui.toolbox.FSkin.SkinnedPanel;
|
|
||||||
import forge.gui.toolbox.itemmanager.filters.ItemFilter;
|
|
||||||
import forge.gui.toolbox.itemmanager.views.*;
|
|
||||||
import forge.item.InventoryItem;
|
import forge.item.InventoryItem;
|
||||||
|
import forge.itemmanager.ColumnDef;
|
||||||
|
import forge.itemmanager.IItemManager;
|
||||||
|
import forge.itemmanager.ItemManagerConfig;
|
||||||
|
import forge.itemmanager.ItemManagerModel;
|
||||||
|
import forge.itemmanager.filters.ItemFilter;
|
||||||
|
import forge.itemmanager.views.*;
|
||||||
|
import forge.toolbox.*;
|
||||||
|
import forge.toolbox.FSkin.Colors;
|
||||||
|
import forge.toolbox.FSkin.SkinIcon;
|
||||||
|
import forge.toolbox.FSkin.SkinnedCheckBox;
|
||||||
|
import forge.toolbox.FSkin.SkinnedPanel;
|
||||||
import forge.util.Aggregates;
|
import forge.util.Aggregates;
|
||||||
import forge.util.ItemPool;
|
import forge.util.ItemPool;
|
||||||
import forge.util.ReflectionUtil;
|
import forge.util.ReflectionUtil;
|
||||||
@@ -55,7 +60,7 @@ import java.util.Map.Entry;
|
|||||||
* the generic type
|
* the generic type
|
||||||
*/
|
*/
|
||||||
@SuppressWarnings("serial")
|
@SuppressWarnings("serial")
|
||||||
public abstract class ItemManager<T extends InventoryItem> extends JPanel {
|
public abstract class ItemManager<T extends InventoryItem> extends JPanel implements IItemManager<T> {
|
||||||
private ItemPool<T> pool;
|
private ItemPool<T> pool;
|
||||||
private final ItemManagerModel<T> model;
|
private final ItemManagerModel<T> model;
|
||||||
private Predicate<? super T> filterPredicate = null;
|
private Predicate<? super T> filterPredicate = null;
|
||||||
@@ -99,7 +104,7 @@ public abstract class ItemManager<T extends InventoryItem> extends JPanel {
|
|||||||
.fontSize(12)
|
.fontSize(12)
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
private static final SkinIcon VIEW_OPTIONS_ICON = FSkin.getIcon(FSkin.DockIcons.ICO_SETTINGS).resize(20, 20);
|
private static final SkinIcon VIEW_OPTIONS_ICON = FSkin.getIcon(FSkinProp.ICO_SETTINGS).resize(20, 20);
|
||||||
private final FLabel btnViewOptions = new FLabel.Builder()
|
private final FLabel btnViewOptions = new FLabel.Builder()
|
||||||
.hoverable().selectable(true)
|
.hoverable().selectable(true)
|
||||||
.icon(VIEW_OPTIONS_ICON).iconScaleAuto(false)
|
.icon(VIEW_OPTIONS_ICON).iconScaleAuto(false)
|
||||||
@@ -297,7 +302,7 @@ public abstract class ItemManager<T extends InventoryItem> extends JPanel {
|
|||||||
public void setup(ItemManagerConfig config0) {
|
public void setup(ItemManagerConfig config0) {
|
||||||
this.setup(config0, null);
|
this.setup(config0, null);
|
||||||
}
|
}
|
||||||
public void setup(ItemManagerConfig config0, Map<ColumnDef, ItemColumn> colOverrides) {
|
public void setup(ItemManagerConfig config0, Map<ColumnDef, ItemTableColumn> colOverrides) {
|
||||||
this.config = config0;
|
this.config = config0;
|
||||||
this.setWantUnique(config0.getUniqueCardsOnly());
|
this.setWantUnique(config0.getUniqueCardsOnly());
|
||||||
for (ItemView<T> view : this.views) {
|
for (ItemView<T> view : this.views) {
|
||||||
@@ -15,9 +15,9 @@
|
|||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
package forge.gui.toolbox.itemmanager;
|
package forge.itemmanager;
|
||||||
|
|
||||||
import forge.gui.toolbox.FSkin.SkinnedScrollPane;
|
import forge.toolbox.FSkin.SkinnedScrollPane;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import javax.swing.border.Border;
|
import javax.swing.border.Border;
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
package forge.gui.toolbox.itemmanager;
|
package forge.itemmanager;
|
||||||
|
|
||||||
import forge.gui.toolbox.itemmanager.filters.ItemFilter;
|
|
||||||
import forge.item.InventoryItem;
|
import forge.item.InventoryItem;
|
||||||
|
import forge.itemmanager.filters.ItemFilter;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
|
|
||||||
@@ -1,15 +1,16 @@
|
|||||||
package forge.gui.toolbox.itemmanager.filters;
|
package forge.itemmanager.filters;
|
||||||
|
|
||||||
import com.google.common.base.Predicate;
|
import com.google.common.base.Predicate;
|
||||||
import com.google.common.base.Predicates;
|
import com.google.common.base.Predicates;
|
||||||
|
|
||||||
import forge.card.CardRules;
|
import forge.card.CardRules;
|
||||||
import forge.gui.toolbox.itemmanager.ItemManager;
|
|
||||||
import forge.gui.toolbox.itemmanager.SItemManagerUtil;
|
|
||||||
import forge.gui.toolbox.itemmanager.SItemManagerUtil.StatTypes;
|
|
||||||
import forge.gui.toolbox.itemmanager.SpellShopManager;
|
|
||||||
import forge.item.PaperCard;
|
import forge.item.PaperCard;
|
||||||
|
import forge.itemmanager.ItemManager;
|
||||||
|
import forge.itemmanager.SpellShopManager;
|
||||||
|
import forge.itemmanager.SItemManagerUtil.StatTypes;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@@ -45,8 +46,8 @@ public class CardCMCFilter extends StatTypeFilter<PaperCard> {
|
|||||||
protected final Predicate<PaperCard> buildPredicate() {
|
protected final Predicate<PaperCard> buildPredicate() {
|
||||||
final List<Predicate<CardRules>> cmcs = new ArrayList<Predicate<CardRules>>();
|
final List<Predicate<CardRules>> cmcs = new ArrayList<Predicate<CardRules>>();
|
||||||
|
|
||||||
for (SItemManagerUtil.StatTypes s : buttonMap.keySet()) {
|
for (StatTypes s : buttonMap.keySet()) {
|
||||||
if (s.predicate != null && buttonMap.get(s).getSelected()) {
|
if (s.predicate != null && buttonMap.get(s).isSelected()) {
|
||||||
cmcs.add(s.predicate);
|
cmcs.add(s.predicate);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,11 +1,12 @@
|
|||||||
package forge.gui.toolbox.itemmanager.filters;
|
package forge.itemmanager.filters;
|
||||||
|
|
||||||
import com.google.common.base.Predicate;
|
import com.google.common.base.Predicate;
|
||||||
import com.google.common.base.Predicates;
|
import com.google.common.base.Predicates;
|
||||||
|
|
||||||
import forge.card.CardRules;
|
import forge.card.CardRules;
|
||||||
import forge.card.CardRulesPredicates;
|
import forge.card.CardRulesPredicates;
|
||||||
import forge.gui.toolbox.itemmanager.ItemManager;
|
|
||||||
import forge.item.PaperCard;
|
import forge.item.PaperCard;
|
||||||
|
import forge.itemmanager.ItemManager;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TODO: Write javadoc for this type.
|
* TODO: Write javadoc for this type.
|
||||||
@@ -1,18 +1,16 @@
|
|||||||
package forge.gui.toolbox.itemmanager.filters;
|
package forge.itemmanager.filters;
|
||||||
|
|
||||||
import com.google.common.base.Predicate;
|
import com.google.common.base.Predicate;
|
||||||
import forge.gui.toolbox.itemmanager.ItemManager;
|
|
||||||
import forge.gui.toolbox.itemmanager.SFilterUtil;
|
|
||||||
import forge.gui.toolbox.itemmanager.SItemManagerUtil.StatTypes;
|
|
||||||
import forge.gui.toolbox.itemmanager.SpellShopManager;
|
|
||||||
import forge.item.PaperCard;
|
import forge.item.PaperCard;
|
||||||
|
import forge.itemmanager.ItemManager;
|
||||||
|
import forge.itemmanager.SFilterUtil;
|
||||||
|
import forge.itemmanager.SpellShopManager;
|
||||||
|
import forge.itemmanager.SItemManagerUtil.StatTypes;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
|
|
||||||
/**
|
|
||||||
* TODO: Write javadoc for this type.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public class CardColorFilter extends StatTypeFilter<PaperCard> {
|
public class CardColorFilter extends StatTypeFilter<PaperCard> {
|
||||||
public CardColorFilter(ItemManager<? super PaperCard> itemManager0) {
|
public CardColorFilter(ItemManager<? super PaperCard> itemManager0) {
|
||||||
super(itemManager0);
|
super(itemManager0);
|
||||||
@@ -1,15 +1,13 @@
|
|||||||
package forge.gui.toolbox.itemmanager.filters;
|
package forge.itemmanager.filters;
|
||||||
|
|
||||||
import com.google.common.base.Predicate;
|
import com.google.common.base.Predicate;
|
||||||
import forge.game.GameFormat;
|
|
||||||
import forge.gui.toolbox.itemmanager.ItemManager;
|
|
||||||
import forge.gui.toolbox.itemmanager.SFilterUtil;
|
|
||||||
import forge.item.PaperCard;
|
|
||||||
|
|
||||||
/**
|
import forge.game.GameFormat;
|
||||||
* TODO: Write javadoc for this type.
|
import forge.item.PaperCard;
|
||||||
*
|
import forge.itemmanager.ItemManager;
|
||||||
*/
|
import forge.itemmanager.SFilterUtil;
|
||||||
|
|
||||||
|
|
||||||
public class CardFormatFilter extends FormatFilter<PaperCard> {
|
public class CardFormatFilter extends FormatFilter<PaperCard> {
|
||||||
public CardFormatFilter(ItemManager<? super PaperCard> itemManager0) {
|
public CardFormatFilter(ItemManager<? super PaperCard> itemManager0) {
|
||||||
super(itemManager0);
|
super(itemManager0);
|
||||||
@@ -1,11 +1,12 @@
|
|||||||
package forge.gui.toolbox.itemmanager.filters;
|
package forge.itemmanager.filters;
|
||||||
|
|
||||||
import com.google.common.base.Predicate;
|
import com.google.common.base.Predicate;
|
||||||
import com.google.common.base.Predicates;
|
import com.google.common.base.Predicates;
|
||||||
|
|
||||||
import forge.card.CardRules;
|
import forge.card.CardRules;
|
||||||
import forge.card.CardRulesPredicates;
|
import forge.card.CardRulesPredicates;
|
||||||
import forge.gui.toolbox.itemmanager.ItemManager;
|
|
||||||
import forge.item.PaperCard;
|
import forge.item.PaperCard;
|
||||||
|
import forge.itemmanager.ItemManager;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TODO: Write javadoc for this type.
|
* TODO: Write javadoc for this type.
|
||||||
@@ -1,18 +1,15 @@
|
|||||||
package forge.gui.toolbox.itemmanager.filters;
|
package forge.itemmanager.filters;
|
||||||
|
|
||||||
import forge.Singletons;
|
|
||||||
import forge.game.GameFormat;
|
import forge.game.GameFormat;
|
||||||
import forge.gui.toolbox.itemmanager.ItemManager;
|
|
||||||
import forge.item.PaperCard;
|
import forge.item.PaperCard;
|
||||||
|
import forge.itemmanager.ItemManager;
|
||||||
|
import forge.model.FModel;
|
||||||
import forge.quest.QuestWorld;
|
import forge.quest.QuestWorld;
|
||||||
|
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
/**
|
|
||||||
* TODO: Write javadoc for this type.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public class CardQuestWorldFilter extends CardFormatFilter {
|
public class CardQuestWorldFilter extends CardFormatFilter {
|
||||||
private final Set<QuestWorld> questWorlds = new HashSet<QuestWorld>();
|
private final Set<QuestWorld> questWorlds = new HashSet<QuestWorld>();
|
||||||
|
|
||||||
@@ -42,7 +39,7 @@ public class CardQuestWorldFilter extends CardFormatFilter {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static boolean canAddQuestWorld(QuestWorld questWorld, ItemFilter<PaperCard> existingFilter) {
|
public static boolean canAddQuestWorld(QuestWorld questWorld, ItemFilter<PaperCard> existingFilter) {
|
||||||
if (questWorld.getFormat() == null && Singletons.getModel().getQuest().getMainFormat() == null) {
|
if (questWorld.getFormat() == null && FModel.getQuest().getMainFormat() == null) {
|
||||||
return false; //must have format
|
return false; //must have format
|
||||||
}
|
}
|
||||||
return existingFilter == null || !((CardQuestWorldFilter)existingFilter).questWorlds.contains(questWorld);
|
return existingFilter == null || !((CardQuestWorldFilter)existingFilter).questWorlds.contains(questWorld);
|
||||||
@@ -86,7 +83,7 @@ public class CardQuestWorldFilter extends CardFormatFilter {
|
|||||||
GameFormat format = w.getFormat();
|
GameFormat format = w.getFormat();
|
||||||
if (format == null) {
|
if (format == null) {
|
||||||
//assumes that no world other than the main world will have a null format
|
//assumes that no world other than the main world will have a null format
|
||||||
format = Singletons.getModel().getQuest().getMainFormat();
|
format = FModel.getQuest().getMainFormat();
|
||||||
}
|
}
|
||||||
return format;
|
return format;
|
||||||
}
|
}
|
||||||
@@ -1,24 +1,23 @@
|
|||||||
package forge.gui.toolbox.itemmanager.filters;
|
package forge.itemmanager.filters;
|
||||||
|
|
||||||
import com.google.common.base.Predicate;
|
import com.google.common.base.Predicate;
|
||||||
|
|
||||||
import forge.UiCommand;
|
import forge.UiCommand;
|
||||||
import forge.gui.toolbox.FComboBoxWrapper;
|
|
||||||
import forge.gui.toolbox.FLabel;
|
|
||||||
import forge.gui.toolbox.FTextField;
|
|
||||||
import forge.gui.toolbox.LayoutHelper;
|
|
||||||
import forge.gui.toolbox.itemmanager.ItemManager;
|
|
||||||
import forge.gui.toolbox.itemmanager.SFilterUtil;
|
|
||||||
import forge.item.InventoryItem;
|
import forge.item.InventoryItem;
|
||||||
import forge.item.PaperCard;
|
import forge.item.PaperCard;
|
||||||
|
import forge.itemmanager.ItemManager;
|
||||||
|
import forge.itemmanager.SFilterUtil;
|
||||||
|
import forge.toolbox.FComboBoxWrapper;
|
||||||
|
import forge.toolbox.FLabel;
|
||||||
|
import forge.toolbox.FTextField;
|
||||||
|
import forge.toolbox.LayoutHelper;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
|
|
||||||
import java.awt.event.ItemEvent;
|
import java.awt.event.ItemEvent;
|
||||||
import java.awt.event.ItemListener;
|
import java.awt.event.ItemListener;
|
||||||
|
|
||||||
/**
|
|
||||||
* TODO: Write javadoc for this type.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public class CardSearchFilter extends TextSearchFilter<PaperCard> {
|
public class CardSearchFilter extends TextSearchFilter<PaperCard> {
|
||||||
private FComboBoxWrapper<String> cbSearchMode;
|
private FComboBoxWrapper<String> cbSearchMode;
|
||||||
private FLabel btnName, btnType, btnText;
|
private FLabel btnName, btnType, btnText;
|
||||||
@@ -33,9 +32,9 @@ public class CardSearchFilter extends TextSearchFilter<PaperCard> {
|
|||||||
copy.getWidget(); //initialize widget
|
copy.getWidget(); //initialize widget
|
||||||
copy.txtSearch.setText(this.txtSearch.getText());
|
copy.txtSearch.setText(this.txtSearch.getText());
|
||||||
copy.cbSearchMode.setSelectedIndex(this.cbSearchMode.getSelectedIndex());
|
copy.cbSearchMode.setSelectedIndex(this.cbSearchMode.getSelectedIndex());
|
||||||
copy.btnName.setSelected(this.btnName.getSelected());
|
copy.btnName.setSelected(this.btnName.isSelected());
|
||||||
copy.btnType.setSelected(this.btnType.getSelected());
|
copy.btnType.setSelected(this.btnType.isSelected());
|
||||||
copy.btnText.setSelected(this.btnText.getSelected());
|
copy.btnText.setSelected(this.btnText.isSelected());
|
||||||
return copy;
|
return copy;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -102,15 +101,15 @@ public class CardSearchFilter extends TextSearchFilter<PaperCard> {
|
|||||||
return SFilterUtil.buildTextFilter(
|
return SFilterUtil.buildTextFilter(
|
||||||
txtSearch.getText(),
|
txtSearch.getText(),
|
||||||
cbSearchMode.getSelectedIndex() != 0,
|
cbSearchMode.getSelectedIndex() != 0,
|
||||||
btnName.getSelected(),
|
btnName.isSelected(),
|
||||||
btnType.getSelected(),
|
btnType.isSelected(),
|
||||||
btnText.getSelected());
|
btnText.isSelected());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected <U extends InventoryItem> boolean showUnsupportedItem(U item) {
|
protected <U extends InventoryItem> boolean showUnsupportedItem(U item) {
|
||||||
//fallback to regular item text filter if item not PaperCard
|
//fallback to regular item text filter if item not PaperCard
|
||||||
boolean result = btnName.getSelected() && SFilterUtil.buildItemTextFilter(txtSearch.getText()).apply(item);
|
boolean result = btnName.isSelected() && SFilterUtil.buildItemTextFilter(txtSearch.getText()).apply(item);
|
||||||
if (cbSearchMode.getSelectedIndex() != 0) { //invert result if needed
|
if (cbSearchMode.getSelectedIndex() != 0) { //invert result if needed
|
||||||
result = !result;
|
result = !result;
|
||||||
}
|
}
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user