aboutsummaryrefslogtreecommitdiffstats
path: root/src/net/java/sip/communicator/impl/gui/lookandfeel/ExtendedTreeUI.java
blob: 8fb3cd3785783bddcbef0602d5ccb751021c7989 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
/*
 * Jitsi, the OpenSource Java VoIP and Instant Messaging client.
 *
 * Distributable under LGPL license.
 * See terms of license at gnu.org.
 */
package net.java.sip.communicator.impl.gui.lookandfeel;

import java.awt.event.*;

import javax.swing.tree.*;

import net.java.sip.communicator.impl.gui.main.contactlist.*;
import net.java.sip.communicator.impl.gui.main.contactlist.contactsource.*;
import net.java.sip.communicator.service.gui.*;
import net.java.sip.communicator.util.swing.plaf.*;

/**
 * The <tt>ExtendedTreeUI</tt> is an extended implementation of the
 * <tt>SIPCommTreeUI</tt> specific for the gui implementation.
 */
public class ExtendedTreeUI
    extends SIPCommTreeUI
{
    /**
     * Do not select the <tt>ShowMoreContact</tt>.
     *
     * @param path the <tt>TreePath</tt> to select
     * @param event the <tt>MouseEvent</tt> that provoked the select
     */
    protected void selectPathForEvent(TreePath path, MouseEvent event)
    {
        Object lastComponent = path.getLastPathComponent();

        // Open right button menu when right mouse is pressed.
        if (lastComponent instanceof ContactNode)
        {
            UIContact uiContact
                = ((ContactNode) lastComponent).getContactDescriptor();

            if (!(uiContact instanceof ShowMoreContact))
            {
                super.selectPathForEvent(path, event);
            }
        }
        else
            super.selectPathForEvent(path, event);
    }
}