示例#1
0
 public int CheckBreakBefore(Area area)
 {
     if (!(area is ColumnArea))
     {
         switch (properties.GetProperty("break-before").GetEnum())
         {
             case BreakBefore.PAGE:
                 return Status.FORCE_PAGE_BREAK;
             case BreakBefore.ODD_PAGE:
                 return Status.FORCE_PAGE_BREAK_ODD;
             case BreakBefore.EVEN_PAGE:
                 return Status.FORCE_PAGE_BREAK_EVEN;
             case BreakBefore.COLUMN:
                 return Status.FORCE_COLUMN_BREAK;
             default:
                 return Status.OK;
         }
     }
     else
     {
         ColumnArea colArea = (ColumnArea)area;
         switch (properties.GetProperty("break-before").GetEnum())
         {
             case BreakBefore.PAGE:
                 if (!colArea.hasChildren() && (colArea.getColumnIndex() == 1))
                 {
                     return Status.OK;
                 }
                 else
                 {
                     return Status.FORCE_PAGE_BREAK;
                 }
             case BreakBefore.ODD_PAGE:
                 if (!colArea.hasChildren() && (colArea.getColumnIndex() == 1)
                     && (colArea.getPage().getNumber() % 2 != 0))
                 {
                     return Status.OK;
                 }
                 else
                 {
                     return Status.FORCE_PAGE_BREAK_ODD;
                 }
             case BreakBefore.EVEN_PAGE:
                 if (!colArea.hasChildren() && (colArea.getColumnIndex() == 1)
                     && (colArea.getPage().getNumber() % 2 == 0))
                 {
                     return Status.OK;
                 }
                 else
                 {
                     return Status.FORCE_PAGE_BREAK_EVEN;
                 }
             case BreakBefore.COLUMN:
                 if (!area.hasChildren())
                 {
                     return Status.OK;
                 }
                 else
                 {
                     return Status.FORCE_COLUMN_BREAK;
                 }
             default:
                 return Status.OK;
         }
     }
 }