Other clues to what I may be doing wrong:

1. If I use the <t:schedule> tag to place a tag-created (distinct from my
managed bean-created) schedule directly below the dynamically created
schedules I see the following behaviour when clicking the tab-created
schedule:

a. If the dynamically created schedule is present (e.g. executed) a click on
the tag-created schedule fails in the same way, e.g. method not found.
b. If I comment out the creation of the dynamically created schedule, a
click on the tag-created schedule succeeds!

Suggesting that my creation technique in the managed bean is doing something
evil.

2. I am creating the dynamic components in the setter of the parent
component.  I was unable to create them in the backing bean constructor, as
the parent component is not yet instantiated.  I see references to an
"init()" method of managed beans in the literature but cannot create an
effective one.  A simple public void init() is never invoked.

The setter looks like this:

public void setTabbedPaneTarget(HtmlPanelTabbedPane tabbedPaneTarget) {
        this.tabbedPaneTarget = tabbedPaneTarget;
        if (tabbedPaneTarget != null && tabbedPaneTarget.getChildCount() ==
0) {
            populateTabs(tabbedPaneTarget);
        }
    }

where populateTabs does the dirty work of instantiating tabs and a schedule
as a child of each, shown below.

R.

On Dec 28, 2007 12:18 AM, Robert Patt-Corner <[EMAIL PROTECTED]> wrote:

> Hi ...
>
> Can someone assist me with how to create a method binding in a Java
> backing bean that will successfully bind a tomahawk Scheduler component's
> ScheduleMouseEvent?
>
> I find that I can create valuebindings with no problem, and action
> methodbindings (which take no argument).  However any attempt to create a
> methodbinding for a method
> that has a nonempty signature results in the method not being found by the
> methodbinding code.
>
> for example, in the code below the commented out line attempts to bind the
> mouse listener to an extant method.  If the method exists with the proper
> signature:
>
> public void handleScheduleClick(ScheduleMouseEvent event)
> or even:
> public void handleScheduleClick(Object e){
>
> we get a "method not found" from the binding code.
>
> If, however the method has no arguments:
> public void handleScheduleClick()
>
> then all goes swimmingly ... except that the arguments are wrong and we
> get the corresponding error.
>
> Clearly I'm missing something, probably how to add an argument to a method
> binding from the Java side.
>
> FWIW, the tag code, should I use a tag, works fine -- but I need to
> generate these schedules dynamically in tabs.
>
> My current workaround involves dredging up the schedule in the action
> method and probing for its lastClickedDate, but it's not a pretty sight.
>
> Any thoughts?
>
> R.
>
>
>
>
> ============= Attempted Method Binding===============
> HtmlSchedule mySchedule = new HtmlSchedule();
>             mySchedule.setId("schedule" + p.getPid());
>             mySchedule.setValueBinding("value", scheduleBinding);
>             mySchedule.setValueBinding("visibleStartHour",
> createValueBinding("#{scheduleSettings.visibleStartHour}"));
>             mySchedule.setValueBinding("visibleEndHour",
> createValueBinding("#{scheduleSettings.visibleEndHour}"));
>             mySchedule.setValueBinding("workingStartHour",
> createValueBinding("#{ scheduleSettings.workingStartHour}"));
>             mySchedule.setValueBinding("workingEndHour",
> createValueBinding("#{scheduleSettings.workingEndHour}"));
>             //mySchedule.setValueBinding("readonly",
> createValueBinding("#{ scheduleSettings.readonly}"));
>             mySchedule.setValueBinding("theme", createValueBinding("#{
> scheduleSettings.theme}"));
>             mySchedule.setValueBinding("compactWeekRowHeight",
> createValueBinding("#{ scheduleSettings.compactWeekRowHeight}"));
>             mySchedule.setValueBinding("compactMonthRowHeight",
> createValueBinding("#{scheduleSettings.compactMonthRowHeight}"));
>             mySchedule.setValueBinding ("detailedRowHeight",
> createValueBinding("#{scheduleSettings.detailedRowHeight}"));
>
>             //mySchedule.setMouseListener(createMethodBinding("#{
> providerTemplateScheduleHandler.handleScheduleClick }"));
>
>             mySchedule.setAction(createMethodBinding("#{
> providerTemplateScheduleHandler.scheduleAction}"));
>             mySchedule.setReadonly(false);
>             mySchedule.setSubmitOnClick (true);
>             UIComponentTagUtils.setStringProperty(getFacesContext(),
> mySchedule, "headerDateFormat", "EEEE");
> =========End===============
>

Reply via email to