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

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 17 additions & 3 deletions src/main/java/org/guideme/guideme/MainLogic.java
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@
import org.guideme.guideme.model.Audio;
import org.guideme.guideme.model.Button;
import org.guideme.guideme.model.Delay;
import org.guideme.guideme.model.Text;
import org.guideme.guideme.model.Timer;
import org.guideme.guideme.model.Guide;
import org.guideme.guideme.model.Image;
Expand Down Expand Up @@ -328,7 +329,7 @@ private Page Generate404Page(Guide guide, String chapterName, String strPageId)
Page objCurrPage = guide.getChapters().get(chapterName).getPages().get("GuideMe404Error");
String strText = "<div><p><h1>Oops it looks like page " + strPageId + " does not exist</h1></p>";
strText = strText + "<p>Please contact the Author to let them know the issue</p></div>";
objCurrPage.setText(strText);
objCurrPage.addText(new Text(strText));
return objCurrPage;
}

Expand Down Expand Up @@ -613,7 +614,14 @@ private void ProcessLeftText(Page objCurrPage, String fileSeparator, AppSettings
//Replace any string pref in the HTML with the user preference
//they are encoded #prefName#
try {
String displayText = objCurrPage.getLeftText();
StringBuilder displayTextBuilder = new StringBuilder();
for (int i = 0; i < objCurrPage.getLeftTextCount(); i++) {
if (objCurrPage.getLeftText(i).canShow(guide.getFlags())) {
displayTextBuilder.append(objCurrPage.getLeftText(i).getText());
}
}
String displayText = displayTextBuilder.toString();

// Media Directory
try {
String mediaPath;
Expand Down Expand Up @@ -690,7 +698,13 @@ private void ProcessRightPanel(Page objCurrPage, String fileSeparator, AppSettin
try {
String displayText = "";
if (overRide.getHtml().equals("") && overRide.getRightHtml().equals("")) {
displayText = objCurrPage.getText();
StringBuilder displayTextBuilder = new StringBuilder();
for (int i = 0; i < objCurrPage.getTextCount(); i++) {
if (objCurrPage.getText(i).canShow(guide.getFlags())) {
displayTextBuilder.append(objCurrPage.getText(i).getText());
}
}
displayText = displayTextBuilder.toString();
} else {
if (!overRide.getHtml().equals("")) {
displayText = overRide.getHtml();
Expand Down
32 changes: 18 additions & 14 deletions src/main/java/org/guideme/guideme/model/Page.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
import org.guideme.guideme.settings.ComonFunctions;

public class Page {
private String text = ""; //HTML to display
private String leftText = ""; //HTML to display in the left pane instead of an image
private String id; //Page Name
private ArrayList<Text> text = new ArrayList<Text>(); //HTML to display
private ArrayList<Text> leftText = new ArrayList<Text>(); //HTML to display in the left pane instead of an image
private ArrayList<Button> button = new ArrayList<Button>();
private ArrayList<WebcamButton> webcamButton = new ArrayList<WebcamButton>();
private ArrayList<Delay> delay = new ArrayList<Delay>();
Expand All @@ -30,12 +30,16 @@ public class Page {
private ComonFunctions comonFunctions = ComonFunctions.getComonFunctions();


public String getLeftText() {
return leftText;
public Text getLeftText(int txtIndex) {
return leftText.get(txtIndex);
}

public void setLeftText(String leftText) {
this.leftText = leftText;
public void addLeftText(Text leftText) {
this.leftText.add(leftText);
}

public int getLeftTextCount() {
return this.leftText.size();
}

public Page(String id) {
Expand Down Expand Up @@ -216,12 +220,16 @@ public int getAudioCount() {
return audio.size();
}

public String getText() {
return text;
public Text getText(int txtIndex) {
return text.get(txtIndex);
}

public void addText(Text text) {
this.text.add(text);
}

public void setText(String text) {
this.text = text;
public int getTextCount() {
return this.text.size();
}

public String getjScript() {
Expand Down Expand Up @@ -283,8 +291,4 @@ public void addAudio2(Audio audio) {
public int getAudio2Count() {
return audio2.size();
}




}
60 changes: 60 additions & 0 deletions src/main/java/org/guideme/guideme/model/Text.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
package org.guideme.guideme.model;

import org.guideme.guideme.settings.ComonFunctions;

import java.time.LocalTime;
import java.util.ArrayList;

public class Text
{
private final String ifSet;
private final String ifNotSet;
private final LocalTime ifBefore; //Time of day must be before this time
private final LocalTime ifAfter; //Time of day must be after this time
private final String text;
private final ComonFunctions comonFunctions = ComonFunctions.getComonFunctions();

public Text(String text)
{
this(text, "", "", "", "");
}

public Text(String text, String ifSet, String ifNotSet)
{
this(text, ifSet, ifNotSet, "", "");
}

public Text(String text, String ifSet, String ifNotSet, String ifBefore, String ifAfter)
{
this.text = text;
this.ifNotSet = ifNotSet;
this.ifSet = ifSet;
this.ifBefore = ifBefore == null || ifBefore.isEmpty() ? null : LocalTime.parse(ifBefore);
this.ifAfter = ifAfter == null || ifAfter.isEmpty() ? null : LocalTime.parse(ifAfter);
}

public boolean canShow(ArrayList<String> setList)
{
return comonFunctions.canShow(setList, ifSet, ifNotSet) && comonFunctions.canShowTime(ifBefore, ifAfter);
}

public String getText() {
return this.text;
}

public String getIfSet() {
return ifSet;
}

public String getIfNotSet() {
return ifNotSet;
}

public LocalTime getIfBefore() {
return ifBefore;
}

public LocalTime getIfAfter() {
return ifAfter;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
import org.guideme.guideme.model.Chapter;
import org.guideme.guideme.model.Guide;
import org.guideme.guideme.model.Page;
import org.guideme.guideme.model.Text;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.select.Elements;
Expand Down Expand Up @@ -69,7 +70,7 @@ private void addPage(Chapter chapter, Document doc, int pageNr) {
if (elm.size() > 0) {
String text = elm.first().text().replace('\r', ' ').replace('\n', ' ');
text = CharSetUtils.squeeze(text, " ");
page.setText(text);
page.addText(new Text(text));
}

chapter.getPages().put(page.getId(), page);
Expand Down
23 changes: 21 additions & 2 deletions src/main/java/org/guideme/guideme/readers/XmlGuideReader.java
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
import org.guideme.guideme.model.LoadGuide;
import org.guideme.guideme.model.Metronome;
import org.guideme.guideme.model.Page;
import org.guideme.guideme.model.Text;
import org.guideme.guideme.model.Timer;
import org.guideme.guideme.model.Video;
import org.guideme.guideme.model.Webcam;
Expand Down Expand Up @@ -781,9 +782,18 @@ private void parseFile(String xmlFileName, Guide guide, String PresName, Chapter
break;
case Text:
try {
ifSet = reader.getAttributeValue(null, "if-set");
if (ifSet == null) ifSet = "";
ifNotSet = reader.getAttributeValue(null, "if-not-set");
if (ifNotSet == null) ifNotSet = "";
ifBefore = reader.getAttributeValue(null, "if-before");
if (ifBefore == null) ifBefore = "";
ifAfter = reader.getAttributeValue(null, "if-after");
if (ifAfter == null) ifAfter = "";

if (reader.getName().getLocalPart().equals("Text")) {
String text = processText(reader, "Text");
page.setText(text);
page.addText(new Text(text, ifSet, ifNotSet, ifBefore, ifAfter));
logger.trace("loadXML " + PresName + " Text " + text);
}
} catch (Exception e1) {
Expand All @@ -792,9 +802,18 @@ private void parseFile(String xmlFileName, Guide guide, String PresName, Chapter
break;
case LeftText:
try {
ifSet = reader.getAttributeValue(null, "if-set");
if (ifSet == null) ifSet = "";
ifNotSet = reader.getAttributeValue(null, "if-not-set");
if (ifNotSet == null) ifNotSet = "";
ifBefore = reader.getAttributeValue(null, "if-before");
if (ifBefore == null) ifBefore = "";
ifAfter = reader.getAttributeValue(null, "if-after");
if (ifAfter == null) ifAfter = "";

if (reader.getName().getLocalPart().equals("LeftText")) {
String text = processText(reader, "LeftText");
page.setLeftText(text);
page.addText(new Text(text, ifSet, ifNotSet, ifBefore, ifAfter));
logger.trace("loadXML " + PresName + " Left Text " + text);
}
} catch (Exception e1) {
Expand Down
8 changes: 7 additions & 1 deletion src/main/java/org/guideme/guideme/ui/DebugShell.java
Original file line number Diff line number Diff line change
Expand Up @@ -419,7 +419,13 @@ public void setPage(String page, Boolean currPage) {
refreshVars = true;
}
this.dispPage = guide.getChapters().get("default").getPages().get(page);
txtText.setText(dispPage.getText());
StringBuilder txtBuilder = new StringBuilder();
for (int i = 0; i < dispPage.getTextCount(); i++) {
if (dispPage.getText(i).canShow(guide.getFlags())) {
txtBuilder.append(dispPage.getText(i).getText());
}
}
txtText.setText(txtBuilder.toString());
removePageTables();
Control prevWidget;
prevWidget = tableComp;
Expand Down