IWORKToken.h
Go to the documentation of this file.
00001 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
00002 /*
00003  * This file is part of the libetonyek project.
00004  *
00005  * This Source Code Form is subject to the terms of the Mozilla Public
00006  * License, v. 2.0. If a copy of the MPL was not distributed with this
00007  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
00008  */
00009 
00010 #ifndef IWORKTOKEN_H_INCLUDED
00011 #define IWORKTOKEN_H_INCLUDED
00012 
00013 #include <boost/static_assert.hpp>
00014 
00015 #include "IWORKTokenInfo.h"
00016 
00017 namespace libetonyek
00018 {
00019 
00020 class IWORKTokenizer;
00021 
00022 namespace IWORKToken
00023 {
00024 
00025 enum
00026 {
00027   INVALID_TOKEN = 0,
00028   FIRST_TOKEN = IWORKTokenInfo<IWORKParser>::first,
00029 
00030   // namespace prefixes
00031   sf,
00032   sfa,
00033 
00034   // elements
00035   SFTCellStylePropertyDateTimeFormat,
00036   SFTCellStylePropertyDurationFormat,
00037   SFTCellStylePropertyNumberFormat,
00038   SFTDefaultBodyCellStyleProperty,
00039   SFTDefaultFooterRowCellStyleProperty,
00040   SFTDefaultHeaderColumnCellStyleProperty,
00041   SFTDefaultHeaderRowCellStyleProperty,
00042   SFTHeaderColumnRepeatsProperty,
00043   SFTHeaderRowRepeatsProperty,
00044   SFTStrokeProperty,
00045   SFTTableBandedRowsProperty,
00046   alignment,
00047   angle_gradient,
00048   anon_styles,
00049   array,
00050   attachment,
00051   attachment_ref,
00052   attachments,
00053   authors,
00054   baselineShift,
00055   bezier,
00056   bezier_path,
00057   bezier_ref,
00058   binary,
00059   binary_ref,
00060   body_placeholder_ref,
00061   bold,
00062   cached_data,
00063   calc_engine,
00064   callout2_path,
00065   capitalization,
00066   category_title,
00067   cb,
00068   cell_date,
00069   cell_style,
00070   cell_style_ref,
00071   characterstyle,
00072   characterstyle_ref,
00073   chart_column_names,
00074   chart_info,
00075   chart_model_object,
00076   chart_name,
00077   chart_row_names,
00078   chart_type,
00079   color,
00080   column,
00081   column_label_formulas,
00082   columns,
00083   comment,
00084   connection_line,
00085   connection_path,
00086   connection_style,
00087   container_hint,
00088   content,
00089   core_image_filter_descriptor,
00090   core_image_filter_descriptor_ref,
00091   core_image_filter_info,
00092   crbr,
00093   ct,
00094   d,
00095   data,
00096   data_formulas,
00097   data_ref,
00098   datasource,
00099   date_format,
00100   drawable_shape,
00101   drawables,
00102   du,
00103   duration_format,
00104   editable_bezier_path,
00105   element,
00106   evenPageMaster,
00107   f,
00108   fill,
00109   filtered,
00110   filtered_image,
00111   filters,
00112   firstLineIndent,
00113   firstPageMaster,
00114   fmt,
00115   fo,
00116   fontColor,
00117   fontName,
00118   fontSize,
00119   footer,
00120   footers,
00121   footnote,
00122   footnote_mark,
00123   footnotebr,
00124   footnotes,
00125   format_base,
00126   format_base_places,
00127   format_currency_code,
00128   format_decimal_places,
00129   format_fraction_accuracy,
00130   format_negative_style,
00131   format_show_thousands_separator,
00132   format_string,
00133   format_type,
00134   format_use_accounting_style,
00135   formula_chart_model,
00136   fraction,
00137   fs,
00138   g,
00139   geometry,
00140   gradient_stop,
00141   graphic_style,
00142   graphic_style_ref,
00143   grid,
00144   grid_column,
00145   grid_row,
00146   gridline_index,
00147   group,
00148   head,
00149   header,
00150   headers,
00151   headline_style,
00152   href,
00153   id,
00154   image,
00155   image_media,
00156   inflection,
00157   inputAngle,
00158   inputColor,
00159   inputDistance,
00160   inputOpacity,
00161   intratopicbr,
00162   italic,
00163   keepLinesTogether,
00164   keepWithNext,
00165   keywords,
00166   language,
00167   layer,
00168   layer_ref,
00169   layers,
00170   layout,
00171   layoutMargins,
00172   layoutstyle,
00173   layoutstyle_ref,
00174   leftIndent,
00175   leveled,
00176   line,
00177   lineSpacing,
00178   linespacing,
00179   link,
00180   listLabelGeometries,
00181   listLabelIndents,
00182   listLabelTypes,
00183   listStyle,
00184   listTextIndents,
00185   list_label_geometry,
00186   list_label_geometry_ref,
00187   list_label_typeinfo,
00188   list_label_typeinfo_ref,
00189   liststyle,
00190   liststyle_ref,
00191   lnbr,
00192   media,
00193   menu_choices,
00194   metadata,
00195   movie_media,
00196   mutable_array,
00197   mutable_array_ref,
00198   n,
00199   naturalSize,
00200   number,
00201   number_format,
00202   oddPageMaster,
00203   other_datas,
00204   outline,
00205   overrides,
00206   p,
00207   padding,
00208   pageBreakBefore,
00209   pagemaster,
00210   paragraphBorderType,
00211   paragraphFill,
00212   paragraphStroke,
00213   paragraphstyle,
00214   paragraphstyle_ref,
00215   parent_ref,
00216   path,
00217   pattern,
00218   placeholder_style,
00219   placeholder_style_ref,
00220   pm,
00221   point,
00222   point_path,
00223   position,
00224   property_map,
00225   proxied_cell_ref,
00226   proxy_master_layer,
00227   r,
00228   rightIndent,
00229   rn,
00230   row_label_formulas,
00231   rows,
00232   rt,
00233   s,
00234   scalar_path,
00235   section,
00236   sectionstyle,
00237   sectionstyle_ref,
00238   self_contained_movie,
00239   shape,
00240   size,
00241   sl,
00242   so,
00243   spaceAfter,
00244   spaceBefore,
00245   span,
00246   st,
00247   start_index,
00248   sticky_note,
00249   stop_index,
00250   stops,
00251   strikethru,
00252   string,
00253   stroke,
00254   style,
00255   style_run,
00256   styles,
00257   stylesheet,
00258   stylesheet_ref,
00259   superscript,
00260   t,
00261   tab,
00262   tabs,
00263   tabs_ref,
00264   tabstop,
00265   tabular_info,
00266   tabular_model,
00267   tabular_style,
00268   tabular_style_ref,
00269   tail,
00270   text,
00271   textBackground,
00272   text_body,
00273   text_label,
00274   text_label_ref,
00275   text_storage,
00276   textured_fill,
00277   title,
00278   title_placeholder_ref,
00279   tracking,
00280   transform_gradient,
00281   type,
00282   underline,
00283   unfiltered,
00284   unfiltered_ref,
00285   vector_style,
00286   vector_style_ref,
00287   vertical_gridline_styles,
00288   widowControl,
00289 
00290   // attributes
00291   ID,
00292   IDREF,
00293   a,
00294   align,
00295   amt,
00296   angle,
00297   aspectRatioLocked,
00298   b,
00299   bottom,
00300   cap,
00301   col_span,
00302   cornerRadius,
00303   displayname,
00304   equal_columns,
00305   filterClassName,
00306   first,
00307   format,
00308   frame_h,
00309   frame_w,
00310   frame_x,
00311   frame_y,
00312   h,
00313   height,
00314   hfs_type,
00315   horizontalFlip,
00316   horizontal_gridline_styles,
00317   ident,
00318   join,
00319   kind,
00320   left,
00321   list_level,
00322   locked,
00323   mark,
00324   mode,
00325   name,
00326   num_footer_rows,
00327   num_header_columns,
00328   num_header_rows,
00329   numcols,
00330   numrows,
00331   offset,
00332   opacity,
00333   parent_ident,
00334   pos,
00335   right,
00336   row_span,
00337   scalar,
00338   scale,
00339   scale_with_text,
00340   shearXAngle,
00341   shearYAngle,
00342   sizesLocked,
00343   spacing,
00344   tailAtCenter,
00345   tailPositionX,
00346   tailPositionY,
00347   tailSize,
00348   technique,
00349   top,
00350   v,
00351   val,
00352   value_title,
00353   verticalFlip,
00354   w,
00355   width,
00356   x,
00357   y,
00358 
00359   // attribute values
00360   SFIUDropShadow,
00361   _0,
00362   _1,
00363   _1246774599,
00364   _1299148630,
00365   _1346651680,
00366   _1347307366,
00367   _1414088262,
00368   __multilingual,
00369   bullet,
00370   butt,
00371   double_,
00372   empty,
00373   false_,
00374   fit,
00375   linear,
00376   lower_alpha,
00377   lower_roman,
00378   miter,
00379   natural,
00380   none,
00381   radial,
00382   relative,
00383   round,
00384   solid,
00385   star,
00386   stretch,
00387   tile,
00388   true_,
00389   upper_alpha,
00390   upper_roman,
00391 
00392   LAST_TOKEN
00393 };
00394 
00395 BOOST_STATIC_ASSERT(IWORKTokenInfo<IWORKParser>::last >= LAST_TOKEN);
00396 
00397 enum Namespace
00398 {
00399   NS_URI_SF = sf << 16,
00400   NS_URI_SFA = sfa << 16
00401 };
00402 
00403 const IWORKTokenizer &getTokenizer();
00404 
00405 }
00406 
00407 }
00408 
00409 #endif // IWORKTOKEN_H_INCLUDED
00410 
00411 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */