docs: public void addListeners()
      {
          super.addListeners();
          this.addMainKeyBehavior();
          this.getMainRecord().getField(ClassInfo.CLASS_NAME).addListener(new MainFieldHandler(ClassInfo.CLASS_NAME_KEY));
          this.getMainRecord().addListener(new EnableOnPhysicalHandler(null));
          this.getMainRecord().getField(ClassInfo.CLASS_NAME).addListener(new MoveOnChangeHandler(this.getMainRecord().getField(ClassInfo.CLASS_SOURCE_FILE), this.getMainRecord().getField(ClassInfo.CLASS_NAME), false, true));
          
          this.getMainRecord().addListener(new FileListener(null)
          {
              public int doRecordChange(FieldInfo field, int iChangeType, boolean bDisplayOption)
              {
                  int iErrorCode = super.doRecordChange(field, iChangeType, bDisplayOption);
                  if ((iChangeType == DBConstants.AFTER_UPDATE_TYPE) || (iChangeType == DBConstants.AFTER_ADD_TYPE))
                  {
                      Record classInfo = getMainRecord();
                      TaskScheduler js = BaseApplet.getSharedInstance().getApplication().getTaskScheduler();
                      String strJob = Utility.addURLParam(null, DBParams.PROCESS, ".app.program.manual.util.WriteClasses");
                      strJob = Utility.addURLParam(strJob, "fileName", classInfo.getField(ClassInfo.CLASS_SOURCE_FILE).toString());
                      strJob = Utility.addURLParam(strJob, "package", classInfo.getField(ClassInfo.CLASS_PACKAGE).toString());
                      strJob = Utility.addURLParam(strJob, "project", Converter.stripNonNumber(classInfo.getField(ClassInfo.CLASS_PROJECT_ID).toString()));
                      strJob = Utility.addURLParam(strJob, DBParams.TASK, ProcessRunnerTask.class.getName()); // Screen class
                      js.addTask(strJob);                    
                  }
                  return iErrorCode;
              };
              
          });
          
          DateChangedHandler dateChangedHandler = (DateChangedHandler)this.getMainRecord().getListener(DateChangedHandler.class);
          if (dateChangedHandler == null)
              this.getMainRecord().addListener(dateChangedHandler = new DateChangedHandler((DateTimeField)this.getMainRecord().getField(ClassInfo.LAST_CHANGED)));
          dateChangedHandler.setOnFieldChange(true);
      }