public void hookFAQLink() { SWTSkinObject FAQObject = skin.getSkinObject("buddies-viewer-nobuddies-link"); if (null != FAQObject) { SWTSkinButtonUtility FAQButton = new SWTSkinButtonUtility(FAQObject); FAQButton.addSelectionListener( new ButtonListenerAdapter() { public void pressed( SWTSkinButtonUtility buttonUtility, SWTSkinObject skinObject, int stateMask) { String url = Constants.URL_FAQ_BY_TOPIC_ENTRY + FAQTopics.FAQ_TOPIC_WHAT_ARE_FRIENDS; Utils.launch(url); } }); } }
public void hookImageAction() { SWTSkinObject imageObject = skin.getSkinObject("buddies-viewer-nobuddies-graphic"); if (null != imageObject) { SWTSkinButtonUtility imageButton = new SWTSkinButtonUtility(imageObject); imageButton.addSelectionListener( new ButtonListenerAdapter() { public void pressed( SWTSkinButtonUtility buttonUtility, SWTSkinObject skinObject, int stateMask) { FriendsToolbar friendsToolbar = (FriendsToolbar) SkinViewManager.getByClass(FriendsToolbar.class); if (friendsToolbar != null) { friendsToolbar.addBuddy(); } } }); } }
public Object skinObjectInitialShow(SWTSkinObject skinObject, Object params) { skin = skinObject.getSkin(); SWTSkinProperties properties = skin.getSkinProperties(); colorFileDragBorder = properties.getColor("color.buddy.filedrag.bg.border"); colorFileDragBG = properties.getColor("color.buddy.filedrag.bg"); soNoBuddies = skin.getSkinObject("buddies-viewer-nobuddies-panel"); SWTSkinObject viewer = skin.getSkinObject(SkinConstants.VIEWID_BUDDIES_VIEWER); if (null != viewer) { parent = (Composite) skinObject.getControl(); parent.setBackgroundMode(SWT.INHERIT_FORCE); scrollable = new ScrolledComposite(parent, SWT.V_SCROLL); scrollable.setExpandHorizontal(true); scrollable.setExpandVertical(true); scrollable.setBackgroundMode(SWT.INHERIT_FORCE); scrollable.getVerticalBar().setIncrement(10); scrollable.getVerticalBar().setPageIncrement(65); FormData fd = new FormData(); fd.top = new FormAttachment(0, 0); fd.bottom = new FormAttachment(100, 0); fd.left = new FormAttachment(0, 0); fd.right = new FormAttachment(100, 0); scrollable.setLayoutData(fd); avatarsPanel = new Composite(scrollable, SWT.NONE); avatarsPanel.setBackgroundMode(SWT.INHERIT_FORCE); scrollable.setContent(avatarsPanel); scrollable.addListener( SWT.Resize, new Listener() { public void handleEvent(Event event) { Rectangle r = scrollable.getClientArea(); scrollable.setMinHeight(avatarsPanel.computeSize(r.width, SWT.DEFAULT).y); } }); /* * Specify avatar dimensions and attributes before creating the avatars */ textColor = parent.getDisplay().getSystemColor(SWT.COLOR_LIST_FOREGROUND); selectedTextColor = parent.getDisplay().getSystemColor(SWT.COLOR_LIST_SELECTION_TEXT); textLinkColor = properties.getColor("color.links.hover"); imageBorderColor = properties.getColor("color.buddy.bg.border"); selectedColor = parent.getDisplay().getSystemColor(SWT.COLOR_LIST_SELECTION); highlightedColor = parent.getDisplay().getSystemColor(SWT.COLOR_WIDGET_DARK_SHADOW); avatarHightLightBorder = 0; avatarImageBorder = 1; hSpacing = 1; avatarImageSize = new Point(40, 40); avatarNameSize = new Point(60, 30); avatarSize = new Point(0, 0); avatarSize.x = Math.max(avatarNameSize.x, avatarImageSize.x) + (2 * (avatarHightLightBorder + avatarImageBorder)); avatarSize.y = avatarNameSize.y + avatarImageSize.y + (2 * (avatarHightLightBorder + avatarImageBorder) + 6); fillBuddies(avatarsPanel); /* UNCOMMENT THIS SECTION TO REVERT TO A ROW LAYOUT*/ // RowLayout rLayout = new RowLayout(SWT.HORIZONTAL); // rLayout.wrap = true; // rLayout.spacing = hSpacing; // avatarsPanel.setLayout(rLayout); // COMMENT THIS SECTION TO REVERT TO A ROW LAYOUT SimpleReorderableListLayout rLayout = new SimpleReorderableListLayout(); rLayout.margin = hSpacing; rLayout.wrap = true; rLayout.center = true; avatarsPanel.setLayout(rLayout); avatarsPanel.pack(); avatarsPanel.addMouseListener( new MouseAdapter() { public void mouseDown(MouseEvent e) { select(null, false, false); } }); avatarsPanel.addMouseListener( new MouseAdapter() { public void mouseDown(MouseEvent e) { select(null, false, false); } }); parent.layout(); hookFAQLink(); hookImageAction(); } return null; }