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 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 * 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 * 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 static final long serialVersionUID = 1L;
private final InputStream mInputStream; private final InputStream mInputStream;
private final XmlRenderThemeMenuCallback mMenuCallback; private XmlRenderThemeMenuCallback mMenuCallback;
private final String mRelativePathPrefix; private final String mRelativePathPrefix;
/** /**
@ -96,4 +96,9 @@ public class AssetsRenderTheme implements ThemeFile {
public InputStream getRenderThemeAsStream() throws ThemeException { public InputStream getRenderThemeAsStream() throws ThemeException {
return mInputStream; return mInputStream;
} }
@Override
public void setMenuCallback(XmlRenderThemeMenuCallback menuCallback) {
mMenuCallback = menuCallback;
}
} }

View File

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

View File

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

View File

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