code: public void addListeners()
      {
          super.addListeners();
          
          if (m_recHeader != null)
              this.getMainRecord().addListener(new ProjectTaskParentFilter(m_recHeader));
          
          this.setEditing(true);
          this.getMainRecord().addListener(new FileFilter(null)
          {
              public boolean doLocalCriteria(StringBuffer strbFilter, boolean bIncludeFileName, Vector<BaseField> vParamList)
              {   // Between start and end dates? (Defaults to Currentdate thru +1 year)
                  boolean bDontSkip = true;
                  if (this.getOwner().getField(ProjectTask.START_DATE_TIME).isNull())
                      bDontSkip = false;
                  if (bDontSkip)
                      return super.doLocalCriteria(strbFilter, bIncludeFileName, vParamList);    // Dont skip this record
                  else
                      return false;   // Skip this one
              }
                  });
      }
docs: Add all the screen listeners.