/** * Generic constructor * @param am * @param app * @param pageUrl * @param setAsStartPage */ public AppCollection(ApplicationManager am, WidgetApp app, String pageUrl, boolean setAsStartPage) { this.am = am; this.logger = am.getLogger(); logger.info("App collection view available: {}",getClass().getName()); staticAppsComplete = addApps(staticApps()); if (!registeredApps.isEmpty()) { final List<String> keys = new ArrayList<>(registeredApps.keySet()); String[] arr = new String[keys.size()]; addApps(keys.toArray(arr)); } this.wapp = app; this.page = wapp.createWidgetPage(pageUrl, setAsStartPage); new MainPage<A>(page, this); }
@SuppressWarnings("unchecked") @Override public <P extends ResourcePattern<R>, R extends Resource, D extends LocaleDictionary> PatternEditor<P,D> newPatternEditorPage( final Class<P> pattern, String url, boolean setAsStartPage, Class<D> dictionary) { if (dictionary == null) dictionary = (Class<D>) LocaleDictionary.class; WidgetPage<D> page = app.createWidgetPage(url, setAsStartPage); // page.setTitle("Edit pattern: "+ pattern.getSimpleName()); Header header = new PageHeader<D>(page, "header", dictionary); header.setDefaultText("Edit patterns: "+ pattern.getSimpleName()); page.append(header).linebreak(); PatternEditor<P,D> patternSelector = addPatternEditor(pattern, page, pattern.getSimpleName() + "_patternEditor", dictionary, false); page.append(patternSelector).linebreak(); return patternSelector; }
@SuppressWarnings("unchecked") @Override public <P extends ResourcePattern<R>, R extends Resource, D extends LocaleDictionary> PatternEditor<P,D> newPatternDisplayPage( final Class<P> pattern, String url,boolean setAsStartPage, Class<D> dictionary) { if (dictionary == null) dictionary = (Class<D>) LocaleDictionary.class; WidgetPage<D> page = app.createWidgetPage(url,setAsStartPage); // page.setTitle("View pattern: "+ pattern.getSimpleName()); Header header = new Header(page, "header","View patterns: "+ pattern.getSimpleName()); header.addDefaultStyle(HeaderData.CENTERED); page.append(header).linebreak(); PatternEditor<P,D> patternSelector = addPatternEditor(pattern, page, pattern.getSimpleName() + "_displayWidget", dictionary, true); page.append(patternSelector).linebreak(); return patternSelector; }
@Override public <P extends ResourcePattern<R>, R extends Resource, D extends LocaleDictionary> PatternCreator<P, R, D> newPatternCreatorPage(Class<P> pattern, String url, boolean setAsStartPage, PatternCreatorConfiguration<P, R> config, Class<D> dictionary) { if (config == null) config = new PatternCreatorConfiguration<>(); WidgetPage<D> page = app.createWidgetPage(url, setAsStartPage); // page.setTitle("Create new pattern: "+ pattern.getSimpleName()); Header header = new PageHeader<D>(page, "header",dictionary); header.setDefaultText("Create new pattern: "+ pattern.getSimpleName()); PatternCreator<P, R, D> pc = addPatternCreator(pattern, page, dictionary, config); page.append(header).linebreak().append(pc).linebreak(); return pc; }
@Override public <P extends ContextSensitivePattern<R, C>, R extends Resource, C, D extends LocaleDictionary> PatternCreator<P, R, D> newContextPatternCreatorPage( Class<P> pattern, String url, boolean setAsStartPage, PatternCreatorConfiguration<P, R> config, Class<D> dictionary, Class<C> contextType) { if (config == null) config = new PatternCreatorConfiguration<>(); WidgetPage<D> page = app.createWidgetPage(url, setAsStartPage); // page.setTitle("Create new pattern: "+ pattern.getSimpleName()); Header header = new PageHeader<D>(page, "header",dictionary); header.setDefaultText("Create new pattern: "+ pattern.getSimpleName()); PatternCreator<P, R, D> pc = addPatternCreator(pattern, page, dictionary, config, contextType); page.append(header).linebreak().append(pc).linebreak(); return pc; }
@Override public void start(ApplicationManager appManager) { this.resAcc = appManager.getResourceAccess(); this.logger = appManager.getLogger(); logger.debug("{} started", getClass().getName()); wApp = guiService.createWidgetApp("/de/iwes/ogema/apps/messageSettings", appManager); WidgetPage<MessageSettingsDictionary> senderPage = wApp.createWidgetPage("sender.html"); senderPage.registerLocalisation(MessageSettingsDictionary_de.class).registerLocalisation(MessageSettingsDictionary_en.class); senderPageBuilder = new SenderPageBuilder(senderPage, appManager); WidgetPage<MessageSettingsDictionary> receiverPage = wApp.createStartPage(); receiverPage.registerLocalisation(MessageSettingsDictionary_de.class).registerLocalisation(MessageSettingsDictionary_en.class); receiverPageBuilder = new ReceiverPageBuilder(receiverPage, appManager); resAcc.addResourceDemand(EmailConfiguration.class, senderPageBuilder.getEmailListener()); resAcc.addResourceDemand(SmsConfiguration.class, senderPageBuilder.getSmsListener()); resAcc.addResourceDemand(XmppConfiguration.class, senderPageBuilder.getXmppListener()); resAcc.addResourceDemand(ReceiverConfiguration.class, receiverPageBuilder); NavigationMenu nm = new NavigationMenu(" Select page"); nm.addEntry("Edit senders", senderPage); nm.addEntry("Edit receivers", receiverPage); MenuConfiguration mc = receiverPage.getMenuConfiguration(); mc.setCustomNavigation(nm); mc = senderPage.getMenuConfiguration(); mc.setCustomNavigation(nm); }