예제 #1
0
 private Status LayoutBestMarker(ArrayList markers, Area area)
 {
     if (markers != null)
     {
         for (int i = markers.Count - 1; i >= 0; i--)
         {
             Marker currentMarker = (Marker)markers[i];
             if (currentMarker.GetMarkerClassName().Equals(retrieveClassName))
             {
                 bestMarker = currentMarker;
                 bestMarker.resetMarkerContent();
                 return(bestMarker.LayoutMarker(area));
             }
         }
     }
     return(new Status(Status.OK));
 }
예제 #2
0
        private Marker SearchPage(Page page)
        {
            ArrayList pageMarkers = page.getMarkers();

            if (pageMarkers.Count == 0)
            {
                return(null);
            }

            if (retrievePosition == RetrievePosition.FIC)
            {
                for (int i = 0; i < pageMarkers.Count; i++)
                {
                    Marker currentMarker = (Marker)pageMarkers[i];
                    if (currentMarker.GetMarkerClassName().Equals(retrieveClassName))
                    {
                        return(currentMarker);
                    }
                }
            }
            else if (retrievePosition == RetrievePosition.FSWP)
            {
                for (int c = 0; c < pageMarkers.Count; c++)
                {
                    Marker currentMarker = (Marker)pageMarkers[c];
                    if (currentMarker.GetMarkerClassName().Equals(retrieveClassName))
                    {
                        if (currentMarker.GetRegistryArea().isFirst())
                        {
                            return(currentMarker);
                        }
                    }
                }
            }
            else if (retrievePosition == RetrievePosition.LSWP)
            {
                for (int c = pageMarkers.Count - 1; c >= 0; c--)
                {
                    Marker currentMarker = (Marker)pageMarkers[c];
                    if (currentMarker.GetMarkerClassName().Equals(retrieveClassName))
                    {
                        if (currentMarker.GetRegistryArea().isFirst())
                        {
                            return(currentMarker);
                        }
                    }
                }
            }
            else if (retrievePosition == RetrievePosition.LEWP)
            {
                for (int c = pageMarkers.Count - 1; c >= 0; c--)
                {
                    Marker currentMarker = (Marker)pageMarkers[c];
                    if (currentMarker.GetMarkerClassName().Equals(retrieveClassName))
                    {
                        if (currentMarker.GetRegistryArea().isLast())
                        {
                            return(currentMarker);
                        }
                    }
                }
            }
            else
            {
                throw new FonetException("Illegal 'retrieve-position' value");
            }
            return(null);
        }