@@ -229,7 +229,7 @@ public boolean isStyle(String... style) {
229229 return false ;
230230 }
231231
232- protected void print (PdfContentByte canvas , int x , int y , int pageHeight , P parent ) throws DocumentException {
232+ public void print (PdfContentByte canvas , int x , int y , int pageHeight , P parent ) throws DocumentException {
233233 if (isStyle ("unitime-TimetableGrid" )) {
234234 setHeight (getHeight () - 2 );
235235 setWidth (getWidth () - 1 );
@@ -355,11 +355,15 @@ protected void print(PdfContentByte canvas, int x, int y, int pageHeight, P pare
355355 }
356356 }
357357
358- protected static class TimetableGrid extends P {
358+ public static class TimetableGrid extends P {
359359 private List <Meeting > iMeetings = new ArrayList <Meeting >();
360360 private List <Background > iBackbrounds = new ArrayList <Background >();
361361 private int iCellWidth ;
362362
363+ public TimetableGrid (FilterInterface filter , final TimetableGridModel model , int index , int weekOffset , boolean showHeader ) {
364+ this (filter , model , index , pageWidth (filter , model , weekOffset ), weekOffset , showHeader );
365+ }
366+
363367 public TimetableGrid (FilterInterface filter , final TimetableGridModel model , int index , int pageWidth , int weekOffset , boolean showHeader ) {
364368 super ("unitime-TimetableGrid" );
365369
@@ -854,6 +858,8 @@ public TimetableGrid(FilterInterface filter, final TimetableGridModel model, int
854858 }
855859 }
856860 }
861+
862+ public boolean hasMeetings () { return !iMeetings .isEmpty (); }
857863 }
858864
859865 protected static float textWidth (Font font , TimetableGridCell cell , boolean showRoom , boolean showInstructor , boolean showTime , boolean showPreference , boolean showDate ) {
@@ -875,7 +881,7 @@ protected static float textWidth(Font font, TimetableGridCell cell, boolean show
875881 return width ;
876882 }
877883
878- protected int pageWidth (FilterInterface filter , final TimetableGridModel model , int weekOffset ) {
884+ public static int pageWidth (FilterInterface filter , final TimetableGridModel model , int weekOffset ) {
879885 int displayMode = Integer .valueOf (filter .getParameterValue ("dispMode" , "0" ));
880886 boolean hasDay [] = { true , true , true , true , true , false , false };
881887 String days = filter .getParameterValue ("days" );
@@ -934,7 +940,7 @@ protected int pageWidth(FilterInterface filter, final TimetableGridModel model,
934940 }
935941 }
936942
937- protected int pageHeight (FilterInterface filter , final TimetableGridModel model , int weekOffset , boolean showHeader ) {
943+ public static int pageHeight (FilterInterface filter , final TimetableGridModel model , int weekOffset , boolean showHeader ) {
938944 int displayMode = Integer .valueOf (filter .getParameterValue ("dispMode" , "0" ));
939945 boolean hasDay [] = { true , true , true , true , true , false , false };
940946 String days = filter .getParameterValue ("days" );
0 commit comments