Skip to content

Commit

Permalink
Closing of graphical mode
Browse files Browse the repository at this point in the history
  • Loading branch information
Michael Pozhidaev committed Oct 13, 2018
1 parent a04745f commit 667c9cf
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 10 deletions.
36 changes: 28 additions & 8 deletions src/main/java/org/luwrain/app/viewer/App.java
Original file line number Diff line number Diff line change
Expand Up @@ -18,28 +18,31 @@

import java.util.*;
import java.io.*;
import java.net.*;

import org.luwrain.core.*;
import org.luwrain.core.events.*;
import org.luwrain.controls.*;
import org.luwrain.interaction.graphical.*;
import org.luwrain.util.*;

class App implements Application, Pdf.Listener
{
private Luwrain luwrain = null;
private Strings strings = null;
private NavigationArea area = null;

private final File arg;
private final String arg;
private Pdf pdf = null;
private URL url = null;
private String[] text = new String[0];

App()
{
arg = null;
}

App(File arg)
App(String arg)
{
NullCheck.notNull(arg, "arg");
this.arg = arg;
Expand All @@ -54,6 +57,8 @@ class App implements Application, Pdf.Listener
this.strings = (Strings)o;
this.luwrain = luwrain;
createArea();
if (arg != null && !arg.isEmpty())
load(arg);
return new InitResult();
}

Expand Down Expand Up @@ -96,16 +101,20 @@ private void createArea()
}
@Override public String getAreaName()
{
return arg != null?arg.getName():strings.appName();
if (url == null)
return strings.appName();
final File file = Urls.toFile(url);
return file.getName();
}
};
}

private void loadFile(File file)
private void load(String file)
{
NullCheck.notNull(file, "file");
NullCheck.notEmpty(file, "file");
try {
this.pdf = luwrain.createPdfPreview(this, file);
this.url = new URL(file);
this.pdf = luwrain.createPdfPreview(this, Urls.toFile(url));
}
catch(Exception e)
{
Expand All @@ -119,10 +128,21 @@ private void loadFile(File file)
}
}

@Override public boolean onInputEvent(KeyboardEvent event)
@Override public void onInputEvent(KeyboardEvent event)
{
NullCheck.notNull(event, "event");
return false;
if (event.isSpecial() && !event.isModified())
switch(event.getSpecial())
{
case ESCAPE:
if (pdf != null)
{
pdf.close();
pdf = null;
}
return;
}
luwrain.playSound(Sounds.EVENT_NOT_PROCESSED);
}

@Override public void closeApp()
Expand Down
3 changes: 1 addition & 2 deletions src/main/java/org/luwrain/app/viewer/Extension.java
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@
package org.luwrain.app.viewer;

import java.util.*;
import java.io.*;

import org.luwrain.base.*;
import org.luwrain.core.*;
Expand Down Expand Up @@ -56,7 +55,7 @@ public final class Extension extends org.luwrain.core.extensions.EmptyExtension
return new Application[]{new App()};
final List<Application> v = new LinkedList();
for(String s: args)
v.add(new App(new File(s)));
v.add(new App(s));
if (v.isEmpty())
return new Application[]{new App()};
return v.toArray(new Application[v.size()]);
Expand Down

0 comments on commit 667c9cf

Please sign in to comment.