001         package com.croftsoft.apps.agoracast.c2p;
002    
003         import java.awt.*;
004         import java.awt.event.*;
005         import java.io.*;
006         import javax.swing.*;
007    
008         import com.croftsoft.core.gui.LogPanel;
009         import com.croftsoft.core.lang.NullArgumentException;
010    
011         /*********************************************************************
012         *
013         * <p />
014         *
015         * @version
016         *   2001-08-13
017         * @since
018         *   2001-08-13
019         * @author
020         *   <a href="https://www.croftsoft.com/">David Wallace Croft</a>
021         *********************************************************************/
022    
023         public final class  AgoracastLogPanel
024           extends LogPanel
025         //////////////////////////////////////////////////////////////////////
026         //////////////////////////////////////////////////////////////////////
027         {
028    
029         private final AgoracastMediator  agoracastMediator;
030    
031         private boolean  enabled = false;
032    
033         //////////////////////////////////////////////////////////////////////
034         //////////////////////////////////////////////////////////////////////
035    
036         public  AgoracastLogPanel (
037           AgoracastMediator  agoracastMediator,
038           int                textLengthMax,
039           Color              panelBackgroundColor )
040         //////////////////////////////////////////////////////////////////////
041         {
042           super ( textLengthMax, panelBackgroundColor,
043             AgoracastConstants.LOG_FONT );
044    
045           NullArgumentException.check (
046             this.agoracastMediator = agoracastMediator );
047         }
048    
049         //////////////////////////////////////////////////////////////////////
050         //////////////////////////////////////////////////////////////////////
051    
052         public synchronized void  record ( String  message )
053         //////////////////////////////////////////////////////////////////////
054         {
055           super.record ( message );
056    
057           if ( !enabled )
058           {
059             agoracastMediator.setTabEnabled (
060               AgoracastConstants.TAB_INDEX_LOG, true );
061    
062             enabled = true;
063           }
064         }
065    
066         public synchronized void  record ( Throwable  throwable )
067         //////////////////////////////////////////////////////////////////////
068         {
069           super.record ( throwable );
070         }
071    
072         public synchronized void  record (
073           String  message, Throwable  throwable )
074         //////////////////////////////////////////////////////////////////////
075         {
076           super.record ( message, throwable );
077         }
078    
079         //////////////////////////////////////////////////////////////////////
080         //////////////////////////////////////////////////////////////////////
081         }