Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Story Arc Editor #4020

Draft
wants to merge 49 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
5164532
Add startup button for story arc editor
AaronGullickson Apr 22, 2024
ca96ed2
Add frame for StoryArcEditorGUI and ability to get there from splash …
AaronGullickson Apr 22, 2024
4e5e6cd
Add StoryPointTableModel and corresponding table to GUI
AaronGullickson Apr 22, 2024
d002bbc
Add StoryPointEditorPanel framework (WIP)
AaronGullickson Apr 22, 2024
2a7f60a
Add information on linking storypoints to StoryPointEditorPanel
AaronGullickson Apr 22, 2024
4936a11
Add beginning of story outcomes table to StoryPointEditorPanel
AaronGullickson Apr 22, 2024
c58bf35
Add default outcomes to story outcome table in StoryPointEditorPanel
AaronGullickson Apr 22, 2024
33a7c42
Report next story point name rather than id in outcome table for Stor…
AaronGullickson Apr 22, 2024
6c92c0b
Add class name for each story point
AaronGullickson Apr 22, 2024
fb4dd58
Create StoryPointHyperLinkListener
AaronGullickson Apr 23, 2024
19cb0da
Try another approach to displaying StoryOutcomes in StoryPointEditoPa…
AaronGullickson Apr 23, 2024
4efcbb6
Preventing JLabel wrapping with <nobr> tag
AaronGullickson Apr 23, 2024
0f9f924
Add getAllPossibleResults method to StoryPoint
AaronGullickson Apr 23, 2024
e0aa366
Make delete outcome button function in StoryPointEditorPanel
AaronGullickson Apr 24, 2024
a998aa7
Add StoryTrigger description
AaronGullickson Apr 24, 2024
891acf3
Refactor StoryPointHyperLinkListener to gui
AaronGullickson Apr 24, 2024
d803935
Use static token for STORYPOINT in hyperlinklistener
AaronGullickson Apr 24, 2024
54f4686
Add CustomizeStoryOutcomeDialog
AaronGullickson Apr 24, 2024
2eb1fd1
Make add outcome button functional in StoryPointEditorPanel
AaronGullickson Apr 24, 2024
212b0c6
Add actual possible results for CheckStringVariableStoryPoint
AaronGullickson Apr 24, 2024
b2cfbe0
Improve layout of Add StoryOutcome button and combobox
AaronGullickson Apr 24, 2024
35c698c
Add missing space
AaronGullickson Apr 24, 2024
b44680b
Disallow CURRENT as a possible result for ScenarioStoryPoint
AaronGullickson Apr 24, 2024
87bab0b
Fix graphical artifact when updating story outcomes
AaronGullickson Apr 24, 2024
3a8633d
Add save and cancel button for name in StoryPointEditorPanel
AaronGullickson Apr 24, 2024
8f16056
Change title of story arc editor
AaronGullickson Apr 24, 2024
90ddeaf
Remove StoryOutcomeModel
AaronGullickson Apr 24, 2024
14e16bc
Set up story trigger panel in CustomizeStoryOutcomeDialog
AaronGullickson Apr 24, 2024
d894c65
Add storytriggerpanels
AaronGullickson Apr 27, 2024
17ec557
Merge branch 'master' into story-arc-editor
AaronGullickson May 7, 2024
63fe8fa
Redesign CustomizeStoryOUtcomeDialog for display of triggerpanels
AaronGullickson May 8, 2024
4482900
Make StoryTrigger.getStoryArc public
AaronGullickson May 8, 2024
6668390
Add ChangeStringVariableStoryTriggerPanel
AaronGullickson May 8, 2024
0f701f9
Add SwitchTabStoryTriggerPanel
AaronGullickson May 8, 2024
e78a901
Pass in proper subclass to StoryTriggerPanel
AaronGullickson May 8, 2024
e2e4f31
Make combobox private
AaronGullickson May 8, 2024
5b2a867
Add CompleteMissionStoryTriggerPanel
AaronGullickson May 8, 2024
a51979b
Add SetDateStoryTriggerPanel
AaronGullickson May 8, 2024
b6e20b4
Add delete button for triggers in StoryTriggerPanel
AaronGullickson May 8, 2024
8020621
Merge branch 'master' into story-arc-editor
AaronGullickson May 8, 2024
04895c5
Make delete trigger button functional
AaronGullickson May 11, 2024
ba3e117
Remove unused function
AaronGullickson May 11, 2024
44009fc
Set layout of SwitchTabStoryTriggerPanel to GridBagLayout
AaronGullickson May 11, 2024
dd43f6f
Add AdvanceTimeStoryTriggerPanel
AaronGullickson May 28, 2024
46e66cf
Add EndArc and GameOver StoryTriggerPanels
AaronGullickson May 28, 2024
4647b66
Add story trigger drop down selector
AaronGullickson May 28, 2024
037d14e
Correct layout of CompleteMissionStoryTriggerPanel
AaronGullickson May 28, 2024
e579c30
Fix conflicts
AaronGullickson May 28, 2024
4185450
Resolve merge conflicts
AaronGullickson Feb 25, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Add SwitchTabStoryTriggerPanel
  • Loading branch information
