001    package org.springframework.richclient.widget;
002    
003    import org.springframework.beans.factory.BeanNameAware;
004    import org.springframework.richclient.core.DescriptionConfigurable;
005    import org.springframework.richclient.core.Guarded;
006    import org.springframework.richclient.core.TitleConfigurable;
007    import org.springframework.richclient.form.ValidationResultsReporter;
008    import org.springframework.richclient.dialog.Messagable;
009    import org.springframework.richclient.image.config.ImageConfigurable;
010    
011    /**
012     * Provides the basic {@link Widget} facilities in combination with a fully configurable title/message
013     * component.
014     */
015    public interface TitledWidget
016            extends
017            Widget,
018            Guarded,
019            Messagable,
020            TitleConfigurable,
021            ImageConfigurable,
022            DescriptionConfigurable,
023            BeanNameAware
024    {
025        ValidationResultsReporter newSingleLineResultsReporter(Messagable messagable);
026    
027        String getId();
028    
029    }