Render theme styles: allow setting menu callback #93

This commit is contained in:
Emux 2017-06-01 14:53:11 +03:00
parent 45383397bc
commit f77c46f56d
5 changed files with 35 additions and 8 deletions

View File

@ -1,6 +1,6 @@
/*
* Copyright 2010, 2011, 2012 mapsforge.org
* Copyright 2016 devemux86
* Copyright 2016-2017 devemux86
*
* This program is free software: you can redistribute it and/or modify it under the
* terms of the GNU Lesser General Public License as published by the Free Software
@ -34,7 +34,7 @@ public class AssetsRenderTheme implements ThemeFile {
private static final long serialVersionUID = 1L;
private final InputStream mInputStream;
private final XmlRenderThemeMenuCallback mMenuCallback;
private XmlRenderThemeMenuCallback mMenuCallback;
private final String mRelativePathPrefix;
/**
@ -96,4 +96,9 @@ public class AssetsRenderTheme implements ThemeFile {
public InputStream getRenderThemeAsStream() throws ThemeException {
return mInputStream;
}
@Override
public void setMenuCallback(XmlRenderThemeMenuCallback menuCallback) {
mMenuCallback = menuCallback;
}
}

View File

@ -1,7 +1,7 @@
/*
* Copyright 2010, 2011, 2012 mapsforge.org
* Copyright 2013 Hannes Janetzek
* Copyright 2016 devemux86
* Copyright 2016-2017 devemux86
* Copyright 2017 nebular
*
* This file is part of the OpenScienceMap project (http://www.opensciencemap.org).
@ -56,4 +56,8 @@ public enum VtmThemes implements ThemeFile {
public InputStream getRenderThemeAsStream() throws ThemeException {
return AssetAdapter.readFileAsStream(mPath);
}
@Override
public void setMenuCallback(XmlRenderThemeMenuCallback menuCallback) {
}
}

View File

@ -1,7 +1,7 @@
/*
* Copyright 2010, 2011, 2012 mapsforge.org
* Copyright 2013 Hannes Janetzek
* Copyright 2016 devemux86
* Copyright 2016-2017 devemux86
*
* This file is part of the OpenScienceMap project (http://www.opensciencemap.org).
*
@ -33,7 +33,7 @@ public class ExternalRenderTheme implements ThemeFile {
private static final long serialVersionUID = 1L;
private final long mFileModificationDate;
private final XmlRenderThemeMenuCallback mMenuCallback;
private XmlRenderThemeMenuCallback mMenuCallback;
private final String mPath;
/**
@ -106,4 +106,9 @@ public class ExternalRenderTheme implements ThemeFile {
}
return is;
}
@Override
public void setMenuCallback(XmlRenderThemeMenuCallback menuCallback) {
mMenuCallback = menuCallback;
}
}

View File

@ -1,5 +1,5 @@
/*
* Copyright 2016 devemux86
* Copyright 2016-2017 devemux86
*
* This program is free software: you can redistribute it and/or modify it under the
* terms of the GNU Lesser General Public License as published by the Free Software
@ -27,7 +27,7 @@ public class StreamRenderTheme implements ThemeFile {
private static final long serialVersionUID = 1L;
private final InputStream mInputStream;
private final XmlRenderThemeMenuCallback mMenuCallback;
private XmlRenderThemeMenuCallback mMenuCallback;
private final String mRelativePathPrefix;
/**
@ -80,4 +80,9 @@ public class StreamRenderTheme implements ThemeFile {
public InputStream getRenderThemeAsStream() throws ThemeException {
return mInputStream;
}
@Override
public void setMenuCallback(XmlRenderThemeMenuCallback menuCallback) {
mMenuCallback = menuCallback;
}
}

View File

@ -1,7 +1,7 @@
/*
* Copyright 2010, 2011, 2012 mapsforge.org
* Copyright 2013 Hannes Janetzek
* Copyright 2016 devemux86
* Copyright 2016-2017 devemux86
*
* This file is part of the OpenScienceMap project (http://www.opensciencemap.org).
*
@ -23,6 +23,9 @@ import org.oscim.theme.IRenderTheme.ThemeException;
import java.io.InputStream;
import java.io.Serializable;
/**
* Interface for a render theme which is defined in XML.
*/
public interface ThemeFile extends Serializable {
/**
* @return the interface callback to create a settings menu on the fly.
@ -39,4 +42,9 @@ public interface ThemeFile extends Serializable {
* @throws ThemeException if an error occurs while reading the render theme XML.
*/
InputStream getRenderThemeAsStream() throws ThemeException;
/**
* @param menuCallback the interface callback to create a settings menu on the fly.
*/
void setMenuCallback(XmlRenderThemeMenuCallback menuCallback);
}