mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-15 02:08: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/DeckGeneratorBase.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/io/DeckFileHeader.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/util/Expressions.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/.project -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/socket.js -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/ImageLoader.java -text
|
||||
forge-gui/src/main/java/forge/Singletons.java svneol=native#text/plain
|
||||
forge-gui/src/main/java/forge/GuiBase.java -text
|
||||
forge-gui/src/main/java/forge/SGuiChoose.java -text
|
||||
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/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/FControl.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/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/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/DeckPreferences.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/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/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/GauntletIO.java -text
|
||||
forge-gui/src/main/java/forge/gui/CardContainer.java svneol=native#text/plain
|
||||
forge-gui/src/main/java/forge/gui/CardDetailPanel.java svneol=native#text/plain
|
||||
forge-gui/src/main/java/forge/gui/CardListViewer.java -text
|
||||
forge-gui/src/main/java/forge/gui/CardPicturePanel.java svneol=native#text/plain
|
||||
forge-gui/src/main/java/forge/gui/CardPreferences.java -text
|
||||
forge-gui/src/main/java/forge/gui/DualListBox.java -text
|
||||
forge-gui/src/main/java/forge/gui/FNetOverlay.java -text
|
||||
forge-gui/src/main/java/forge/gui/ForgeAction.java svneol=native#text/plain
|
||||
forge-gui/src/main/java/forge/gui/GuiChoose.java -text
|
||||
forge-gui/src/main/java/forge/gui/GuiDialog.java -text
|
||||
forge-gui/src/main/java/forge/gui/GuiDisplayUtil.java svneol=native#text/plain
|
||||
forge-gui/src/main/java/forge/gui/GuiProgressBarWindow.java svneol=native#text/plain
|
||||
forge-gui/src/main/java/forge/gui/GuiUtils.java svneol=native#text/plain
|
||||
forge-gui/src/main/java/forge/gui/InputProxy.java svneol=native#text/plain
|
||||
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/interfaces/IButton.java -text
|
||||
forge-gui/src/main/java/forge/interfaces/IGuiBase.java -text
|
||||
forge-gui/src/main/java/forge/interfaces/IProgressBar.java -text
|
||||
forge-gui/src/main/java/forge/itemmanager/ColumnDef.java -text
|
||||
forge-gui/src/main/java/forge/itemmanager/GroupDef.java -text
|
||||
forge-gui/src/main/java/forge/itemmanager/IItemManager.java -text
|
||||
forge-gui/src/main/java/forge/itemmanager/ItemColumn.java -text
|
||||
forge-gui/src/main/java/forge/itemmanager/ItemColumnConfig.java -text
|
||||
forge-gui/src/main/java/forge/itemmanager/ItemManagerConfig.java -text
|
||||
forge-gui/src/main/java/forge/itemmanager/ItemManagerModel.java -text
|
||||
forge-gui/src/main/java/forge/itemmanager/SColumnUtil.java -text
|
||||
forge-gui/src/main/java/forge/itemmanager/SFilterUtil.java -text
|
||||
forge-gui/src/main/java/forge/itemmanager/SItemManagerUtil.java -text
|
||||
forge-gui/src/main/java/forge/itemmanager/package-info.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/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/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/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/CardCollections.java -text
|
||||
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/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/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/SavePreferencesListener.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/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/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/QuestDataIO.java svneol=native#text/plain
|
||||
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/Base64Coder.java svneol=native#text/plain
|
||||
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/IgnoringXStream.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/XmlUtil.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/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/assignSetInfo.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.Pair;
|
||||
|
||||
import java.awt.event.MouseEvent;
|
||||
import java.security.InvalidParameterException;
|
||||
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) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -33,7 +33,6 @@ import forge.item.PaperCard;
|
||||
import org.apache.commons.lang3.tuple.ImmutablePair;
|
||||
import org.apache.commons.lang3.tuple.Pair;
|
||||
|
||||
import java.awt.event.MouseEvent;
|
||||
import java.util.Collection;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
@@ -108,12 +107,8 @@ public abstract class PlayerController {
|
||||
public LobbyPlayer getLobbyPlayer() { return lobbyPlayer; }
|
||||
|
||||
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 playSpellAbilityForFree(SpellAbility copySA, 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.LoadingCache;
|
||||
import com.mortennobel.imagescaling.ResampleOp;
|
||||
import forge.card.CardDb;
|
||||
import forge.card.CardRules;
|
||||
import forge.card.CardSplitType;
|
||||
|
||||
import forge.assets.FSkinProp;
|
||||
import forge.assets.ImageUtil;
|
||||
import forge.game.card.Card;
|
||||
import forge.game.player.IHasIcon;
|
||||
import forge.gui.toolbox.FSkin;
|
||||
import forge.gui.toolbox.FSkin.SkinIcon;
|
||||
import forge.item.InventoryItem;
|
||||
import forge.item.PaperCard;
|
||||
import forge.properties.ForgePreferences.FPref;
|
||||
import forge.properties.NewConstants;
|
||||
import forge.util.Base64Coder;
|
||||
import forge.properties.ForgeConstants;
|
||||
import forge.toolbox.FSkin;
|
||||
import forge.toolbox.FSkin.SkinIcon;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
import javax.imageio.ImageIO;
|
||||
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.io.File;
|
||||
import java.util.HashSet;
|
||||
@@ -54,7 +53,7 @@ import java.util.concurrent.ExecutionException;
|
||||
* </ul>
|
||||
*
|
||||
* @author Forge
|
||||
* @version $Id$
|
||||
* @version $Id: ImageCache.java 25093 2014-03-08 05:36:37Z drdev $
|
||||
*/
|
||||
public class ImageCache {
|
||||
// short prefixes to save memory
|
||||
@@ -65,7 +64,7 @@ public class ImageCache {
|
||||
static {
|
||||
BufferedImage defImage = null;
|
||||
try {
|
||||
defImage = ImageIO.read(new File(NewConstants.NO_CARD_FILE));
|
||||
defImage = ImageIO.read(new File(ForgeConstants.NO_CARD_FILE));
|
||||
} catch (Exception ex) {
|
||||
System.err.println("could not load default card image");
|
||||
} finally {
|
||||
@@ -110,7 +109,7 @@ public class ImageCache {
|
||||
if (_missingIconKeys.contains(imageKey) ||
|
||||
null == (i = scaleImage(ihi.getIconImageKey(), -1, -1, false))) {
|
||||
_missingIconKeys.add(imageKey);
|
||||
return FSkin.getIcon(FSkin.InterfaceIcons.ICO_UNKNOWN);
|
||||
return FSkin.getIcon(FSkinProp.ICO_UNKNOWN);
|
||||
}
|
||||
return new FSkin.UnskinnedIcon(i);
|
||||
}
|
||||
@@ -132,7 +131,7 @@ public class ImageCache {
|
||||
if(altState)
|
||||
imageKey = imageKey.substring(0, imageKey.length() - ImageKeys.BACKFACE_POSTFIX.length());
|
||||
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)) {
|
||||
return _defaultImage;
|
||||
}
|
||||
@@ -155,16 +154,6 @@ public class ImageCache {
|
||||
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) {
|
||||
if (StringUtils.isEmpty(key) || (3 > width && -1 != width) || (3 > height && -1 != height)) {
|
||||
// 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 scaleY = (-1 == height? 1 : (double)height / original.getHeight());
|
||||
double bestFitScale = Math.min(scaleX, scaleY);
|
||||
if ((bestFitScale > 1) && !mayEnlarge()) {
|
||||
if ((bestFitScale > 1) && !ImageUtil.mayEnlarge()) {
|
||||
bestFitScale = 1;
|
||||
}
|
||||
|
||||
@@ -208,10 +197,6 @@ public class ImageCache {
|
||||
return result;
|
||||
}
|
||||
|
||||
private static boolean mayEnlarge() {
|
||||
return Singletons.getModel().getPreferences().getPrefBoolean(FPref.UI_SCALE_LARGER);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the Image corresponding to the key.
|
||||
*/
|
||||
@@ -230,110 +215,4 @@ public class ImageCache {
|
||||
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;
|
||||
|
||||
import com.google.common.cache.CacheLoader;
|
||||
|
||||
import forge.assets.ImageUtil;
|
||||
import forge.error.BugReporter;
|
||||
import forge.properties.NewConstants;
|
||||
import forge.properties.ForgeConstants;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
import javax.imageio.ImageIO;
|
||||
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
@@ -25,34 +29,34 @@ final class ImageLoader extends CacheLoader<String, BufferedImage> {
|
||||
final String filename;
|
||||
if (key.startsWith(ImageKeys.TOKEN_PREFIX)) {
|
||||
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)) {
|
||||
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)) {
|
||||
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)) {
|
||||
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)) {
|
||||
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)) {
|
||||
filename = key.substring(ImageKeys.TOURNAMENTPACK_PREFIX.length());
|
||||
path = NewConstants.CACHE_TOURNAMENTPACK_PICS_DIR;
|
||||
path = ForgeConstants.CACHE_TOURNAMENTPACK_PICS_DIR;
|
||||
} else {
|
||||
filename = key;
|
||||
path = NewConstants.CACHE_CARD_PICS_DIR;
|
||||
path = ForgeConstants.CACHE_CARD_PICS_DIR;
|
||||
}
|
||||
|
||||
BufferedImage ret = _findFile(key, path, filename);
|
||||
|
||||
// some S00 cards are really part of 6ED
|
||||
if (null == ret ) {
|
||||
String s2kAlias = ImageCache.getSetFolder("S00");
|
||||
String s2kAlias = ImageUtil.getSetFolder("S00");
|
||||
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;
|
||||
|
||||
import forge.control.FControl;
|
||||
import forge.gui.toolbox.FProgressBar;
|
||||
import forge.gui.workshop.CardScriptInfo;
|
||||
import forge.model.FModel;
|
||||
import forge.properties.NewConstants;
|
||||
import forge.view.FView;
|
||||
|
||||
/**
|
||||
@@ -29,10 +26,8 @@ import forge.view.FView;
|
||||
*/
|
||||
public final class Singletons {
|
||||
private static boolean initialized = false;
|
||||
private static FModel model = null;
|
||||
private static FView view = null;
|
||||
private static FControl control = null;
|
||||
private static StaticData magicDb = null;
|
||||
|
||||
/**
|
||||
* IMPORTANT - does not return view frame! Must call
|
||||
@@ -40,15 +35,14 @@ public final class Singletons {
|
||||
*/
|
||||
public static FView getView() { return view; }
|
||||
public static FControl getControl() { return control; }
|
||||
public static FModel getModel() { return model; }
|
||||
public static StaticData getMagicDb() { return magicDb; }
|
||||
|
||||
public static void initializeOnce(boolean withUi) {
|
||||
FThreads.assertExecutedByEdt(false);
|
||||
|
||||
synchronized (Singletons.class) {
|
||||
if(initialized)
|
||||
if (initialized) {
|
||||
throw new IllegalStateException("Singletons.initializeOnce really cannot be called again");
|
||||
}
|
||||
initialized = true;
|
||||
}
|
||||
|
||||
@@ -56,29 +50,7 @@ public final class Singletons {
|
||||
view = FView.SINGLETON_INSTANCE;
|
||||
}
|
||||
|
||||
CardStorageReader.ProgressObserver progressBarBridge = view == null
|
||||
? 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);
|
||||
FModel.initialize(view == null ? null : view.getSplash().getProgressBar());
|
||||
|
||||
if (withUi) {
|
||||
control = FControl.instance;
|
||||
@@ -21,8 +21,8 @@ import forge.FThreads;
|
||||
import forge.ImageCache;
|
||||
import forge.Singletons;
|
||||
import forge.ai.LobbyPlayerAi;
|
||||
import forge.assets.FSkinProp;
|
||||
import forge.control.KeyboardShortcuts.Shortcut;
|
||||
import forge.deck.io.DeckPreferences;
|
||||
import forge.game.Game;
|
||||
import forge.game.GameRules;
|
||||
import forge.game.GameType;
|
||||
@@ -31,33 +31,35 @@ import forge.game.card.Card;
|
||||
import forge.game.player.LobbyPlayer;
|
||||
import forge.game.player.Player;
|
||||
import forge.game.player.RegisteredPlayer;
|
||||
import forge.gui.CardPreferences;
|
||||
import forge.gui.GuiDialog;
|
||||
import forge.gui.SOverlayUtils;
|
||||
import forge.gui.deckeditor.CDeckEditorUI;
|
||||
import forge.gui.framework.*;
|
||||
import forge.gui.home.settings.GamePlayerUtil;
|
||||
import forge.gui.match.CMatchUI;
|
||||
import forge.gui.match.VMatchUI;
|
||||
import forge.gui.match.controllers.CDock;
|
||||
import forge.gui.match.controllers.CLog;
|
||||
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.player.GamePlayerUtil;
|
||||
import forge.player.LobbyPlayerHuman;
|
||||
import forge.match.input.InputQueue;
|
||||
import forge.menus.ForgeMenu;
|
||||
import forge.model.FModel;
|
||||
import forge.net.FServer;
|
||||
import forge.properties.ForgePreferences;
|
||||
import forge.properties.ForgePreferences.FPref;
|
||||
import forge.properties.NewConstants;
|
||||
import forge.properties.ForgeConstants;
|
||||
import forge.quest.QuestController;
|
||||
import forge.quest.data.QuestPreferences.QPref;
|
||||
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.toolbox.FOptionPane;
|
||||
import forge.toolbox.FSkin;
|
||||
import forge.toolbox.special.PhaseIndicator;
|
||||
import forge.view.FFrame;
|
||||
import forge.view.FView;
|
||||
|
||||
@@ -155,7 +157,7 @@ public enum FControl implements KeyEventDispatcher {
|
||||
this.closeAction = closeAction0;
|
||||
Singletons.getView().getNavigationBar().updateBtnCloseTooltip();
|
||||
|
||||
final ForgePreferences prefs = Singletons.getModel().getPreferences();
|
||||
final ForgePreferences prefs = FModel.getPreferences();
|
||||
prefs.setPref(FPref.UI_CLOSE_ACTION, closeAction0.toString());
|
||||
prefs.save();
|
||||
}
|
||||
@@ -190,24 +192,20 @@ public enum FControl implements KeyEventDispatcher {
|
||||
// Preloads skin components (using progress bar).
|
||||
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.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));
|
||||
|
||||
FView.SINGLETON_INSTANCE.setSplashProgessBarMessage("About to load current quest.");
|
||||
// Preload quest data if present
|
||||
final File dirQuests = new File(NewConstants.QUEST_SAVE_DIR);
|
||||
final String questname = Singletons.getModel().getQuestPreferences().getPref(QPref.CURRENT_QUEST);
|
||||
final File dirQuests = new File(ForgeConstants.QUEST_SAVE_DIR);
|
||||
final String questname = FModel.getQuestPreferences().getPref(QPref.CURRENT_QUEST);
|
||||
final File data = new File(dirQuests.getPath(), questname);
|
||||
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
|
||||
@@ -301,7 +299,7 @@ public enum FControl implements KeyEventDispatcher {
|
||||
|
||||
if (screen == FScreen.MATCH_SCREEN) {
|
||||
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();
|
||||
}
|
||||
@@ -311,7 +309,7 @@ public enum FControl implements KeyEventDispatcher {
|
||||
}
|
||||
|
||||
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) {
|
||||
@@ -349,13 +347,13 @@ public enum FControl implements KeyEventDispatcher {
|
||||
public Player getCurrentPlayer() {
|
||||
// try current priority
|
||||
Player currentPriority = game.getPhaseHandler().getPriorityPlayer();
|
||||
if (null != currentPriority && currentPriority.getLobbyPlayer() == FServer.instance.getLobby().getGuiPlayer()) {
|
||||
if (null != currentPriority && currentPriority.getLobbyPlayer() == FServer.getLobby().getGuiPlayer()) {
|
||||
return currentPriority;
|
||||
}
|
||||
|
||||
// otherwise find just any player, belonging to this lobbyplayer
|
||||
for (Player p : game.getPlayers()) {
|
||||
if (p.getLobbyPlayer() == FServer.instance.getLobby().getGuiPlayer()) {
|
||||
if (p.getLobbyPlayer() == FServer.getLobby().getGuiPlayer()) {
|
||||
return p;
|
||||
}
|
||||
}
|
||||
@@ -385,7 +383,7 @@ public enum FControl implements KeyEventDispatcher {
|
||||
public final void stopGame() {
|
||||
List<Player> pp = new ArrayList<Player>();
|
||||
for (Player p : game.getPlayers()) {
|
||||
if (p.getOriginalLobbyPlayer() == FServer.instance.getLobby().getGuiPlayer()) {
|
||||
if (p.getOriginalLobbyPlayer() == FServer.getLobby().getGuiPlayer()) {
|
||||
pp.add(p);
|
||||
}
|
||||
}
|
||||
@@ -400,7 +398,7 @@ public enum FControl implements KeyEventDispatcher {
|
||||
}
|
||||
|
||||
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) {
|
||||
game.getAction().checkGameOverCondition();
|
||||
@@ -446,11 +444,11 @@ public enum FControl implements KeyEventDispatcher {
|
||||
this.game = null;
|
||||
}
|
||||
|
||||
private final FControlGameEventHandler fcVisitor = new FControlGameEventHandler(this);
|
||||
private final FControlGamePlayback playbackControl = new FControlGamePlayback(this);
|
||||
private final FControlGameEventHandler fcVisitor = new FControlGameEventHandler();
|
||||
private final FControlGamePlayback playbackControl = new FControlGamePlayback();
|
||||
private void attachToGame(Game game0) {
|
||||
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
|
||||
if (game0.getMatch().getPlayedGames().isEmpty()) {
|
||||
qc.getCards().resetNewList();
|
||||
@@ -463,14 +461,14 @@ public enum FControl implements KeyEventDispatcher {
|
||||
this.game = game0;
|
||||
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
|
||||
CMatchUI.SINGLETON_INSTANCE.initMatch(game.getRegisteredPlayers(), humanLobbyPlayer);
|
||||
CDock.SINGLETON_INSTANCE.setModel(game, humanLobbyPlayer);
|
||||
CStack.SINGLETON_INSTANCE.setModel(game.getStack(), humanLobbyPlayer);
|
||||
CLog.SINGLETON_INSTANCE.setModel(game.getGameLog());
|
||||
|
||||
Singletons.getModel().getPreferences().actuateMatchPreferences();
|
||||
actuateMatchPreferences();
|
||||
VAntes.SINGLETON_INSTANCE.setModel(game.getRegisteredPlayers());
|
||||
|
||||
setCurrentScreen(FScreen.MATCH_SCREEN);
|
||||
@@ -484,7 +482,7 @@ public enum FControl implements KeyEventDispatcher {
|
||||
// Add playback controls to match if needed
|
||||
gameHasHumanPlayer = false;
|
||||
for (Player p : game.getPlayers()) {
|
||||
if (p.getController().getLobbyPlayer() == FServer.instance.getLobby().getGuiPlayer())
|
||||
if (p.getController().getLobbyPlayer() == FServer.getLobby().getGuiPlayer())
|
||||
gameHasHumanPlayer = true;
|
||||
}
|
||||
|
||||
@@ -492,8 +490,6 @@ public enum FControl implements KeyEventDispatcher {
|
||||
game.subscribeToEvents(playbackControl);
|
||||
}
|
||||
|
||||
|
||||
|
||||
for (final VField field : VMatchUI.SINGLETON_INSTANCE.getFieldViews()) {
|
||||
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.
|
||||
*/
|
||||
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))) {
|
||||
boolean isPlayerOneHuman = players.get(0).getPlayer() instanceof LobbyPlayerHuman;
|
||||
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) {
|
||||
boolean useRandomFoil = Singletons.getModel().getPreferences().getPrefBoolean(FPref.UI_RANDOM_FOIL);
|
||||
boolean useRandomFoil = FModel.getPreferences().getPrefBoolean(FPref.UI_RANDOM_FOIL);
|
||||
for(RegisteredPlayer rp : players) {
|
||||
rp.setRandomFoil(useRandomFoil);
|
||||
}
|
||||
@@ -568,9 +564,9 @@ public enum FControl implements KeyEventDispatcher {
|
||||
GameRules rules = new GameRules(gameType);
|
||||
if (null != appliedVariants && !appliedVariants.isEmpty())
|
||||
rules.setAppliedVariants(appliedVariants);
|
||||
rules.setPlayForAnte(Singletons.getModel().getPreferences().getPrefBoolean(FPref.UI_ANTE));
|
||||
rules.setManaBurn(Singletons.getModel().getPreferences().getPrefBoolean(FPref.UI_MANABURN));
|
||||
rules.canCloneUseTargetsImage = Singletons.getModel().getPreferences().getPrefBoolean(FPref.UI_CLONE_MODE_SOURCE);
|
||||
rules.setPlayForAnte(FModel.getPreferences().getPrefBoolean(FPref.UI_ANTE));
|
||||
rules.setManaBurn(FModel.getPreferences().getPrefBoolean(FPref.UI_MANABURN));
|
||||
rules.canCloneUseTargetsImage = FModel.getPreferences().getPrefBoolean(FPref.UI_CLONE_MODE_SOURCE);
|
||||
|
||||
final Match mc = new Match(rules, players);
|
||||
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.FScreen;
|
||||
import forge.gui.framework.SDisplayUtil;
|
||||
import forge.gui.home.settings.VSubmenuPreferences.KeyboardShortcutField;
|
||||
import forge.gui.match.CMatchUI;
|
||||
import forge.gui.match.controllers.CDock;
|
||||
import forge.model.FModel;
|
||||
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 javax.swing.*;
|
||||
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.InputEvent;
|
||||
import java.awt.event.KeyEvent;
|
||||
@@ -82,7 +85,7 @@ public class KeyboardShortcuts {
|
||||
@Override
|
||||
public void actionPerformed(final ActionEvent e) {
|
||||
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());
|
||||
}
|
||||
}
|
||||
@@ -197,7 +200,7 @@ public class KeyboardShortcuts {
|
||||
/** */
|
||||
public void attach() {
|
||||
detach();
|
||||
str = Singletons.getModel().getPreferences().getPref(prefkeys);
|
||||
str = FModel.getPreferences().getPref(prefkeys);
|
||||
if (!str.isEmpty()) {
|
||||
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.deckchooser.DecksComboBox.DeckType;
|
||||
import forge.gui.toolbox.FComboBox.TextAlignment;
|
||||
import forge.gui.toolbox.FComboBoxWrapper;
|
||||
import forge.gui.toolbox.FSkin;
|
||||
import forge.toolbox.FComboBoxWrapper;
|
||||
import forge.toolbox.FSkin;
|
||||
import forge.toolbox.FComboBox.TextAlignment;
|
||||
|
||||
import javax.swing.*;
|
||||
|
||||
@@ -15,32 +15,6 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
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 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.Singletons;
|
||||
import forge.deck.Deck;
|
||||
import forge.deck.DeckProxy;
|
||||
import forge.deck.DeckType;
|
||||
import forge.deck.DeckgenUtil;
|
||||
import forge.game.GameType;
|
||||
import forge.game.player.RegisteredPlayer;
|
||||
import forge.gui.deckchooser.DecksComboBox.DeckType;
|
||||
import forge.gui.deckeditor.DeckProxy;
|
||||
import forge.gui.toolbox.FLabel;
|
||||
import forge.gui.toolbox.itemmanager.DeckManager;
|
||||
import forge.gui.toolbox.itemmanager.ItemManagerConfig;
|
||||
import forge.gui.toolbox.itemmanager.ItemManagerContainer;
|
||||
import forge.itemmanager.DeckManager;
|
||||
import forge.itemmanager.ItemManagerConfig;
|
||||
import forge.itemmanager.ItemManagerContainer;
|
||||
import forge.model.FModel;
|
||||
import forge.properties.ForgePreferences;
|
||||
import forge.properties.ForgePreferences.FPref;
|
||||
import forge.quest.QuestController;
|
||||
import forge.quest.QuestEvent;
|
||||
import forge.quest.QuestEventChallenge;
|
||||
import forge.quest.QuestUtil;
|
||||
import forge.toolbox.FLabel;
|
||||
import net.miginfocom.swing.MigLayout;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
@@ -39,7 +40,7 @@ public class FDeckChooser extends JPanel implements IDecksComboBoxListener {
|
||||
|
||||
private boolean isAi;
|
||||
|
||||
private final ForgePreferences prefs = Singletons.getModel().getPreferences();
|
||||
private final ForgePreferences prefs = FModel.getPreferences();
|
||||
private FPref stateSetting = null;
|
||||
|
||||
public FDeckChooser(boolean forAi) {
|
||||
@@ -78,7 +79,7 @@ public class FDeckChooser extends JPanel implements IDecksComboBoxListener {
|
||||
private void updateCustom() {
|
||||
lstDecks.setAllowMultipleSelections(false);
|
||||
|
||||
lstDecks.setPool(DeckProxy.getAllConstructedDecks(Singletons.getModel().getDecks().getConstructed()));
|
||||
lstDecks.setPool(DeckProxy.getAllConstructedDecks(FModel.getDecks().getConstructed()));
|
||||
lstDecks.setup(ItemManagerConfig.CONSTRUCTED_DECKS);
|
||||
|
||||
btnRandom.setText("Random Deck");
|
||||
@@ -1,4 +1,4 @@
|
||||
package forge.gui.deckchooser;
|
||||
package forge.deckchooser;
|
||||
|
||||
import forge.deck.CardPool;
|
||||
import forge.deck.Deck;
|
||||
@@ -6,14 +6,14 @@ import forge.deck.DeckSection;
|
||||
import forge.game.card.Card;
|
||||
import forge.gui.CardDetailPanel;
|
||||
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.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 net.miginfocom.swing.MigLayout;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package forge.gui.deckchooser;
|
||||
package forge.deckchooser;
|
||||
|
||||
public interface IDecksComboBoxListener {
|
||||
public void deckTypeSelected(DecksComboBoxEvent ev);
|
||||
@@ -15,13 +15,14 @@
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package forge.gui.download;
|
||||
package forge.download;
|
||||
|
||||
import forge.ImageCache;
|
||||
import forge.Singletons;
|
||||
import forge.assets.ImageUtil;
|
||||
import forge.card.CardRules;
|
||||
import forge.item.PaperCard;
|
||||
import forge.properties.NewConstants;
|
||||
import forge.model.FModel;
|
||||
import forge.properties.ForgeConstants;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
import java.io.File;
|
||||
@@ -38,18 +39,19 @@ public class GuiDownloadPicturesLQ extends GuiDownloader {
|
||||
protected final Map<String, String> getNeededImages() {
|
||||
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);
|
||||
if (ImageCache.hasBackFacePicture(c))
|
||||
if (ImageUtil.hasBackFacePicture(c)) {
|
||||
addDLObject(c, downloads, true);
|
||||
}
|
||||
}
|
||||
|
||||
for (PaperCard c : Singletons.getMagicDb().getVariantCards().getAllCards()) {
|
||||
for (PaperCard c : FModel.getMagicDb().getVariantCards().getAllCards()) {
|
||||
addDLObject(c, downloads, false);
|
||||
}
|
||||
|
||||
// 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;
|
||||
}
|
||||
@@ -61,8 +63,8 @@ public class GuiDownloadPicturesLQ extends GuiDownloader {
|
||||
return;
|
||||
}
|
||||
|
||||
String filename = ImageCache.getImageKey(c, backFace, false);
|
||||
File destFile = new File(NewConstants.CACHE_CARD_PICS_DIR, filename + ".jpg");
|
||||
String filename = ImageUtil.getImageKey(c, backFace, false);
|
||||
File destFile = new File(ForgeConstants.CACHE_CARD_PICS_DIR, filename + ".jpg");
|
||||
if (destFile.exists())
|
||||
return;
|
||||
|
||||
@@ -15,9 +15,9 @@
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* 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.Map;
|
||||
@@ -31,7 +31,7 @@ public class GuiDownloadPrices extends GuiDownloader {
|
||||
@Override
|
||||
protected Map<String, String> getNeededImages() {
|
||||
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;
|
||||
}
|
||||
}
|
||||
@@ -15,9 +15,9 @@
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* 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.TreeMap;
|
||||
@@ -39,20 +39,20 @@ public class GuiDownloadQuestImages extends GuiDownloader {
|
||||
* getNeededCards.
|
||||
* </p>
|
||||
*
|
||||
* @return an array of {@link forge.gui.download.GuiDownloadSetPicturesLQ} objects.
|
||||
* @return an array of {@link forge.download.GuiDownloadSetPicturesLQ} objects.
|
||||
*/
|
||||
@Override
|
||||
protected final Map<String, String> getNeededImages() {
|
||||
// read all card names and urls
|
||||
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, NewConstants.IMAGE_LIST_QUEST_PET_SHOP_ICONS_FILE, NewConstants.CACHE_ICON_PICS_DIR);
|
||||
addMissingItems(urls, NewConstants.IMAGE_LIST_QUEST_BOOSTERS_FILE, NewConstants.CACHE_BOOSTER_PICS_DIR);
|
||||
addMissingItems(urls, NewConstants.IMAGE_LIST_QUEST_FATPACKS_FILE, NewConstants.CACHE_FATPACK_PICS_DIR);
|
||||
addMissingItems(urls, NewConstants.IMAGE_LIST_QUEST_PRECONS_FILE, NewConstants.CACHE_PRECON_PICS_DIR);
|
||||
addMissingItems(urls, NewConstants.IMAGE_LIST_QUEST_TOURNAMENTPACKS_FILE, NewConstants.CACHE_TOURNAMENTPACK_PICS_DIR);
|
||||
addMissingItems(urls, NewConstants.IMAGE_LIST_QUEST_TOKENS_FILE, NewConstants.CACHE_TOKEN_PICS_DIR);
|
||||
addMissingItems(urls, ForgeConstants.IMAGE_LIST_QUEST_OPPONENT_ICONS_FILE, ForgeConstants.CACHE_ICON_PICS_DIR);
|
||||
addMissingItems(urls, ForgeConstants.IMAGE_LIST_QUEST_PET_SHOP_ICONS_FILE, ForgeConstants.CACHE_ICON_PICS_DIR);
|
||||
addMissingItems(urls, ForgeConstants.IMAGE_LIST_QUEST_BOOSTERS_FILE, ForgeConstants.CACHE_BOOSTER_PICS_DIR);
|
||||
addMissingItems(urls, ForgeConstants.IMAGE_LIST_QUEST_FATPACKS_FILE, ForgeConstants.CACHE_FATPACK_PICS_DIR);
|
||||
addMissingItems(urls, ForgeConstants.IMAGE_LIST_QUEST_PRECONS_FILE, ForgeConstants.CACHE_PRECON_PICS_DIR);
|
||||
addMissingItems(urls, ForgeConstants.IMAGE_LIST_QUEST_TOURNAMENTPACKS_FILE, ForgeConstants.CACHE_TOURNAMENTPACK_PICS_DIR);
|
||||
addMissingItems(urls, ForgeConstants.IMAGE_LIST_QUEST_TOKENS_FILE, ForgeConstants.CACHE_TOKEN_PICS_DIR);
|
||||
|
||||
return urls;
|
||||
}
|
||||
@@ -15,14 +15,16 @@
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* 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 forge.ImageCache;
|
||||
import forge.Singletons;
|
||||
|
||||
import forge.assets.ImageUtil;
|
||||
import forge.card.CardEdition;
|
||||
import forge.item.PaperCard;
|
||||
import forge.properties.NewConstants;
|
||||
import forge.model.FModel;
|
||||
import forge.properties.ForgeConstants;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
import java.io.File;
|
||||
@@ -39,30 +41,30 @@ public class GuiDownloadSetPicturesLQ extends GuiDownloader {
|
||||
protected final Map<String, String> getNeededImages() {
|
||||
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();
|
||||
if (StringUtils.isBlank(setCode3) || CardEdition.UNKNOWN.getCode().equals(setCode3)) {
|
||||
// we don't want cards from unknown sets
|
||||
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)) {
|
||||
addDLObject(ImageCache.getDownloadUrl(c, true), ImageCache.getImageKey(c, true, true), downloads);
|
||||
if (ImageUtil.hasBackFacePicture(c)) {
|
||||
addDLObject(ImageUtil.getDownloadUrl(c, true), ImageUtil.getImageKey(c, true, true), downloads);
|
||||
}
|
||||
}
|
||||
|
||||
// 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;
|
||||
}
|
||||
|
||||
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);
|
||||
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
|
||||
* 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 forge.UiCommand;
|
||||
import forge.ImageCache;
|
||||
import forge.assets.FSkinProp;
|
||||
import forge.error.BugReporter;
|
||||
import forge.gui.SOverlayUtils;
|
||||
import forge.gui.toolbox.*;
|
||||
import forge.toolbox.*;
|
||||
import forge.util.FileUtil;
|
||||
import forge.util.MyRandom;
|
||||
import net.miginfocom.swing.MigLayout;
|
||||
|
||||
import org.apache.commons.lang3.tuple.Pair;
|
||||
|
||||
import javax.swing.*;
|
||||
import javax.swing.event.ChangeEvent;
|
||||
import javax.swing.event.ChangeListener;
|
||||
|
||||
import java.awt.*;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
@@ -113,7 +117,7 @@ public abstract class GuiDownloader extends DefaultBoundedRangeModel implements
|
||||
|
||||
barProgress.reset();
|
||||
barProgress.setString("Scanning for existing items...");
|
||||
pnlDialog.setBackgroundTexture(FSkin.getIcon(FSkin.Backgrounds.BG_TEXTURE));
|
||||
pnlDialog.setBackgroundTexture(FSkin.getIcon(FSkinProp.BG_TEXTURE));
|
||||
|
||||
// Layout
|
||||
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.gui.WrapLayout;
|
||||
import forge.gui.toolbox.FHyperlink;
|
||||
import forge.gui.toolbox.FLabel;
|
||||
import forge.gui.toolbox.FOptionPane;
|
||||
import forge.toolbox.FHyperlink;
|
||||
import forge.toolbox.FLabel;
|
||||
import forge.toolbox.FOptionPane;
|
||||
import forge.util.BuildInfo;
|
||||
import net.miginfocom.swing.MigLayout;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
import javax.swing.*;
|
||||
|
||||
import java.awt.*;
|
||||
import java.awt.datatransfer.StringSelection;
|
||||
import java.awt.event.ActionEvent;
|
||||
@@ -1,3 +1,3 @@
|
||||
/** 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.player.Player;
|
||||
import forge.game.zone.ZoneType;
|
||||
import forge.gui.toolbox.*;
|
||||
import forge.gui.toolbox.FSkin.SkinnedPanel;
|
||||
import forge.item.IPaperCard;
|
||||
import forge.item.InventoryItemFromSet;
|
||||
import forge.item.PreconDeck;
|
||||
import forge.item.SealedProduct;
|
||||
import forge.model.FModel;
|
||||
import forge.toolbox.*;
|
||||
import forge.toolbox.FSkin.SkinnedPanel;
|
||||
import forge.util.Lang;
|
||||
import forge.view.FDialog;
|
||||
|
||||
@@ -149,7 +150,7 @@ public class CardDetailPanel extends SkinnedPanel {
|
||||
setInfoLabel.setOpaque(false);
|
||||
setInfoLabel.setBorder(null);
|
||||
} else {
|
||||
CardEdition edition = Singletons.getMagicDb().getEditions().get(set);
|
||||
CardEdition edition = FModel.getMagicDb().getEditions().get(set);
|
||||
if (null != edition) {
|
||||
setInfoLabel.setToolTipText(edition.getName());
|
||||
}
|
||||
@@ -212,7 +213,7 @@ public class CardDetailPanel extends SkinnedPanel {
|
||||
String set = card.getCurSetCode();
|
||||
this.setInfoLabel.setText(set);
|
||||
if (null != set && !set.isEmpty()) {
|
||||
CardEdition edition = Singletons.getMagicDb().getEditions().get(set);
|
||||
CardEdition edition = FModel.getMagicDb().getEditions().get(set);
|
||||
if (null == edition) {
|
||||
setInfoLabel.setToolTipText(card.getRarity().name());
|
||||
}
|
||||
@@ -19,15 +19,16 @@
|
||||
package forge.gui;
|
||||
|
||||
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.toolbox.FButton;
|
||||
import forge.toolbox.FLabel;
|
||||
import forge.toolbox.FScrollPane;
|
||||
import forge.view.FDialog;
|
||||
|
||||
import javax.swing.*;
|
||||
import javax.swing.event.ListSelectionEvent;
|
||||
import javax.swing.event.ListSelectionListener;
|
||||
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.awt.event.WindowEvent;
|
||||
@@ -20,23 +20,24 @@ package forge.gui;
|
||||
|
||||
import forge.ImageCache;
|
||||
import forge.ImageKeys;
|
||||
import forge.Singletons;
|
||||
import forge.card.CardCharacteristicName;
|
||||
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.model.FModel;
|
||||
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 java.awt.*;
|
||||
import java.awt.image.BufferedImage;
|
||||
|
||||
/**
|
||||
* 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 {
|
||||
@@ -104,7 +105,7 @@ public final class CardPicturePanel extends JPanel {
|
||||
}
|
||||
|
||||
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.spellability.SpellAbility;
|
||||
import forge.gui.match.CMatchUI;
|
||||
import forge.gui.toolbox.*;
|
||||
import forge.item.IPaperCard;
|
||||
import forge.item.PaperCard;
|
||||
import forge.screens.match.CMatchUI;
|
||||
import forge.toolbox.*;
|
||||
import forge.view.FDialog;
|
||||
|
||||
import javax.swing.*;
|
||||
@@ -13,6 +13,7 @@ import javax.swing.event.ListDataEvent;
|
||||
import javax.swing.event.ListDataListener;
|
||||
import javax.swing.event.ListSelectionEvent;
|
||||
import javax.swing.event.ListSelectionListener;
|
||||
|
||||
import java.awt.*;
|
||||
import java.awt.event.*;
|
||||
import java.util.ArrayList;
|
||||
@@ -1,14 +1,16 @@
|
||||
package forge.gui;
|
||||
|
||||
import forge.control.ChatArea;
|
||||
import forge.gui.toolbox.*;
|
||||
import forge.gui.toolbox.FSkin.SkinnedPanel;
|
||||
import forge.net.FServer;
|
||||
import forge.net.Lobby;
|
||||
import forge.toolbox.*;
|
||||
import forge.toolbox.FSkin.SkinnedPanel;
|
||||
import net.miginfocom.swing.MigLayout;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
import javax.swing.*;
|
||||
|
||||
import java.awt.*;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
@@ -46,7 +48,7 @@ public enum FNetOverlay {
|
||||
if ( StringUtils.isBlank(message) )
|
||||
return;
|
||||
|
||||
Lobby lobby = FServer.instance.getLobby();
|
||||
Lobby lobby = FServer.getLobby();
|
||||
lobby.speak(ChatArea.Room, lobby.getGuiPlayer(), message);
|
||||
}
|
||||
};
|
||||
@@ -19,34 +19,10 @@ package forge.gui;
|
||||
|
||||
import javax.swing.*;
|
||||
|
||||
import forge.match.MatchConstants;
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
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) {
|
||||
super(property.button);
|
||||
this.putValue("buttonText", property.button);
|
||||
@@ -2,17 +2,20 @@ package forge.gui;
|
||||
|
||||
import com.google.common.base.Function;
|
||||
import com.google.common.collect.Iterables;
|
||||
|
||||
import forge.FThreads;
|
||||
import forge.Singletons;
|
||||
import forge.game.card.Card;
|
||||
import forge.gui.match.CMatchUI;
|
||||
import forge.gui.toolbox.FOptionPane;
|
||||
import forge.item.InventoryItem;
|
||||
import forge.screens.match.CMatchUI;
|
||||
import forge.toolbox.FOptionPane;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
import javax.swing.*;
|
||||
import javax.swing.event.ListSelectionEvent;
|
||||
import javax.swing.event.ListSelectionListener;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.concurrent.Callable;
|
||||
import java.util.concurrent.FutureTask;
|
||||
@@ -2,11 +2,13 @@ package forge.gui;
|
||||
|
||||
import forge.FThreads;
|
||||
import forge.game.card.Card;
|
||||
import forge.gui.match.CMatchUI;
|
||||
import forge.gui.toolbox.FOptionPane;
|
||||
import forge.screens.match.CMatchUI;
|
||||
import forge.toolbox.FOptionPane;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
import javax.swing.*;
|
||||
|
||||
import java.util.concurrent.Callable;
|
||||
import java.util.concurrent.FutureTask;
|
||||
|
||||
@@ -29,7 +29,7 @@ import java.awt.*;
|
||||
* </p>
|
||||
*
|
||||
* @author Forge
|
||||
* @version $Id$
|
||||
* @version $Id: GuiProgressBarWindow.java 24769 2014-02-09 13:56:04Z Hellfish $
|
||||
* @since 1.0.15
|
||||
*/
|
||||
public class GuiProgressBarWindow extends FDialog {
|
||||
@@ -18,11 +18,12 @@
|
||||
package forge.gui;
|
||||
|
||||
import forge.game.card.Card;
|
||||
import forge.gui.match.VMatchUI;
|
||||
import forge.gui.match.views.VField;
|
||||
import forge.screens.match.VMatchUI;
|
||||
import forge.screens.match.views.VField;
|
||||
import forge.view.arcane.CardPanel;
|
||||
|
||||
import javax.swing.*;
|
||||
|
||||
import java.awt.*;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
@@ -36,7 +37,7 @@ import java.util.List;
|
||||
* </p>
|
||||
*
|
||||
* @author Forge
|
||||
* @version $Id$
|
||||
* @version $Id: GuiUtils.java 24769 2014-02-09 13:56:04Z Hellfish $
|
||||
*/
|
||||
public final class GuiUtils {
|
||||
private GuiUtils() {
|
||||
@@ -18,11 +18,13 @@
|
||||
package forge.gui;
|
||||
|
||||
import forge.UiCommand;
|
||||
import forge.assets.FSkinProp;
|
||||
import forge.error.BugReporter;
|
||||
import forge.gui.ImportSourceAnalyzer.OpType;
|
||||
import forge.gui.toolbox.*;
|
||||
import forge.properties.NewConstants;
|
||||
import forge.properties.ForgeConstants;
|
||||
import forge.toolbox.*;
|
||||
import net.miginfocom.swing.MigLayout;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
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.DocumentEvent;
|
||||
import javax.swing.event.DocumentListener;
|
||||
|
||||
import java.awt.*;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
@@ -63,7 +66,7 @@ public class ImportDialog {
|
||||
public ImportDialog(String forcedSrcDir, final Runnable onDialogClose) {
|
||||
_topPanel = new FPanel(new MigLayout("insets dialog, gap 0, center, wrap, fill"));
|
||||
_topPanel.setOpaque(false);
|
||||
_topPanel.setBackgroundTexture(FSkin.getIcon(FSkin.Backgrounds.BG_TEXTURE));
|
||||
_topPanel.setBackgroundTexture(FSkin.getIcon(FSkinProp.BG_TEXTURE));
|
||||
|
||||
final boolean isMigration = !StringUtils.isEmpty(forcedSrcDir);
|
||||
|
||||
@@ -89,11 +92,11 @@ public class ImportDialog {
|
||||
blurbPanelInterior.add(new FLabel.Builder().text(
|
||||
"<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" +
|
||||
" stored in <b>" + NewConstants.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" +
|
||||
" stored in <b>" + ForgeConstants.USER_DIR + "</b> and all downloaded content, such as card pictures," +
|
||||
" 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>" +
|
||||
NewConstants.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" +
|
||||
ForgeConstants.PROFILE_TEMPLATE_FILE + "</b> file in the program installation directory. Copy or rename" +
|
||||
" 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" +
|
||||
" 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:");
|
||||
@@ -316,11 +319,11 @@ public class ImportDialog {
|
||||
JPanel unknownDeckPanel = new JPanel(new MigLayout("insets 0, gap 5"));
|
||||
unknownDeckPanel.setOpaque(false);
|
||||
_unknownDeckCombo = new FComboBoxWrapper<_UnknownDeckChoice>();
|
||||
_unknownDeckCombo.addItem(new _UnknownDeckChoice("Constructed", NewConstants.DECK_CONSTRUCTED_DIR));
|
||||
_unknownDeckCombo.addItem(new _UnknownDeckChoice("Draft", NewConstants.DECK_DRAFT_DIR));
|
||||
_unknownDeckCombo.addItem(new _UnknownDeckChoice("Planar", NewConstants.DECK_PLANE_DIR));
|
||||
_unknownDeckCombo.addItem(new _UnknownDeckChoice("Scheme", NewConstants.DECK_SCHEME_DIR));
|
||||
_unknownDeckCombo.addItem(new _UnknownDeckChoice("Sealed", NewConstants.DECK_SEALED_DIR));
|
||||
_unknownDeckCombo.addItem(new _UnknownDeckChoice("Constructed", ForgeConstants.DECK_CONSTRUCTED_DIR));
|
||||
_unknownDeckCombo.addItem(new _UnknownDeckChoice("Draft", ForgeConstants.DECK_DRAFT_DIR));
|
||||
_unknownDeckCombo.addItem(new _UnknownDeckChoice("Planar", ForgeConstants.DECK_PLANE_DIR));
|
||||
_unknownDeckCombo.addItem(new _UnknownDeckChoice("Scheme", ForgeConstants.DECK_SCHEME_DIR));
|
||||
_unknownDeckCombo.addItem(new _UnknownDeckChoice("Sealed", ForgeConstants.DECK_SEALED_DIR));
|
||||
_unknownDeckCombo.addActionListener(new ActionListener() {
|
||||
@Override public void actionPerformed(ActionEvent arg0) { _updateUI(); }
|
||||
});
|
||||
@@ -19,14 +19,16 @@ package forge.gui;
|
||||
|
||||
import com.google.common.base.Predicate;
|
||||
import com.google.common.collect.Iterables;
|
||||
import forge.ImageCache;
|
||||
import forge.Singletons;
|
||||
|
||||
import forge.assets.ImageUtil;
|
||||
import forge.card.CardEdition;
|
||||
import forge.card.CardRules;
|
||||
import forge.item.IPaperCard;
|
||||
import forge.item.PaperCard;
|
||||
import forge.properties.NewConstants;
|
||||
import forge.model.FModel;
|
||||
import forge.properties.ForgeConstants;
|
||||
import forge.util.FileUtil;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.commons.lang3.tuple.Pair;
|
||||
|
||||
@@ -98,7 +100,7 @@ public class ImportSourceAnalyzer {
|
||||
else if ("pics_product".equalsIgnoreCase(dirname)) { _analyzeProductPicsDir(root); }
|
||||
else if ("preferences".equalsIgnoreCase(dirname)) { _analyzePreferencesDir(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 {
|
||||
// look at files in directory and make a semi-educated guess based on file extensions
|
||||
int numUnhandledFiles = 0;
|
||||
@@ -194,23 +196,23 @@ public class ImportSourceAnalyzer {
|
||||
}
|
||||
|
||||
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) {
|
||||
_analyzeKnownDeckDir(root, NewConstants.DECK_DRAFT_DIR, OpType.DRAFT_DECK);
|
||||
_analyzeKnownDeckDir(root, ForgeConstants.DECK_DRAFT_DIR, OpType.DRAFT_DECK);
|
||||
}
|
||||
|
||||
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) {
|
||||
_analyzeKnownDeckDir(root, NewConstants.DECK_SCHEME_DIR, OpType.SCHEME_DECK);
|
||||
_analyzeKnownDeckDir(root, ForgeConstants.DECK_SCHEME_DIR, OpType.SCHEME_DECK);
|
||||
}
|
||||
|
||||
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) {
|
||||
@@ -243,7 +245,7 @@ public class ImportSourceAnalyzer {
|
||||
// find *.dat files, but exclude LOCKED_*
|
||||
String filename = file.getName();
|
||||
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)) {
|
||||
_cb.addOp(OpType.GAUNTLET_DATA, file, targetFile);
|
||||
}
|
||||
@@ -262,7 +264,7 @@ public class ImportSourceAnalyzer {
|
||||
// find *_preferred.xml files
|
||||
String filename = file.getName();
|
||||
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", ""));
|
||||
_cb.addOp(OpType.PREFERENCE_FILE, file, targetFile);
|
||||
}
|
||||
@@ -296,10 +298,11 @@ public class ImportSourceAnalyzer {
|
||||
if (StringUtils.isEmpty(urls)) { return; }
|
||||
|
||||
int numPics = 1 + StringUtils.countMatches(urls, "\\");
|
||||
if ( c.getArtIndex() > numPics )
|
||||
if (c.getArtIndex() > numPics) {
|
||||
return;
|
||||
}
|
||||
|
||||
String filenameBase = ImageCache.getImageKey(c, backFace, false);
|
||||
String filenameBase = ImageUtil.getImageKey(c, backFace, false);
|
||||
String filename = filenameBase + ".jpg";
|
||||
boolean alreadyHadIt = null != _defaultPicNames.put(filename, filename);
|
||||
if ( alreadyHadIt ) return;
|
||||
@@ -320,19 +323,20 @@ public class ImportSourceAnalyzer {
|
||||
_defaultPicNames = 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);
|
||||
if (ImageCache.hasBackFacePicture(c))
|
||||
if (ImageUtil.hasBackFacePicture(c)) {
|
||||
_addDefaultPicNames(c, true);
|
||||
}
|
||||
}
|
||||
|
||||
for (PaperCard c : Singletons.getMagicDb().getVariantCards().getAllCards()) {
|
||||
for (PaperCard c : FModel.getMagicDb().getVariantCards().getAllCards()) {
|
||||
_addDefaultPicNames(c, false);
|
||||
// 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) {
|
||||
if (_defaultPicOldNameToCurrentName.containsKey(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) {
|
||||
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);
|
||||
if (ImageCache.hasBackFacePicture(c)) {
|
||||
filename = ImageCache.getImageKey(c, true, true) + ".jpg";
|
||||
if (ImageUtil.hasBackFacePicture(c)) {
|
||||
filename = ImageUtil.getImageKey(c, true, true) + ".jpg";
|
||||
cardFileNames.put(filename, filename);
|
||||
}
|
||||
}
|
||||
@@ -375,11 +379,11 @@ public class ImportSourceAnalyzer {
|
||||
private void _analyzeCardPicsSetDir(File root) {
|
||||
if (null == _cardFileNamesBySet) {
|
||||
_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);
|
||||
Predicate<PaperCard> filter = IPaperCard.Predicates.printedInSet(ce.getCode());
|
||||
_addSetCards(cardFileNames, Singletons.getMagicDb().getCommonCards().getAllCards(), filter);
|
||||
_addSetCards(cardFileNames, Singletons.getMagicDb().getVariantCards().getAllCards(), filter);
|
||||
_addSetCards(cardFileNames, FModel.getMagicDb().getCommonCards().getAllCards(), filter);
|
||||
_addSetCards(cardFileNames, FModel.getMagicDb().getVariantCards().getAllCards(), filter);
|
||||
_cardFileNamesBySet.put(ce.getCode2(), cardFileNames);
|
||||
}
|
||||
|
||||
@@ -392,17 +396,17 @@ public class ImportSourceAnalyzer {
|
||||
}
|
||||
};
|
||||
|
||||
for (PaperCard c : Iterables.filter(Singletons.getMagicDb().getVariantCards().getAllCards(), predPlanes)) {
|
||||
String baseName = ImageCache.getImageKey(c,false, true);
|
||||
for (PaperCard c : Iterables.filter(FModel.getMagicDb().getVariantCards().getAllCards(), predPlanes)) {
|
||||
String baseName = ImageUtil.getImageKey(c,false, true);
|
||||
_nameUpdates.put(baseName + ".full.jpg", baseName + ".jpg");
|
||||
if (ImageCache.hasBackFacePicture(c)) {
|
||||
baseName = ImageCache.getImageKey(c, true, true);
|
||||
if (ImageUtil.hasBackFacePicture(c)) {
|
||||
baseName = ImageUtil.getImageKey(c, true, true);
|
||||
_nameUpdates.put(baseName + ".full.jpg", baseName + ".jpg");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
CardEdition.Collection editions = Singletons.getMagicDb().getEditions();
|
||||
CardEdition.Collection editions = FModel.getMagicDb().getEditions();
|
||||
String editionCode = root.getName();
|
||||
CardEdition edition = editions.get(editionCode);
|
||||
if (null == edition) {
|
||||
@@ -413,7 +417,7 @@ public class ImportSourceAnalyzer {
|
||||
|
||||
final String editionCode2 = edition.getCode2();
|
||||
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) {
|
||||
filename = editionCode2 + "/" + filename;
|
||||
if (_nameUpdates.containsKey(filename)) {
|
||||
@@ -441,15 +445,15 @@ public class ImportSourceAnalyzer {
|
||||
private void _analyzeIconsPicsDir(File root) {
|
||||
if (null == _iconFileNames) {
|
||||
_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());
|
||||
}
|
||||
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());
|
||||
}
|
||||
}
|
||||
|
||||
_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 OpType getOpType(String filename) { return OpType.QUEST_PIC; }
|
||||
});
|
||||
@@ -461,15 +465,15 @@ public class ImportSourceAnalyzer {
|
||||
if (null == _tokenFileNames) {
|
||||
_tokenFileNames = 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());
|
||||
}
|
||||
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());
|
||||
}
|
||||
}
|
||||
|
||||
_analyzeListedDir(root, NewConstants.CACHE_TOKEN_PICS_DIR, new _ListedAnalyzer() {
|
||||
_analyzeListedDir(root, ForgeConstants.CACHE_TOKEN_PICS_DIR, new _ListedAnalyzer() {
|
||||
@Override public String map(String filename) {
|
||||
if (_questTokenFileNames.containsKey(filename)) { return _questTokenFileNames.get(filename); }
|
||||
if (_tokenFileNames.containsKey(filename)) { return _tokenFileNames.get(filename); }
|
||||
@@ -487,13 +491,13 @@ public class ImportSourceAnalyzer {
|
||||
@Override boolean onDir(File dir) {
|
||||
String dirName = dir.getName();
|
||||
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)) {
|
||||
_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)) {
|
||||
_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)) {
|
||||
_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 {
|
||||
return false;
|
||||
}
|
||||
@@ -511,7 +515,7 @@ public class ImportSourceAnalyzer {
|
||||
@Override void onFile(File file) {
|
||||
String filename = file.getName();
|
||||
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)) {
|
||||
_cb.addOp(OpType.PREFERENCE_FILE, file, targetFile);
|
||||
}
|
||||
@@ -529,7 +533,7 @@ public class ImportSourceAnalyzer {
|
||||
@Override void onFile(File file) {
|
||||
String filename = file.getName();
|
||||
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)) {
|
||||
_cb.addOp(OpType.DB_FILE, file, targetFile);
|
||||
}
|
||||
@@ -550,7 +554,7 @@ public class ImportSourceAnalyzer {
|
||||
@Override void onFile(File file) {
|
||||
String filename = file.getName();
|
||||
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)) {
|
||||
_cb.addOp(OpType.QUEST_DATA, file, targetFile);
|
||||
}
|
||||
@@ -22,10 +22,10 @@ import com.google.common.base.Function;
|
||||
import com.google.common.collect.Lists;
|
||||
|
||||
import forge.FThreads;
|
||||
import forge.gui.toolbox.FList;
|
||||
import forge.gui.toolbox.FMouseAdapter;
|
||||
import forge.gui.toolbox.FOptionPane;
|
||||
import forge.gui.toolbox.FScrollPane;
|
||||
import forge.toolbox.FList;
|
||||
import forge.toolbox.FMouseAdapter;
|
||||
import forge.toolbox.FOptionPane;
|
||||
import forge.toolbox.FScrollPane;
|
||||
|
||||
import javax.swing.*;
|
||||
import javax.swing.event.ListSelectionEvent;
|
||||
@@ -60,7 +60,7 @@ import java.util.List;
|
||||
* @param <T>
|
||||
* the generic type
|
||||
* @author Forge
|
||||
* @version $Id$
|
||||
* @version $Id: ListChooser.java 25183 2014-03-14 23:09:45Z drdev $
|
||||
*/
|
||||
public class ListChooser<T> {
|
||||
// Data and number of choices for the list
|
||||
@@ -1,17 +1,19 @@
|
||||
package forge.gui;
|
||||
|
||||
import forge.Singletons;
|
||||
import forge.gui.match.TargetingOverlay;
|
||||
import forge.gui.toolbox.FLabel;
|
||||
import forge.gui.toolbox.FOverlay;
|
||||
import forge.gui.toolbox.FPanel;
|
||||
import forge.gui.toolbox.FSkin;
|
||||
import forge.gui.toolbox.FSkin.SkinnedButton;
|
||||
import forge.gui.toolbox.FSkin.SkinnedLabel;
|
||||
import forge.assets.FSkinProp;
|
||||
import forge.screens.match.TargetingOverlay;
|
||||
import forge.toolbox.FLabel;
|
||||
import forge.toolbox.FOverlay;
|
||||
import forge.toolbox.FPanel;
|
||||
import forge.toolbox.FSkin;
|
||||
import forge.toolbox.FSkin.SkinnedButton;
|
||||
import forge.toolbox.FSkin.SkinnedLabel;
|
||||
import net.miginfocom.swing.MigLayout;
|
||||
|
||||
import javax.swing.FocusManager;
|
||||
import javax.swing.*;
|
||||
|
||||
import java.awt.*;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
@@ -41,7 +43,7 @@ public final class SOverlayUtils {
|
||||
pnl.setBackground(FSkin.getColor(FSkin.Colors.CLR_ACTIVE));
|
||||
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");
|
||||
pnl.add(new FLabel.Builder().text("Loading new game...")
|
||||
.fontSize(22).build(), "h 40px!, align center");
|
||||
@@ -1,16 +1,19 @@
|
||||
package forge.gui.framework;
|
||||
|
||||
import com.google.common.collect.Lists;
|
||||
import forge.Singletons;
|
||||
import forge.gui.toolbox.FPanel;
|
||||
import forge.gui.toolbox.FSkin;
|
||||
import forge.gui.toolbox.FSkin.SkinImage;
|
||||
|
||||
import forge.assets.FSkinProp;
|
||||
import forge.model.FModel;
|
||||
import forge.properties.ForgePreferences;
|
||||
import forge.properties.ForgePreferences.FPref;
|
||||
import forge.toolbox.FPanel;
|
||||
import forge.toolbox.FSkin;
|
||||
import forge.toolbox.FSkin.SkinImage;
|
||||
import forge.view.FView;
|
||||
import net.miginfocom.swing.MigLayout;
|
||||
|
||||
import javax.swing.*;
|
||||
|
||||
import java.awt.*;
|
||||
import java.awt.event.MouseAdapter;
|
||||
import java.awt.event.MouseEvent;
|
||||
@@ -107,7 +110,7 @@ public final class DragCell extends JPanel implements ILocalRepaint {
|
||||
* Determines visibility of tabs on game screen.
|
||||
*/
|
||||
private boolean showGameTabs() {
|
||||
ForgePreferences prefs = Singletons.getModel().getPreferences();
|
||||
ForgePreferences prefs = FModel.getPreferences();
|
||||
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. */
|
||||
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;
|
||||
|
||||
public DragHandle() {
|
||||
@@ -1,9 +1,10 @@
|
||||
package forge.gui.framework;
|
||||
|
||||
import forge.gui.toolbox.FSkin;
|
||||
import forge.gui.toolbox.FSkin.SkinnedLabel;
|
||||
import forge.toolbox.FSkin;
|
||||
import forge.toolbox.FSkin.SkinnedLabel;
|
||||
|
||||
import javax.swing.border.EmptyBorder;
|
||||
|
||||
import java.awt.*;
|
||||
|
||||
/**
|
||||
@@ -3,23 +3,23 @@
|
||||
*/
|
||||
package forge.gui.framework;
|
||||
|
||||
import forge.gui.deckeditor.views.*;
|
||||
import forge.gui.home.gauntlet.VSubmenuGauntletBuild;
|
||||
import forge.gui.home.gauntlet.VSubmenuGauntletContests;
|
||||
import forge.gui.home.gauntlet.VSubmenuGauntletLoad;
|
||||
import forge.gui.home.gauntlet.VSubmenuGauntletQuick;
|
||||
import forge.gui.home.quest.*;
|
||||
import forge.gui.home.sanctioned.VSubmenuConstructed;
|
||||
import forge.gui.home.sanctioned.VSubmenuDraft;
|
||||
import forge.gui.home.sanctioned.VSubmenuSealed;
|
||||
import forge.gui.home.settings.VSubmenuAvatars;
|
||||
import forge.gui.home.settings.VSubmenuDownloaders;
|
||||
import forge.gui.home.settings.VSubmenuPreferences;
|
||||
import forge.gui.home.settings.VSubmenuReleaseNotes;
|
||||
import forge.gui.match.views.*;
|
||||
import forge.gui.workshop.views.VCardDesigner;
|
||||
import forge.gui.workshop.views.VCardScript;
|
||||
import forge.gui.workshop.views.VWorkshopCatalog;
|
||||
import forge.screens.deckeditor.views.*;
|
||||
import forge.screens.home.gauntlet.VSubmenuGauntletBuild;
|
||||
import forge.screens.home.gauntlet.VSubmenuGauntletContests;
|
||||
import forge.screens.home.gauntlet.VSubmenuGauntletLoad;
|
||||
import forge.screens.home.gauntlet.VSubmenuGauntletQuick;
|
||||
import forge.screens.home.quest.*;
|
||||
import forge.screens.home.sanctioned.VSubmenuConstructed;
|
||||
import forge.screens.home.sanctioned.VSubmenuDraft;
|
||||
import forge.screens.home.sanctioned.VSubmenuSealed;
|
||||
import forge.screens.home.settings.VSubmenuAvatars;
|
||||
import forge.screens.home.settings.VSubmenuDownloaders;
|
||||
import forge.screens.home.settings.VSubmenuPreferences;
|
||||
import forge.screens.home.settings.VSubmenuReleaseNotes;
|
||||
import forge.screens.match.views.*;
|
||||
import forge.screens.workshop.views.VCardDesigner;
|
||||
import forge.screens.workshop.views.VCardScript;
|
||||
import forge.screens.workshop.views.VWorkshopCatalog;
|
||||
|
||||
/**
|
||||
* These are the identifiers for tabs found in the drag layout.
|
||||
@@ -1,21 +1,22 @@
|
||||
package forge.gui.framework;
|
||||
|
||||
import forge.Singletons;
|
||||
import forge.gui.bazaar.CBazaarUI;
|
||||
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.assets.FSkinProp;
|
||||
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;
|
||||
|
||||
@@ -28,7 +29,7 @@ public enum FScreen {
|
||||
VHomeUI.SINGLETON_INSTANCE,
|
||||
CHomeUI.SINGLETON_INSTANCE,
|
||||
"Home",
|
||||
FSkin.getIcon(FSkin.InterfaceIcons.ICO_FAVICON),
|
||||
FSkin.getIcon(FSkinProp.ICO_FAVICON),
|
||||
false,
|
||||
"Exit Forge",
|
||||
null),
|
||||
@@ -36,103 +37,103 @@ public enum FScreen {
|
||||
VMatchUI.SINGLETON_INSTANCE,
|
||||
CMatchUI.SINGLETON_INSTANCE,
|
||||
"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,
|
||||
"Concede Game",
|
||||
NewConstants.MATCH_LAYOUT_FILE),
|
||||
ForgeConstants.MATCH_LAYOUT_FILE),
|
||||
WORKSHOP_SCREEN(
|
||||
VWorkshopUI.SINGLETON_INSTANCE,
|
||||
CWorkshopUI.SINGLETON_INSTANCE,
|
||||
"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,
|
||||
"Back to Home",
|
||||
NewConstants.WORKSHOP_LAYOUT_FILE),
|
||||
ForgeConstants.WORKSHOP_LAYOUT_FILE),
|
||||
DECK_EDITOR_CONSTRUCTED(
|
||||
VDeckEditorUI.SINGLETON_INSTANCE,
|
||||
CDeckEditorUI.SINGLETON_INSTANCE,
|
||||
"Deck Editor",
|
||||
FSkin.getImage(FSkin.EditorImages.IMG_PACK),
|
||||
FSkin.getImage(FSkinProp.IMG_PACK),
|
||||
false,
|
||||
"Back to Home",
|
||||
NewConstants.EDITOR_LAYOUT_FILE),
|
||||
ForgeConstants.EDITOR_LAYOUT_FILE),
|
||||
DECK_EDITOR_ARCHENEMY(
|
||||
VDeckEditorUI.SINGLETON_INSTANCE,
|
||||
CDeckEditorUI.SINGLETON_INSTANCE,
|
||||
"Scheme Deck Editor",
|
||||
FSkin.getImage(FSkin.EditorImages.IMG_PACK),
|
||||
FSkin.getImage(FSkinProp.IMG_PACK),
|
||||
true,
|
||||
"Close Editor",
|
||||
NewConstants.EDITOR_LAYOUT_FILE),
|
||||
ForgeConstants.EDITOR_LAYOUT_FILE),
|
||||
DECK_EDITOR_COMMANDER(
|
||||
VDeckEditorUI.SINGLETON_INSTANCE,
|
||||
CDeckEditorUI.SINGLETON_INSTANCE,
|
||||
"Commander Deck Editor",
|
||||
FSkin.getImage(FSkin.EditorImages.IMG_PACK),
|
||||
FSkin.getImage(FSkinProp.IMG_PACK),
|
||||
true,
|
||||
"Close Editor",
|
||||
NewConstants.EDITOR_LAYOUT_FILE),
|
||||
ForgeConstants.EDITOR_LAYOUT_FILE),
|
||||
DECK_EDITOR_PLANECHASE(
|
||||
VDeckEditorUI.SINGLETON_INSTANCE,
|
||||
CDeckEditorUI.SINGLETON_INSTANCE,
|
||||
"Planar Deck Editor",
|
||||
FSkin.getImage(FSkin.EditorImages.IMG_PACK),
|
||||
FSkin.getImage(FSkinProp.IMG_PACK),
|
||||
true,
|
||||
"Close Editor",
|
||||
NewConstants.EDITOR_LAYOUT_FILE),
|
||||
ForgeConstants.EDITOR_LAYOUT_FILE),
|
||||
DECK_EDITOR_VANGUARD(
|
||||
VDeckEditorUI.SINGLETON_INSTANCE,
|
||||
CDeckEditorUI.SINGLETON_INSTANCE,
|
||||
"Vanguard Deck Editor",
|
||||
FSkin.getImage(FSkin.EditorImages.IMG_PACK),
|
||||
FSkin.getImage(FSkinProp.IMG_PACK),
|
||||
true,
|
||||
"Close Editor",
|
||||
NewConstants.EDITOR_LAYOUT_FILE),
|
||||
ForgeConstants.EDITOR_LAYOUT_FILE),
|
||||
DECK_EDITOR_DRAFT(
|
||||
VDeckEditorUI.SINGLETON_INSTANCE,
|
||||
CDeckEditorUI.SINGLETON_INSTANCE,
|
||||
"Draft Deck Editor",
|
||||
FSkin.getImage(FSkin.EditorImages.IMG_PACK),
|
||||
FSkin.getImage(FSkinProp.IMG_PACK),
|
||||
true,
|
||||
"Close Editor",
|
||||
NewConstants.EDITOR_LAYOUT_FILE),
|
||||
ForgeConstants.EDITOR_LAYOUT_FILE),
|
||||
DECK_EDITOR_SEALED(
|
||||
VDeckEditorUI.SINGLETON_INSTANCE,
|
||||
CDeckEditorUI.SINGLETON_INSTANCE,
|
||||
"Sealed Deck Editor",
|
||||
FSkin.getImage(FSkin.EditorImages.IMG_PACK),
|
||||
FSkin.getImage(FSkinProp.IMG_PACK),
|
||||
true,
|
||||
"Close Editor",
|
||||
NewConstants.EDITOR_LAYOUT_FILE),
|
||||
ForgeConstants.EDITOR_LAYOUT_FILE),
|
||||
DECK_EDITOR_QUEST(
|
||||
VDeckEditorUI.SINGLETON_INSTANCE,
|
||||
CDeckEditorUI.SINGLETON_INSTANCE,
|
||||
"Quest Deck Editor",
|
||||
FSkin.getImage(FSkin.EditorImages.IMG_PACK),
|
||||
FSkin.getImage(FSkinProp.IMG_PACK),
|
||||
true,
|
||||
"Close Editor",
|
||||
NewConstants.EDITOR_LAYOUT_FILE),
|
||||
ForgeConstants.EDITOR_LAYOUT_FILE),
|
||||
QUEST_CARD_SHOP(
|
||||
VDeckEditorUI.SINGLETON_INSTANCE,
|
||||
CDeckEditorUI.SINGLETON_INSTANCE,
|
||||
"Spell Shop",
|
||||
FSkin.getIcon(FSkin.QuestIcons.ICO_BOOK),
|
||||
FSkin.getIcon(FSkinProp.ICO_QUEST_BOOK),
|
||||
true,
|
||||
"Leave Shop",
|
||||
NewConstants.EDITOR_LAYOUT_FILE),
|
||||
ForgeConstants.EDITOR_LAYOUT_FILE),
|
||||
DRAFTING_PROCESS(
|
||||
VDeckEditorUI.SINGLETON_INSTANCE,
|
||||
CDeckEditorUI.SINGLETON_INSTANCE,
|
||||
"Draft",
|
||||
FSkin.getImage(FSkin.ZoneImages.IMG_HAND),
|
||||
FSkin.getImage(FSkinProp.IMG_ZONE_HAND),
|
||||
true,
|
||||
"Leave Draft",
|
||||
NewConstants.EDITOR_LAYOUT_FILE),
|
||||
ForgeConstants.EDITOR_LAYOUT_FILE),
|
||||
QUEST_BAZAAR(
|
||||
VBazaarUI.SINGLETON_INSTANCE,
|
||||
CBazaarUI.SINGLETON_INSTANCE,
|
||||
"Bazaar",
|
||||
FSkin.getIcon(FSkin.QuestIcons.ICO_BOTTLES),
|
||||
FSkin.getIcon(FSkinProp.ICO_QUEST_BOTTLES),
|
||||
true,
|
||||
"Leave Bazaar",
|
||||
null);
|
||||
@@ -1,9 +1,9 @@
|
||||
package forge.gui.framework;
|
||||
|
||||
import forge.Singletons;
|
||||
import forge.gui.toolbox.FAbsolutePositioner;
|
||||
import forge.properties.FileLocation;
|
||||
import forge.properties.NewConstants;
|
||||
import forge.properties.ForgeConstants;
|
||||
import forge.toolbox.FAbsolutePositioner;
|
||||
import forge.util.CollectionSuppliers;
|
||||
import forge.util.ThreadUtil;
|
||||
import forge.util.maps.HashMapOfLists;
|
||||
@@ -16,6 +16,7 @@ import javax.xml.stream.*;
|
||||
import javax.xml.stream.events.Attribute;
|
||||
import javax.xml.stream.events.StartElement;
|
||||
import javax.xml.stream.events.XMLEvent;
|
||||
|
||||
import java.awt.*;
|
||||
import java.io.*;
|
||||
import java.util.Collection;
|
||||
@@ -65,7 +66,7 @@ public final class SLayoutIO {
|
||||
|
||||
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 XMLOutputFactory out = XMLOutputFactory.newInstance();
|
||||
FileOutputStream fos = null;
|
||||
@@ -105,7 +106,7 @@ public final class SLayoutIO {
|
||||
public static void loadWindowLayout() {
|
||||
final FFrame window = FView.SINGLETON_INSTANCE.getFrame();
|
||||
final XMLInputFactory inputFactory = XMLInputFactory.newInstance();
|
||||
final FileLocation file = NewConstants.WINDOW_LAYOUT_FILE;
|
||||
final FileLocation file = ForgeConstants.WINDOW_LAYOUT_FILE;
|
||||
boolean usedCustomPrefsFile = false;
|
||||
FileInputStream fis = null;
|
||||
try {
|
||||
@@ -1,9 +1,10 @@
|
||||
package forge.gui.framework;
|
||||
|
||||
import forge.assets.FSkinProp;
|
||||
import forge.gui.MouseUtil;
|
||||
import forge.gui.toolbox.FSkin;
|
||||
import forge.gui.toolbox.FSkin.SkinCursor;
|
||||
import forge.gui.toolbox.FSkin.SkinnedLayeredPane;
|
||||
import forge.toolbox.FSkin;
|
||||
import forge.toolbox.FSkin.SkinCursor;
|
||||
import forge.toolbox.FSkin.SkinnedLayeredPane;
|
||||
import forge.view.FView;
|
||||
|
||||
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 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_T = FSkin.getCursor(FSkin.LayoutImages.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_R = FSkin.getCursor(FSkin.LayoutImages.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_L = FSkin.getCursor(FSkinProp.IMG_CUR_L, 16, 16, "CUR_L");
|
||||
private static final SkinCursor CUR_T = FSkin.getCursor(FSkinProp.IMG_CUR_T, 16, 16, "CUR_T");
|
||||
private static final SkinCursor CUR_B = FSkin.getCursor(FSkinProp.IMG_CUR_B, 16, 16, "CUR_B");
|
||||
private static final SkinCursor CUR_R = FSkin.getCursor(FSkinProp.IMG_CUR_R, 16, 16, "CUR_R");
|
||||
private static final SkinCursor CUR_TAB = FSkin.getCursor(FSkinProp.IMG_CUR_TAB, 16, 16, "CUR_TAB");
|
||||
|
||||
private static final MouseListener MAD_REARRANGE = new MouseAdapter() {
|
||||
@Override
|
||||
@@ -2,8 +2,8 @@ package forge.gui.framework;
|
||||
|
||||
import forge.gui.FNetOverlay;
|
||||
import forge.gui.MouseUtil;
|
||||
import forge.gui.toolbox.FAbsolutePositioner;
|
||||
import forge.gui.toolbox.FOverlay;
|
||||
import forge.toolbox.FAbsolutePositioner;
|
||||
import forge.toolbox.FOverlay;
|
||||
import forge.view.FDialog;
|
||||
import forge.view.FFrame;
|
||||
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.gui.GuiUtils;
|
||||
import forge.gui.home.quest.DialogChooseSets;
|
||||
import forge.gui.toolbox.itemmanager.filters.*;
|
||||
import forge.item.PaperCard;
|
||||
import forge.itemmanager.filters.*;
|
||||
import forge.model.FModel;
|
||||
import forge.quest.QuestWorld;
|
||||
import forge.screens.home.quest.DialogChooseSets;
|
||||
|
||||
import javax.swing.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -52,7 +53,7 @@ public class CardManager extends ItemManager<PaperCard> {
|
||||
GuiUtils.addSeparator(menu); //separate from current search item
|
||||
|
||||
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() {
|
||||
@Override
|
||||
public void run() {
|
||||
@@ -85,7 +86,7 @@ public class CardManager extends ItemManager<PaperCard> {
|
||||
});
|
||||
|
||||
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() {
|
||||
@Override
|
||||
public void run() {
|
||||
@@ -1,26 +1,31 @@
|
||||
package forge.gui.toolbox.itemmanager;
|
||||
package forge.itemmanager;
|
||||
|
||||
import forge.UiCommand;
|
||||
import forge.Singletons;
|
||||
import forge.assets.FSkinProp;
|
||||
import forge.deck.DeckBase;
|
||||
import forge.deck.io.DeckPreferences;
|
||||
import forge.game.GameFormat;
|
||||
import forge.game.GameType;
|
||||
import forge.gui.GuiUtils;
|
||||
import forge.gui.deckeditor.CDeckEditorUI;
|
||||
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.deck.DeckProxy;
|
||||
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.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.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;
|
||||
|
||||
@@ -43,10 +48,10 @@ import java.util.Set;
|
||||
*/
|
||||
@SuppressWarnings("serial")
|
||||
public final class DeckManager extends ItemManager<DeckProxy> {
|
||||
private static final FSkin.SkinIcon icoDelete = FSkin.getIcon(FSkin.InterfaceIcons.ICO_DELETE);
|
||||
private static final FSkin.SkinIcon icoDeleteOver = FSkin.getIcon(FSkin.InterfaceIcons.ICO_DELETE_OVER);
|
||||
private static final FSkin.SkinIcon icoEdit = FSkin.getIcon(FSkin.InterfaceIcons.ICO_EDIT);
|
||||
private static final FSkin.SkinIcon icoEditOver = FSkin.getIcon(FSkin.InterfaceIcons.ICO_EDIT_OVER);
|
||||
private static final FSkin.SkinIcon icoDelete = FSkin.getIcon(FSkinProp.ICO_DELETE);
|
||||
private static final FSkin.SkinIcon icoDeleteOver = FSkin.getIcon(FSkinProp.ICO_DELETE_OVER);
|
||||
private static final FSkin.SkinIcon icoEdit = FSkin.getIcon(FSkinProp.ICO_EDIT);
|
||||
private static final FSkin.SkinIcon icoEditOver = FSkin.getIcon(FSkinProp.ICO_EDIT_OVER);
|
||||
|
||||
private final GameType gametype;
|
||||
private UiCommand cmdDelete, cmdSelect;
|
||||
@@ -83,11 +88,11 @@ public final class DeckManager extends ItemManager<DeckProxy> {
|
||||
boolean wasStringOnly = (this.getConfig() == 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)) {
|
||||
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());
|
||||
colOverrides = new HashMap<ColumnDef, ItemColumn>();
|
||||
colOverrides = new HashMap<ColumnDef, ItemTableColumn>();
|
||||
colOverrides.put(ColumnDef.DECK_ACTIONS, column);
|
||||
}
|
||||
super.setup(config0, colOverrides);
|
||||
@@ -155,7 +160,7 @@ public final class DeckManager extends ItemManager<DeckProxy> {
|
||||
menu.add(folder);
|
||||
|
||||
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() {
|
||||
@Override
|
||||
public void run() {
|
||||
@@ -188,7 +193,7 @@ public final class DeckManager extends ItemManager<DeckProxy> {
|
||||
});
|
||||
|
||||
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() {
|
||||
@Override
|
||||
public void run() {
|
||||
@@ -217,7 +222,7 @@ public final class DeckManager extends ItemManager<DeckProxy> {
|
||||
switch (this.gametype) {
|
||||
case Quest:
|
||||
screen = FScreen.DECK_EDITOR_QUEST;
|
||||
editorCtrl = new CEditorQuest(Singletons.getModel().getQuest());
|
||||
editorCtrl = new CEditorQuest(FModel.getQuest());
|
||||
break;
|
||||
case Constructed:
|
||||
screen = FScreen.DECK_EDITOR_CONSTRUCTED;
|
||||
@@ -226,11 +231,11 @@ public final class DeckManager extends ItemManager<DeckProxy> {
|
||||
break;
|
||||
case Sealed:
|
||||
screen = FScreen.DECK_EDITOR_SEALED;
|
||||
editorCtrl = new CEditorLimited(Singletons.getModel().getDecks().getSealed(), screen);
|
||||
editorCtrl = new CEditorLimited(FModel.getDecks().getSealed(), screen);
|
||||
break;
|
||||
case Draft:
|
||||
screen = FScreen.DECK_EDITOR_DRAFT;
|
||||
editorCtrl = new CEditorLimited(Singletons.getModel().getDecks().getDraft(), screen);
|
||||
editorCtrl = new CEditorLimited(FModel.getDecks().getDraft(), screen);
|
||||
break;
|
||||
|
||||
default:
|
||||
@@ -266,7 +271,7 @@ public final class DeckManager extends ItemManager<DeckProxy> {
|
||||
break;
|
||||
case Quest:
|
||||
deck.deleteFromStorage();
|
||||
Singletons.getModel().getQuest().save();
|
||||
FModel.getQuest().save();
|
||||
break;
|
||||
default:
|
||||
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
|
||||
* 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.Predicates;
|
||||
import com.google.common.collect.Iterables;
|
||||
|
||||
import forge.UiCommand;
|
||||
import forge.assets.FSkinProp;
|
||||
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.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.ItemPool;
|
||||
import forge.util.ReflectionUtil;
|
||||
@@ -55,7 +60,7 @@ import java.util.Map.Entry;
|
||||
* the generic type
|
||||
*/
|
||||
@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 final ItemManagerModel<T> model;
|
||||
private Predicate<? super T> filterPredicate = null;
|
||||
@@ -99,7 +104,7 @@ public abstract class ItemManager<T extends InventoryItem> extends JPanel {
|
||||
.fontSize(12)
|
||||
.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()
|
||||
.hoverable().selectable(true)
|
||||
.icon(VIEW_OPTIONS_ICON).iconScaleAuto(false)
|
||||
@@ -297,7 +302,7 @@ public abstract class ItemManager<T extends InventoryItem> extends JPanel {
|
||||
public void setup(ItemManagerConfig config0) {
|
||||
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.setWantUnique(config0.getUniqueCardsOnly());
|
||||
for (ItemView<T> view : this.views) {
|
||||
@@ -15,9 +15,9 @@
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* 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.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.itemmanager.filters.ItemFilter;
|
||||
|
||||
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.Predicates;
|
||||
|
||||
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.itemmanager.ItemManager;
|
||||
import forge.itemmanager.SpellShopManager;
|
||||
import forge.itemmanager.SItemManagerUtil.StatTypes;
|
||||
|
||||
import javax.swing.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@@ -45,8 +46,8 @@ public class CardCMCFilter extends StatTypeFilter<PaperCard> {
|
||||
protected final Predicate<PaperCard> buildPredicate() {
|
||||
final List<Predicate<CardRules>> cmcs = new ArrayList<Predicate<CardRules>>();
|
||||
|
||||
for (SItemManagerUtil.StatTypes s : buttonMap.keySet()) {
|
||||
if (s.predicate != null && buttonMap.get(s).getSelected()) {
|
||||
for (StatTypes s : buttonMap.keySet()) {
|
||||
if (s.predicate != null && buttonMap.get(s).isSelected()) {
|
||||
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.Predicates;
|
||||
|
||||
import forge.card.CardRules;
|
||||
import forge.card.CardRulesPredicates;
|
||||
import forge.gui.toolbox.itemmanager.ItemManager;
|
||||
import forge.item.PaperCard;
|
||||
import forge.itemmanager.ItemManager;
|
||||
|
||||
/**
|
||||
* 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 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.itemmanager.ItemManager;
|
||||
import forge.itemmanager.SFilterUtil;
|
||||
import forge.itemmanager.SpellShopManager;
|
||||
import forge.itemmanager.SItemManagerUtil.StatTypes;
|
||||
|
||||
import javax.swing.*;
|
||||
|
||||
/**
|
||||
* TODO: Write javadoc for this type.
|
||||
*
|
||||
*/
|
||||
|
||||
public class CardColorFilter extends StatTypeFilter<PaperCard> {
|
||||
public CardColorFilter(ItemManager<? super PaperCard> itemManager0) {
|
||||
super(itemManager0);
|
||||
@@ -1,15 +1,13 @@
|
||||
package forge.gui.toolbox.itemmanager.filters;
|
||||
package forge.itemmanager.filters;
|
||||
|
||||
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;
|
||||
|
||||
/**
|
||||
* TODO: Write javadoc for this type.
|
||||
*
|
||||
*/
|
||||
import forge.game.GameFormat;
|
||||
import forge.item.PaperCard;
|
||||
import forge.itemmanager.ItemManager;
|
||||
import forge.itemmanager.SFilterUtil;
|
||||
|
||||
|
||||
public class CardFormatFilter extends FormatFilter<PaperCard> {
|
||||
public CardFormatFilter(ItemManager<? super PaperCard> 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.Predicates;
|
||||
|
||||
import forge.card.CardRules;
|
||||
import forge.card.CardRulesPredicates;
|
||||
import forge.gui.toolbox.itemmanager.ItemManager;
|
||||
import forge.item.PaperCard;
|
||||
import forge.itemmanager.ItemManager;
|
||||
|
||||
/**
|
||||
* 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.gui.toolbox.itemmanager.ItemManager;
|
||||
import forge.item.PaperCard;
|
||||
import forge.itemmanager.ItemManager;
|
||||
import forge.model.FModel;
|
||||
import forge.quest.QuestWorld;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* TODO: Write javadoc for this type.
|
||||
*
|
||||
*/
|
||||
|
||||
public class CardQuestWorldFilter extends CardFormatFilter {
|
||||
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) {
|
||||
if (questWorld.getFormat() == null && Singletons.getModel().getQuest().getMainFormat() == null) {
|
||||
if (questWorld.getFormat() == null && FModel.getQuest().getMainFormat() == null) {
|
||||
return false; //must have format
|
||||
}
|
||||
return existingFilter == null || !((CardQuestWorldFilter)existingFilter).questWorlds.contains(questWorld);
|
||||
@@ -86,7 +83,7 @@ public class CardQuestWorldFilter extends CardFormatFilter {
|
||||
GameFormat format = w.getFormat();
|
||||
if (format == null) {
|
||||
//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;
|
||||
}
|
||||
@@ -1,24 +1,23 @@
|
||||
package forge.gui.toolbox.itemmanager.filters;
|
||||
package forge.itemmanager.filters;
|
||||
|
||||
import com.google.common.base.Predicate;
|
||||
|
||||
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.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 java.awt.event.ItemEvent;
|
||||
import java.awt.event.ItemListener;
|
||||
|
||||
/**
|
||||
* TODO: Write javadoc for this type.
|
||||
*
|
||||
*/
|
||||
|
||||
public class CardSearchFilter extends TextSearchFilter<PaperCard> {
|
||||
private FComboBoxWrapper<String> cbSearchMode;
|
||||
private FLabel btnName, btnType, btnText;
|
||||
@@ -33,9 +32,9 @@ public class CardSearchFilter extends TextSearchFilter<PaperCard> {
|
||||
copy.getWidget(); //initialize widget
|
||||
copy.txtSearch.setText(this.txtSearch.getText());
|
||||
copy.cbSearchMode.setSelectedIndex(this.cbSearchMode.getSelectedIndex());
|
||||
copy.btnName.setSelected(this.btnName.getSelected());
|
||||
copy.btnType.setSelected(this.btnType.getSelected());
|
||||
copy.btnText.setSelected(this.btnText.getSelected());
|
||||
copy.btnName.setSelected(this.btnName.isSelected());
|
||||
copy.btnType.setSelected(this.btnType.isSelected());
|
||||
copy.btnText.setSelected(this.btnText.isSelected());
|
||||
return copy;
|
||||
}
|
||||
|
||||
@@ -102,15 +101,15 @@ public class CardSearchFilter extends TextSearchFilter<PaperCard> {
|
||||
return SFilterUtil.buildTextFilter(
|
||||
txtSearch.getText(),
|
||||
cbSearchMode.getSelectedIndex() != 0,
|
||||
btnName.getSelected(),
|
||||
btnType.getSelected(),
|
||||
btnText.getSelected());
|
||||
btnName.isSelected(),
|
||||
btnType.isSelected(),
|
||||
btnText.isSelected());
|
||||
}
|
||||
|
||||
@Override
|
||||
protected <U extends InventoryItem> boolean showUnsupportedItem(U item) {
|
||||
//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
|
||||
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