void startAnimation(final boolean enlarge) { staticImage = myController.getStaticImage(); JPanel staticPanel = new JPanel() { @Override public void paint(Graphics g) { super.paint(g); if (staticImage != null) { Graphics2D g2d = (Graphics2D) g.create(); g2d.setBackground( new JBColor(new Color(255, 255, 255, 0), new Color(110, 110, 110, 0))); g2d.clearRect(0, 0, myController.SHEET_NC_WIDTH, myController.SHEET_NC_HEIGHT); g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.95f)); int multiplyFactor = staticImage.getWidth(null) / myController.SHEET_NC_WIDTH; g.drawImage( staticImage, 0, 0, myController.SHEET_NC_WIDTH, imageHeight, 0, staticImage.getHeight(null) - imageHeight * multiplyFactor, staticImage.getWidth(null), staticImage.getHeight(null), null); } } }; staticPanel.setOpaque(false); staticPanel.setSize(myController.SHEET_NC_WIDTH, myController.SHEET_NC_HEIGHT); myWindow.setContentPane(staticPanel); Animator myAnimator = new Animator( "Roll Down Sheet Animator", myController.SHEET_NC_HEIGHT, TIME_TO_SHOW_SHEET, false) { @Override public void paintNow(int frame, int totalFrames, int cycle) { setPositionRelativeToParent(); float percentage = (float) frame / (float) totalFrames; imageHeight = enlarge ? (int) (((float) myController.SHEET_NC_HEIGHT) * percentage) : (int) (myController.SHEET_NC_HEIGHT - percentage * myController.SHEET_HEIGHT); myWindow.repaint(); } @Override protected void paintCycleEnd() { setPositionRelativeToParent(); if (enlarge) { imageHeight = myController.SHEET_NC_HEIGHT; staticImage = null; myWindow.setContentPane(myController.getPanel(myWindow)); myController.requestFocus(); } else { if (restoreFullscreenButton) { FullScreenUtilities.setWindowCanFullScreen(myParent, true); } myWindow.dispose(); } } }; myAnimator.resume(); }
public boolean toBeShown() { return !myController.getDoNotAskResult(); }
public String getResult() { return myController.getResult(); }
@POST @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON) public SheetViewModelCollection getSheets(@Context HttpServletRequest req) { if (!Authenticate.authenticateHeader(req)) { return null; } SheetController sheetController = new SheetController(); sheetvector sheets = sheetController.GetSheetsByUsername(Authenticate.getAuthRequest(req).getUsername()); ContentPlaceholderController cphController = new ContentPlaceholderController(); FeedController feedc = new FeedController(); ItemController itemc = new ItemController(); List<SheetViewModel> models = new ArrayList<SheetViewModel>(); int sheetLen = (int) sheets.size(); for (int i = 0; i < sheetLen; i++) { boolean column1 = false; boolean column2 = false; List<newsfeeder.lib.model.ContentPlaceholder> contentPlaceholders = new ArrayList<newsfeeder.lib.model.ContentPlaceholder>(); Sheet s = sheets.get(i); cphvector cphs = cphController.GetContentPlaceholdersBySheetId(s.getId()); int cphLen = (int) cphs.size(); for (int x = 0; x < cphLen; x++) { nfdb.ContentPlaceholder cph = cphs.get(x); NewsContentPlaceholder newsCPH = new NewsContentPlaceholder(cph.getColumn(), cph.getOrder()); contentPlaceholders.add(newsCPH); if (cph.getColumn() == 0) { column1 = true; } if (cph.getColumn() == 1) { column2 = true; } feedvector feeds = feedc.GetFeedsByCphId(cph.getId()); int feedLen = (int) feeds.size(); for (int y = 0; y < feedLen; y++) { Feed f = feeds.get(y); itemvector items = itemc.GetItemsByFeedId(f.getId()); int itemLen = (int) items.size(); for (int z = 0; z < itemLen; z++) { nfdb.Item dbItem = items.get(z); NewsItem item = new NewsItem(dbItem.getId(), dbItem.getContent(), dbItem.getTitle(), ""); newsCPH.addItem(item); } } } SheetLayout layout = get2ColLayout(); if (column1 && column2) { layout = get2ColLayout(); } else if (column1) { layout = get1ColLayout(0); } else if (column2) { layout = get1ColLayout(1); } SheetViewModel model = new SheetViewModel(s.getId(), s.getName(), layout, contentPlaceholders); models.add(model); } SheetViewModelCollection collection = new SheetViewModelCollection(); collection.Sheets = (ArrayList<SheetViewModel>) models; return collection; }