I believe that is a bug that was fixed for 2.0. Can you try running your app in 
2.0 and see if the problem is resolved?

On Jan 6, 2011, at 12:10 PM, anton dos santos wrote:

> Hi Greg
> 
> I tried the easy way and added a MenuHandler to a custom header like this:
> 
> public class TableViewFilterHeader extends TableViewHeader {
> 
>      private MenuHandler menuHandler = new MenuHandler.Adapter() {
>        @Override
>        public boolean configureContextMenu(Component component, Menu menu, 
> int x, int y) {
> 
>            Menu.Section menuSection = new Menu.Section();
>            menu.getSections().add(menuSection);
>            int index = TableViewFilterHeader.this.getHeaderAt(x);
>            String name = 
> TableViewFilterHeader.this.getTableView().getColumns().get(index).getName();
>            Menu.Item whatIsThisMenuItem = new Menu.Item("filter for "+name);
>            whatIsThisMenuItem.setAction(new Action() {
>                @Override
>                public void perform( Component component) {
>                    System.out.println("FilterAction performed");
>                }
>            });
> 
>            menuSection.add(whatIsThisMenuItem);
> 
>            return false;
>        }
>    };
> 
>  public TableViewFilterHeader() {
>    setMenuHandler(menuHandler);
>   }
> 
> It works, when I right mouse click in the header, the menu is displayed and 
> then when I click in the menu, menu becomes invisible and header is 
> redisplayed.
> When I right mouse click in the header, the menu is displayed and then when I 
> left click outside of the table header, menu becomes also invisible and 
> header is redisplayed.
> But when right mouse click in the header, the menu is displayed and then when 
> I left click inside of the table header, menu becomes also invisible but 
> header is not correctly redisplayed (see attachment)
> I am doing this with 1.5.2 and the demo with the Olympic Medals
> 
> On 05/01/2011 21:34, Greg Brown wrote:
>> Yes, that is exactly what I was thinking. You can register a mouse button 
>> listener on the header and call getHeaderAt() to determine which header was 
>> pressed. Then you can call getHeaderBounds() to get that header's bounding 
>> area. Finally, you can call mapPointToAncestor() on the TableViewHeader to 
>> convert the header bounds to display coordinates for displaying the context 
>> menu (you can call getDisplay() on the header to get the display).
>> 
>> Let me know how it goes.
>> 
>> On Jan 5, 2011, at 3:26 PM, anton dos santos wrote:
>> 
>>> Yes you are right :)
>>> To do this I think I need a context menu as described here: 
>>> http://pivot.apache.org/tutorials/context-menus.html
>>> 
>>> Regards
>>> Anton
>>> On 05/01/2011 21:06, Greg Brown wrote:
>>>> Well, a ListButton displays a popup, so I think we are probably describing 
>>>> the same thing.  :-)  I have written a similar UI where right-clicking on 
>>>> the table header makes a menu popup appear immediately below the header. 
>>>> The user can then select one of the values from the menu to filter the 
>>>> table contents.
>>>> G
>>>> 
>>>> On Jan 5, 2011, at 3:00 PM, anton dos santos wrote:
>>>> 
>>>>> not exactly
>>>>> I want to implement a filter feature: when in a column there are multiple 
>>>>> distinct values then a ListButton with these distinct values is displayed 
>>>>> in the header and when user select one of the values, only the 
>>>>> corresponding rows will be displayed in the table.
>>>>> I am not sure a popup is user friendly in this case
>>>>> 
>>>>> Regards
>>>>> Anton
>>>>> 
>>>>> On 05/01/2011 20:34, Greg Brown wrote:
>>>>>> You are correct - renderers do not support user interaction because they 
>>>>>> aren't really there - they are just painted by the skin.
>>>>>> 
>>>>>> Are you trying to display a popup when the user clicks on the table 
>>>>>> header? If so, there are other ways to do this. I can try to put 
>>>>>> together a quick example if it would help.
>>>>>> 
>>>>>> G
>>>>>> 
>>>>>> On Jan 5, 2011, at 2:30 PM, anton dos santos wrote:
>>>>>> 
>>>>>>> Hi
>>>>>>> I  have a  TableViewHeader that displays a ListButton, but the 
>>>>>>> ListButon is not usable.
>>>>>>> I assume it is because the header is drawn by a "renderer" and not an 
>>>>>>> "editor". Right?
>>>>>>> 
>>>>>>> Is it possible to have a working button or checkbox in a column's 
>>>>>>> header ?
>>>>>>> 
>>>>>>> Regards
>>>>>>> Anton
>>>> 
>> 
>> 
> 
> <header.png>

Reply via email to