AaronGullickson committed May 8, 2024
commit 0f701f9149f5c1d33ec92bf5559b913dc180b3e0
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
import megamek.Version;
import mekhq.gui.panels.storytriggerpanels.FakeStoryTriggerPanel;
import mekhq.gui.panels.storytriggerpanels.StoryTriggerPanel;
import mekhq.gui.panels.storytriggerpanels.SwitchTabStoryTriggerPanel;
import mekhq.utilities.MHQXMLUtility;
import mekhq.campaign.Campaign;
import mekhq.campaign.storyarc.StoryTrigger;
Expand All @@ -43,6 +44,14 @@ public class SwitchTabStoryTrigger extends StoryTrigger {

MHQTabType tab;

public MHQTabType getTab() {
return tab;
}

public void setTab(MHQTabType tab) {
this.tab = tab;
}

@Override
protected void execute() {
getCampaign().getApp().getCampaigngui().setSelectedTab(tab);
Expand All @@ -55,7 +64,7 @@ public String getDescription() {

@Override
public StoryTriggerPanel getPanel(JFrame frame) {
return new FakeStoryTriggerPanel(frame, "StoryTriggerPanel", this);
return new SwitchTabStoryTriggerPanel(frame, "StoryTriggerPanel", this);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ public abstract class StoryTriggerPanel extends AbstractMHQScrollablePanel {
protected JPanel panMain;


protected StoryTriggerPanel(JFrame frame, String name, StoryTrigger trigger) {
public StoryTriggerPanel(JFrame frame, String name, StoryTrigger trigger) {
super(frame, name);
this.storyTrigger = trigger;
initialize();
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
package mekhq.gui.panels.storytriggerpanels;

import megamek.client.ui.baseComponents.MMComboBox;
import mekhq.campaign.storyarc.StoryTrigger;
import mekhq.campaign.storyarc.storytrigger.SwitchTabStoryTrigger;
import mekhq.gui.enums.MHQTabType;

import javax.swing.*;
import java.awt.*;

public class SwitchTabStoryTriggerPanel extends StoryTriggerPanel {

MMComboBox<MHQTabType> comboTab;

public SwitchTabStoryTriggerPanel(JFrame frame, String name, StoryTrigger trigger) {
super(frame, name, trigger);
}

@Override
protected void createMainPanel() {
SwitchTabStoryTrigger switchTrigger;
if(!(getStoryTrigger() instanceof SwitchTabStoryTrigger)) {
getMainPanel().add(new JLabel("Incorrect story trigger type!"));
return;
} else {
switchTrigger = (SwitchTabStoryTrigger) getStoryTrigger();
}

comboTab = new MMComboBox<>("comboTab", MHQTabType.values());
comboTab.setSelectedItem(switchTrigger.getTab());

GridBagConstraints gbc = new GridBagConstraints();
gbc.gridx = 0;
gbc.gridy = 0;
gbc.weightx = 0.0;
gbc.insets = new Insets(5,5,5,5);
gbc.anchor = GridBagConstraints.WEST;
gbc.fill = GridBagConstraints.NONE;
getMainPanel().add(new JLabel("Selected Tab:"), gbc);
gbc.gridx++;
gbc.weightx = 1.0;
gbc.fill = GridBagConstraints.HORIZONTAL;
getMainPanel().add(comboTab, gbc);

}

@Override
public void updateStoryStrigger() {
SwitchTabStoryTrigger switchTrigger;
if(!(getStoryTrigger() instanceof SwitchTabStoryTrigger)) {
return;
} else {
switchTrigger = (SwitchTabStoryTrigger) getStoryTrigger();
}
switchTrigger.setTab(comboTab.getSelectedItem());
}
}