diff --git a/.vscode/settings.json b/.vscode/settings.json index 2a3028a7..7d656bb9 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -5,12 +5,6 @@ // Enable Font Ligatures "editor.fontLigatures": true, - // Lint - "eslint.workingDirectories": [{ "mode": "auto" }], - "eslint.run": "onType", - "eslint.validate": ["javascript", "typescript", "typescriptreact"], - "eslint.lintTask.enable": true, - // Javascript and TypeScript settings "js/ts.suggest.enabled": true, "js/ts.suggest.autoImports": true, diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 00000000..6b88187e --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,12 @@ +{ + "version": "2.0.0", + "tasks": [ + { + "label": "biome: check workspace", + "type": "shell", + "command": "pnpm biome check .", + "group": "test", + "problemMatcher": [] + } + ] +} diff --git a/apps/server/package.json b/apps/server/package.json index 91af0236..5176d89d 100644 --- a/apps/server/package.json +++ b/apps/server/package.json @@ -1,6 +1,6 @@ { "name": "@erp/factuges-server", - "version": "0.6.4", + "version": "0.6.5", "private": true, "scripts": { "build": "tsup src/index.ts --config tsup.config.ts", @@ -8,7 +8,8 @@ "dev": "node --import=tsx --watch src/index.ts", "clean": "rimraf .turbo node_modules dist", "typecheck": "tsc --noEmit", - "lint": "biome lint --fix", + "check": "biome check .", + "lint": "biome lint .", "format": "biome format --write" }, "devDependencies": { diff --git a/apps/server/src/index.ts b/apps/server/src/index.ts index eff820e1..150ea931 100644 --- a/apps/server/src/index.ts +++ b/apps/server/src/index.ts @@ -45,6 +45,7 @@ const serverStop = (server: http.Server) => { logger.warn("⚡️ Shutting down server"); // Tras el timeout, destruimos sockets vivos y resolvemos + // biome-ignore lint/complexity/noExcessiveCognitiveComplexity: const killer = setTimeout(() => { try { const sockets = Object.values(currentState.connections) as any[]; @@ -229,6 +230,7 @@ process.on("uncaughtException", async (error: Error) => { logger.info("✅ Server is READY (readiness=true)"); logger.info(`startup_duration_ms=${DateTime.now().diff(currentState.launchedAt).toMillis()}`); + // biome-ignore lint/complexity/noExcessiveCognitiveComplexity: server.listen(currentState.port, "0.0.0.0", () => { server.emit("listening"); diff --git a/apps/server/src/lib/modules/model-loader.ts b/apps/server/src/lib/modules/model-loader.ts index 91aada6e..3cd007a5 100644 --- a/apps/server/src/lib/modules/model-loader.ts +++ b/apps/server/src/lib/modules/model-loader.ts @@ -1,10 +1,8 @@ +// apps/server/src/lib/modules/model-loader.ts import type { ModuleParams } from "@erp/core/api"; import { logger } from "../logger"; -/** - Tipos mínimos para evitar acoplarse a una versión concreta de Sequelize -*/ type SequelizeLike = { sync: (options?: any) => Promise; models: Record; @@ -12,51 +10,44 @@ type SequelizeLike = { type ModelStatic = { name: string; - // Algunas implementaciones añaden associate(sequelize) para definir relaciones associate?: (sequelize: SequelizeLike) => void; }; export type ModelInitializer = (sequelize: SequelizeLike) => ModelStatic; -/** - Estructuras internas (no exportadas) con trazabilidad de módulo. -*/ type InitializerEntry = { init: ModelInitializer; moduleName: string }; +type RegisteredModelEntry = { + model: ModelStatic; + moduleName: string; +}; + const allModelInitializers: InitializerEntry[] = []; -const registeredModels: Map = new Map(); +const registeredModels: Map = new Map(); let modelsInitialized = false; -/** - 🔹 Registra inicializadores de modelos de un módulo - models: lista de funciones que definen modelos (sequelize) => ModelStatic - ctx.moduleName: para trazabilidad y detección de colisiones -*/ export const registerModels = ( models: ModelInitializer[], _params?: ModuleParams, ctx?: { moduleName: string } ) => { const moduleName = ctx?.moduleName ?? "unknown"; + if (!Array.isArray(models) || models.length === 0) { logger.warn(`No models provided by module "${moduleName}"`, { label: "registerModels" }); return; } + for (const init of models) { - // Guardamos con el módulo que los aporta (para logs/errores) allModelInitializers.push({ init, moduleName }); } - logger.info(`📦 ${models.length} model initializer(s) enqueued from "${moduleName}"`, { + + logger.info(`${models.length} model initializer(s) enqueued from "${moduleName}"`, { label: "registerModels", }); }; -/** - 🔹 Inicializa todos los modelos registrados y configura asociaciones. - Detecta colisiones por nombre de modelo entre módulos. - Controla el modo de sincronización por ENV. -*/ export const initModels = async (params: ModuleParams) => { if (modelsInitialized) { logger.warn("Models already initialized. Skipping initModels()", { label: "initModels" }); @@ -65,91 +56,150 @@ export const initModels = async (params: ModuleParams) => { logger.info("Init models...", { label: "initModels" }); - const { database } = params as { database: SequelizeLike }; + const database = getDatabaseOrThrow(params); + + try { + defineRegisteredModels(database); + associateRegisteredModels(database); + await syncDatabase(database, getDatabaseSyncMode(params)); + + modelsInitialized = true; + } catch (error) { + registeredModels.clear(); + throw error; + } +}; + +const getDatabaseOrThrow = (params: ModuleParams): SequelizeLike => { + const { database } = params as { database?: SequelizeLike }; + if (!database) { - const error = new Error("❌ Database not found."); + const error = new Error("Database not found."); logger.error(error.message, { label: "initModels" }); throw error; } - // 1) Definir modelos (y detectar colisiones) - for (const { init, moduleName } of allModelInitializers) { - try { - const model = init(database); - if (!model || typeof model.name !== "string" || !model.name) { - throw new Error(`Invalid model initializer: missing or empty "name"`); - } + return database; +}; - if (registeredModels.has(model.name)) { - const existing = registeredModels.get(model.name)!; - throw new Error( - `Model name collision: "${model.name}" from module "${moduleName}" conflicts with existing model from "${existing.moduleName}"` - ); - } - - registeredModels.set(model.name, { model, moduleName }); - logger.info(`🔸 Model "${model.name}" registered (sequelize)`, { - label: "registerModel", - module: moduleName, - }); - } catch (err: any) { - // Agregamos contexto del módulo que aportó el initializer - logger.error(`⛔️ Failed to define model (module="${moduleName}") : ${err?.message ?? err}`, { - label: "initModels", - stack: err?.stack, - }); - throw err; - } - } - - // 2) Configurar asociaciones - for (const { model, moduleName } of registeredModels.values()) { - if (typeof model.associate === "function") { - try { - model.associate(database); - } catch (err: any) { - logger.error( - `⛔️ Failed to associate model "${model.name}" (module="${moduleName}") : ${err?.message ?? err}`, - { label: "initModels", stack: err?.stack } - ); - throw err; - } - } - } - - // 3) Sincronizar base de datos (según modo) - const syncModeEnv = params.config.database.syncMode; // "none" | "alter" | "force" - - logger.info(`ℹ️ Database sync mode ${syncModeEnv}`, { - label: "initModels", - }); - - try { - if (syncModeEnv === "none") { - logger.info("✔️ Database sync skipped (mode=none)", { label: "initModels" }); - } else if (syncModeEnv === "alter") { - await database.sync({ force: false, alter: true }); - logger.info("✔️ Database synchronized successfully (mode=alter).", { label: "initModels" }); - } else if (syncModeEnv === "force") { - await database.sync({ force: true, alter: false }); - logger.warn("⚠️ Database synchronized with FORCE (mode=force).", { label: "initModels" }); - } else { - logger.warn(`⚠️ Unknown DB sync mode "${String(syncModeEnv)}" → skipping`, { - label: "initModels", - }); - } - } catch (err) { - const error = err as Error; - logger.error("❌ Error synchronizing database:", { error, label: "initModels" }); - throw error; - } finally { - modelsInitialized = true; +const defineRegisteredModels = (database: SequelizeLike): void => { + for (const entry of allModelInitializers) { + defineModel(database, entry); + } +}; + +const defineModel = (database: SequelizeLike, entry: InitializerEntry): void => { + const { init, moduleName } = entry; + + try { + const model = init(database); + + assertValidModel(model); + assertModelNameIsAvailable(model.name, moduleName); + + registeredModels.set(model.name, { model, moduleName }); + + logger.info(`Model "${model.name}" registered (sequelize)`, { + label: "registerModel", + module: moduleName, + }); + } catch (err) { + const error = err as Error; + + logger.error(`Failed to define model (module="${moduleName}") : ${error.message}`, { + label: "initModels", + stack: error.stack, + }); + + throw error; + } +}; + +const assertValidModel = (model: ModelStatic): void => { + if (!model || typeof model.name !== "string" || !model.name) { + throw new Error('Invalid model initializer: missing or empty "name"'); + } +}; + +const assertModelNameIsAvailable = (modelName: string, moduleName: string): void => { + const existing = registeredModels.get(modelName); + + if (!existing) { + return; + } + + throw new Error( + `Model name collision: "${modelName}" from module "${moduleName}" conflicts with existing model from "${existing.moduleName}"` + ); +}; + +const associateRegisteredModels = (database: SequelizeLike): void => { + for (const entry of registeredModels.values()) { + associateModel(database, entry); + } +}; + +const associateModel = (database: SequelizeLike, entry: RegisteredModelEntry): void => { + const { model, moduleName } = entry; + + if (typeof model.associate !== "function") { + return; + } + + try { + model.associate(database); + } catch (err) { + const error = err as Error; + + logger.error( + `Failed to associate model "${model.name}" (module="${moduleName}") : ${error.message}`, + { label: "initModels", stack: error.stack } + ); + + throw error; + } +}; + +const getDatabaseSyncMode = (params: ModuleParams): string => { + return params.config.database.syncMode; +}; + +const syncDatabase = async (database: SequelizeLike, syncMode: string): Promise => { + logger.info(`Database sync mode ${syncMode}`, { label: "initModels" }); + + try { + if (syncMode === "none") { + logger.info("Database sync skipped (mode=none)", { label: "initModels" }); + return; + } + + if (syncMode === "alter") { + await database.sync({ force: false, alter: true }); + logger.info("Database synchronized successfully (mode=alter).", { label: "initModels" }); + return; + } + + if (syncMode === "force") { + await database.sync({ force: true, alter: false }); + logger.warn("Database synchronized with FORCE (mode=force).", { label: "initModels" }); + return; + } + + logger.warn(`Unknown DB sync mode "${String(syncMode)}" → skipping`, { + label: "initModels", + }); + } catch (err) { + const error = err as Error; + + logger.error("Error synchronizing database:", { + error, + label: "initModels", + }); + + throw error; } }; -/** - 🔹 Utilidades opcionales (DX/tests) -*/ export const getRegisteredModels = () => Array.from(registeredModels.entries()).map(([name, { moduleName }]) => ({ name, @@ -160,5 +210,6 @@ export const resetModelsRegistry = () => { allModelInitializers.length = 0; registeredModels.clear(); modelsInitialized = false; + logger.info("Model registry has been reset.", { label: "initModels" }); }; diff --git a/apps/server/src/lib/modules/module-loader.ts b/apps/server/src/lib/modules/module-loader.ts index 5affb58e..ebcdf767 100644 --- a/apps/server/src/lib/modules/module-loader.ts +++ b/apps/server/src/lib/modules/module-loader.ts @@ -249,6 +249,7 @@ async function warmupModules(params: ModuleParams) { const pkg = registeredModules.get(name); if (!pkg?.warmup) continue; + // biome-ignore lint/suspicious/noExplicitAny: const maybeWarmup = (pkg as any).warmup as undefined | ((p: any) => Promise | void); if (typeof maybeWarmup !== "function") continue; @@ -313,8 +314,10 @@ async function withPhase( durationMs: duration, }); return out; - } catch (error: any) { + } catch (err: unknown) { const duration = Date.now() - startedAt; + const error = err as Error; + logger.error( `⛔️ Module "${moduleName}" failed at phase="${phase}" after ${duration}ms: ${error?.message ?? error}`, { @@ -326,11 +329,11 @@ async function withPhase( } ); // Re-lanzamos con contexto preservado - const err = new Error( + const newError = new Error( `[module=${moduleName}] phase=${phase} failed: ${error?.message ?? "Unknown error"}` ); - (err as any).cause = error; - throw err; + newError.cause = error; + throw newError; } } diff --git a/apps/server/src/lib/modules/service-registry.ts b/apps/server/src/lib/modules/service-registry.ts index c9987990..79239e58 100644 --- a/apps/server/src/lib/modules/service-registry.ts +++ b/apps/server/src/lib/modules/service-registry.ts @@ -3,7 +3,7 @@ const services: Record = {}; /** * Registra un objeto de servicio (API) bajo un nombre. */ -export function registerService(name: string, api: any) { +export function registerService(name: string, api: unknown) { if (services[name]) { throw new Error(`❌ Servicio "${name}" ya fue registrado.`); } @@ -21,7 +21,7 @@ export function registerService(name: string, api: any) { * * getService("self:repository") */ -export function getServiceScoped( +export function getServiceScoped( requesterModule: string, allowedDeps: readonly string[], name: string @@ -45,7 +45,7 @@ export function getServiceScoped( /** * Recupera un servicio registrado, con tipado opcional. */ -function getService(name: string): T { +function getService(name: string): T { const service = services[name]; if (!service) { throw new Error(`❌ Servicio "${name}" no encontrado.`); diff --git a/apps/server/src/routes/index.ts b/apps/server/src/routes/index.ts index c7483ecb..df87e0a6 100644 --- a/apps/server/src/routes/index.ts +++ b/apps/server/src/routes/index.ts @@ -1,20 +1 @@ export * from "./v1.routes"; - -import { Router } from "express"; - -export const v1Routes = (): Router => { - const routes = Router({ mergeParams: true }); - - routes.get("/hello", (req, res) => { - res.send("Hello world!"); - }); - - //authRouter(routes); - //usersRouter(routes); - //accountsRouter(routes); - - // Sales - //invoicesRouter(routes); - - return routes; -}; diff --git a/apps/server/src/routes/v1.routes.ts b/apps/server/src/routes/v1.routes.ts index 25fa1d0d..893a6ec4 100644 --- a/apps/server/src/routes/v1.routes.ts +++ b/apps/server/src/routes/v1.routes.ts @@ -3,7 +3,7 @@ import { Router } from "express"; export const v1Routes = (): Router => { const routes = Router({ mergeParams: true }); - routes.get("/hello", (req, res) => { + routes.get("/hello", (_req, res) => { res.send("Hello world!"); }); diff --git a/apps/web/index.html b/apps/web/index.html index a72cd444..17f4915b 100644 --- a/apps/web/index.html +++ b/apps/web/index.html @@ -1,5 +1,5 @@ - + diff --git a/apps/web/package.json b/apps/web/package.json index fa60023a..f576740f 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -1,7 +1,7 @@ { "name": "@erp/factuges-web", "private": true, - "version": "0.6.4", + "version": "0.6.5", "type": "module", "scripts": { "dev": "vite --host --clearScreen false", @@ -11,7 +11,8 @@ "preview": "vite preview --host --debug --mode production", "clean": "rm -rf dist && rm -rf node_modules && rm -rf .turbo", "check:deps": "pnpm exec depcheck", - "lint": "biome lint --fix", + "check": "biome check .", + "lint": "biome lint .", "format": "biome format --write" }, "devDependencies": { diff --git a/apps/web/src/components/module-routes.tsx b/apps/web/src/components/module-routes.tsx index 2cdf7693..281493ca 100644 --- a/apps/web/src/components/module-routes.tsx +++ b/apps/web/src/components/module-routes.tsx @@ -12,6 +12,7 @@ interface WarpIfProtectedProps { isProtected: boolean; } +// biome-ignore lint/correctness/noUnusedVariables: const WarpIfProtected = ({ component, isProtected }: WarpIfProtectedProps) => { return isProtected ? <>{component} : component; }; diff --git a/apps/web/src/lib/hooks/use-theme/theme-provider.tsx b/apps/web/src/lib/hooks/use-theme/theme-provider.tsx index c73f1ae7..b2612956 100644 --- a/apps/web/src/lib/hooks/use-theme/theme-provider.tsx +++ b/apps/web/src/lib/hooks/use-theme/theme-provider.tsx @@ -14,6 +14,7 @@ type ThemeProviderState = { setTheme: (theme: Theme) => void; }; +// biome-ignore lint/suspicious/noExplicitAny: const secureLocalStorage = (secureLocalStorageImport as any)?.default ?? secureLocalStorageImport; const initialState: ThemeProviderState = { diff --git a/apps/web/src/lib/token.ts b/apps/web/src/lib/token.ts index f154d543..d647e25e 100644 --- a/apps/web/src/lib/token.ts +++ b/apps/web/src/lib/token.ts @@ -5,6 +5,7 @@ import secureLocalStorageImport from "react-secure-storage"; * Este archivo puede evolucionar a un AuthService más completo en el futuro. */ +// biome-ignore lint/suspicious/noExplicitAny: const secureLocalStorage = (secureLocalStorageImport as any)?.default ?? secureLocalStorageImport; /** diff --git a/apps/web/src/locales/i18n.ts b/apps/web/src/locales/i18n.ts index 639ec3b7..d4b6efa8 100644 --- a/apps/web/src/locales/i18n.ts +++ b/apps/web/src/locales/i18n.ts @@ -23,7 +23,7 @@ export const useAppTranslation = () => { const base = useI18NextTranslation(); const { i18n } = base; - // biome-ignore lint/correctness/useExhaustiveDependencies: + // biome-ignore lint/correctness/useExhaustiveDependencies: useEffect(() => { // idempotente: solo añade si faltan bundles ensureAppTranslations(); diff --git a/apps/web/src/pages/login-form.tsx b/apps/web/src/pages/login-form.tsx index 5575e3b1..ef42a8cd 100644 --- a/apps/web/src/pages/login-form.tsx +++ b/apps/web/src/pages/login-form.tsx @@ -22,31 +22,31 @@ export function LoginForm({ className, ...props }: React.ComponentProps<"div">)
- Email - + Email + -
- Password + - + - - + - + Don't have an account?{" "} - {/** biome-ignore lint/a11y/useValidAnchor: */} - Sign up + {/** biome-ignore lint/a11y/useValidAnchor: */} + Sign up diff --git a/biome.json b/biome.json index 7be381b0..ecf328b1 100644 --- a/biome.json +++ b/biome.json @@ -1,5 +1,5 @@ { - "$schema": "https://biomejs.dev/schemas/2.3.1/schema.json", + "$schema": "https://biomejs.dev/schemas/2.4.11/schema.json", "vcs": { "enabled": true, "clientKind": "git", @@ -9,27 +9,19 @@ "files": { "ignoreUnknown": true, "includes": [ - "**/*.js", - "**/*.jsx", - "**/*.ts", - "**/*.tsx", - "**/*.json", - "**/*.css", - "**/*.scss" - ], - "experimentalScannerIgnores": [ - "**/node_modules/**", - "**/.next/**", - "**/dist/**", - "**/build/**", - "**/coverage/**", - "**/.turbo/**", - "**/out/**", - "**/.env*", - "**/public/**", - "**/*.d.ts", - "**/storybook-static/**", - "**/.vercel/**" + "**", + "!!**/node_modules", + "!!**/.next", + "!!**/dist", + "!!**/build", + "!!**/coverage", + "!!**/.turbo", + "!!**/out", + "!!**/storybook-static", + "!!**/.vercel", + "!**/.env*", + "!**/public", + "!**/*.d.ts" ] }, "formatter": { @@ -164,6 +156,7 @@ "noUnreachableSuper": "error", "noUnsafeFinally": "error", "noUnsafeOptionalChaining": "error", + "noUnusedFunctionParameters": "warn", "noUnusedLabels": "error", "noUnusedVariables": "warn", "useExhaustiveDependencies": "info", diff --git a/modules/auth/package.json b/modules/auth/package.json index 690c34a0..f66e3629 100644 --- a/modules/auth/package.json +++ b/modules/auth/package.json @@ -1,6 +1,6 @@ { "name": "@erp/auth", - "version": "0.6.4", + "version": "0.6.5", "private": true, "type": "module", "sideEffects": false, diff --git a/modules/auth/src/common/dto/get-profile.dto.ts b/modules/auth/src/common/dto/get-profile.dto.ts index 8d5cb37b..74a7f190 100644 --- a/modules/auth/src/common/dto/get-profile.dto.ts +++ b/modules/auth/src/common/dto/get-profile.dto.ts @@ -1,5 +1,3 @@ -import { IPercentageDTO } from "@erp/core"; - export interface IGetProfileResponseDTO { id: string; name: string; diff --git a/modules/core/package.json b/modules/core/package.json index 7800b3eb..d2db661f 100644 --- a/modules/core/package.json +++ b/modules/core/package.json @@ -1,11 +1,13 @@ { "name": "@erp/core", - "version": "0.6.4", + "version": "0.6.5", "private": true, "type": "module", "sideEffects": false, "scripts": { "typecheck": "tsc -p tsconfig.json --noEmit", + "check": "biome check .", + "lint": "biome lint .", "clean": "rimraf .turbo node_modules dist" }, "exports": { diff --git a/modules/core/src/api/infrastructure/mappers/mapper-registry.ts b/modules/core/src/api/infrastructure/mappers/mapper-registry.ts index 289f7817..14de8f3e 100644 --- a/modules/core/src/api/infrastructure/mappers/mapper-registry.ts +++ b/modules/core/src/api/infrastructure/mappers/mapper-registry.ts @@ -68,7 +68,9 @@ export class InMemoryMapperRegistry implements IMapperRegistry { } registerQueryMappers(mappers: Array<{ key: MapperQueryKey; mapper: any }>): this { - mappers.forEach(({ key, mapper }) => this.registerQueryMapper(key, mapper)); + for (const { key, mapper } of mappers) { + this.registerQueryMapper(key, mapper); + } return this; } } diff --git a/modules/core/src/web/lib/data-source/axios/setup-interceptors.ts b/modules/core/src/web/lib/data-source/axios/setup-interceptors.ts index fe997c38..b1d9f3d4 100644 --- a/modules/core/src/web/lib/data-source/axios/setup-interceptors.ts +++ b/modules/core/src/web/lib/data-source/axios/setup-interceptors.ts @@ -1,4 +1,4 @@ -import { AxiosError, AxiosInstance, InternalAxiosRequestConfig } from "axios"; +import type { AxiosError, AxiosInstance, InternalAxiosRequestConfig } from "axios"; /** * Configura interceptores para una instancia de Axios. diff --git a/modules/core/src/web/lib/modules/module-client.interface.ts b/modules/core/src/web/lib/modules/module-client.interface.ts index 883825f7..b6464dd4 100644 --- a/modules/core/src/web/lib/modules/module-client.interface.ts +++ b/modules/core/src/web/lib/modules/module-client.interface.ts @@ -1,6 +1,7 @@ -import { ReactNode } from "react"; -import { RouteObject } from "react-router-dom"; -import { ModuleMetadata } from "../../../common"; +import type { ReactNode } from "react"; +import type { RouteObject } from "react-router-dom"; + +import type { ModuleMetadata } from "../../../common"; export type ModuleClientParams = { [key: string]: any }; diff --git a/modules/customer-invoices/package.json b/modules/customer-invoices/package.json index ba0123c9..d9e08b30 100644 --- a/modules/customer-invoices/package.json +++ b/modules/customer-invoices/package.json @@ -1,11 +1,13 @@ { "name": "@erp/customer-invoices", - "version": "0.6.4", + "version": "0.6.5", "private": true, "type": "module", "sideEffects": false, "scripts": { "typecheck": "tsc -p tsconfig.json --noEmit", + "check": "biome check .", + "lint": "biome lint .", "clean": "rimraf .turbo node_modules dist" }, "exports": { diff --git a/modules/customer-invoices/src/api/application/issued-invoices/di/proforma-to-issued-invoice-props-converter.di.ts b/modules/customer-invoices/src/api/application/issued-invoices/di/proforma-to-issued-invoice-props-converter.di.ts index 021e5fb2..3dafcc3d 100644 --- a/modules/customer-invoices/src/api/application/issued-invoices/di/proforma-to-issued-invoice-props-converter.di.ts +++ b/modules/customer-invoices/src/api/application/issued-invoices/di/proforma-to-issued-invoice-props-converter.di.ts @@ -1,8 +1,12 @@ +import type { ICatalogs } from "@erp/core/api"; + import { type IProformaToIssuedInvoiceConverter, ProformaToIssuedInvoiceConverter, } from "../services"; -export function buildProformaToIssuedInvoicePropsConverter(): IProformaToIssuedInvoiceConverter { - return new ProformaToIssuedInvoiceConverter(); +export function buildProformaToIssuedInvoicePropsConverter( + catalogs: ICatalogs +): IProformaToIssuedInvoiceConverter { + return new ProformaToIssuedInvoiceConverter(catalogs); } diff --git a/modules/customer-invoices/src/api/application/issued-invoices/services/proforma-to-issued-invoice-props-converter.ts b/modules/customer-invoices/src/api/application/issued-invoices/services/proforma-to-issued-invoice-props-converter.ts index 21b8c7e8..f95777bd 100644 --- a/modules/customer-invoices/src/api/application/issued-invoices/services/proforma-to-issued-invoice-props-converter.ts +++ b/modules/customer-invoices/src/api/application/issued-invoices/services/proforma-to-issued-invoice-props-converter.ts @@ -1,8 +1,13 @@ -import { UtcDate } from "@repo/rdx-ddd"; +// modules/customer-invoices/src/api/application/issued-invoices/services/proforma-to-issued-invoice-props-converter.ts + +import type { JsonPaymentCatalogProvider } from "@erp/core"; +import type { ICatalogs } from "@erp/core/api"; +import { DomainError, UtcDate } from "@repo/rdx-ddd"; import { Maybe, Result } from "@repo/rdx-utils"; import { type IIssuedInvoiceCreateProps, + InvoicePaymentMethod, InvoiceStatus, IssuedInvoiceItem, IssuedInvoiceTax, @@ -14,87 +19,42 @@ export interface IProformaToIssuedInvoiceConverter { toCreateProps(proforma: Proforma): Result; } +/** + * Se encarga de generar las props de una Issued Invoice + * a partir de una Proforma en estado "issued". + * Ya se ha validado la proforma con las condiciones necesarias + * para generar la issued invoice. + */ + export class ProformaToIssuedInvoiceConverter implements IProformaToIssuedInvoiceConverter { + private readonly paymentCatalog: JsonPaymentCatalogProvider; + + constructor(catalogs: ICatalogs) { + this.paymentCatalog = catalogs.paymentCatalog; + } + public toCreateProps(proforma: Proforma): Result { + const itemsOrResult = this.resolveItems(proforma); + + if (itemsOrResult.isFailure) { + return Result.fail(itemsOrResult.error); + } + + const taxesOrResult = this.resolveTaxes(proforma); + + if (taxesOrResult.isFailure) { + return Result.fail(taxesOrResult.error); + } + + const paymentOrResult = this.resolvePayment(proforma); + + if (paymentOrResult.isFailure) { + return Result.fail(paymentOrResult.error); + } + const proformaTotals = proforma.totals(); - const taxTotals = proforma.taxes(); - const issuedItems: IssuedInvoiceItem[] = []; - - for (const item of proforma.items.getAll()) { - const itemTotals = item.totals(); - - const itemOrResult = IssuedInvoiceItem.create({ - description: item.description, - quantity: item.quantity, - unitAmount: item.unitAmount, - currencyCode: proforma.currencyCode, - languageCode: proforma.languageCode, - - itemDiscountPercentage: item.itemDiscountPercentage, - itemDiscountAmount: itemTotals.itemDiscountAmount, - - globalDiscountPercentage: item.globalDiscountPercentage, - globalDiscountAmount: itemTotals.globalDiscountAmount, - - totalDiscountAmount: itemTotals.totalDiscountAmount, - - ivaCode: item.ivaCode(), - ivaPercentage: item.ivaPercentage(), - ivaAmount: itemTotals.ivaAmount, - - recCode: item.recCode(), - recPercentage: item.recPercentage(), - recAmount: itemTotals.recAmount, - - retentionCode: item.retentionCode(), - retentionPercentage: item.retentionPercentage(), - retentionAmount: itemTotals.recAmount, - - subtotalAmount: itemTotals.subtotalAmount, - taxableAmount: itemTotals.taxableAmount, - taxesAmount: itemTotals.taxesAmount, - totalAmount: itemTotals.totalAmount, - }); - - if (itemOrResult.isFailure) { - return Result.fail(itemOrResult.error); - } - - issuedItems.push(itemOrResult.data); - } - - const issuedTaxes: IssuedInvoiceTax[] = []; - for (const tax of taxTotals.getAll()) { - if (tax.ivaCode.isNone()) { - return Result.fail(new Error("IVA code is required")); - } - - const taxOrResult = IssuedInvoiceTax.create({ - taxableAmount: tax.taxableAmount, - ivaCode: tax.ivaCode.unwrap(), - ivaPercentage: tax.ivaPercentage.unwrap(), - ivaAmount: tax.ivaAmount, - - recCode: tax.recCode, - recPercentage: tax.recPercentage, - recAmount: tax.recAmount, - - retentionCode: tax.retentionCode, - retentionAmount: tax.retentionAmount, - retentionPercentage: tax.retentionPercentage, - - taxesAmount: tax.taxesAmount, - }); - - if (taxOrResult.isFailure) { - return Result.fail(taxOrResult.error); - } - - issuedTaxes.push(taxOrResult.data); - } - - const issuedInvoiceProps: IIssuedInvoiceCreateProps = { + return Result.ok({ companyId: proforma.companyId, status: InvoiceStatus.issued(), @@ -103,7 +63,8 @@ export class ProformaToIssuedInvoiceConverter implements IProformaToIssuedInvoic invoiceNumber: proforma.invoiceNumber, - invoiceDate: UtcDate.today(), // La fecha de la factura es la fecha de emisión, no la de la proforma + // La fecha de factura debe reflejar la emisión, no la fecha original de la proforma. + invoiceDate: UtcDate.today(), operationDate: proforma.operationDate, description: proforma.description.getOrUndefined()!, @@ -113,17 +74,17 @@ export class ProformaToIssuedInvoiceConverter implements IProformaToIssuedInvoic notes: proforma.notes, reference: proforma.reference, - paymentMethod: proforma.paymentMethod, + paymentMethod: paymentOrResult.data, customerId: proforma.customerId, recipient: proforma.recipient.getOrUndefined()!, - items: issuedItems, + items: itemsOrResult.data, taxes: IssuedInvoiceTaxes.create({ currencyCode: proforma.currencyCode, languageCode: proforma.languageCode, - taxes: issuedTaxes, + taxes: taxesOrResult.data, }), subtotalAmount: proformaTotals.subtotalAmount, @@ -143,8 +104,127 @@ export class ProformaToIssuedInvoiceConverter implements IProformaToIssuedInvoic totalAmount: proformaTotals.totalAmount, verifactu: Maybe.none(), - }; + }); + } - return Result.ok(issuedInvoiceProps); + private resolveItems(proforma: Proforma): Result { + const issuedItems: IssuedInvoiceItem[] = []; + + for (const item of proforma.items.getAll()) { + const itemOrResult = this.resolveItem(proforma, item); + + if (itemOrResult.isFailure) { + return Result.fail(itemOrResult.error); + } + + issuedItems.push(itemOrResult.data); + } + + return Result.ok(issuedItems); + } + + private resolveItem( + proforma: Proforma, + item: ReturnType[number] + ): Result { + const itemTotals = item.totals(); + + return IssuedInvoiceItem.create({ + description: item.description, + quantity: item.quantity, + unitAmount: item.unitAmount, + currencyCode: proforma.currencyCode, + languageCode: proforma.languageCode, + + itemDiscountPercentage: item.itemDiscountPercentage, + itemDiscountAmount: itemTotals.itemDiscountAmount, + + globalDiscountPercentage: item.globalDiscountPercentage, + globalDiscountAmount: itemTotals.globalDiscountAmount, + + totalDiscountAmount: itemTotals.totalDiscountAmount, + + ivaCode: item.ivaCode(), + ivaPercentage: item.ivaPercentage(), + ivaAmount: itemTotals.ivaAmount, + + recCode: item.recCode(), + recPercentage: item.recPercentage(), + recAmount: itemTotals.recAmount, + + retentionCode: item.retentionCode(), + retentionPercentage: item.retentionPercentage(), + retentionAmount: itemTotals.retentionAmount, + + subtotalAmount: itemTotals.subtotalAmount, + taxableAmount: itemTotals.taxableAmount, + taxesAmount: itemTotals.taxesAmount, + totalAmount: itemTotals.totalAmount, + }); + } + + private resolveTaxes(proforma: Proforma): Result { + const issuedTaxes: IssuedInvoiceTax[] = []; + + for (const tax of proforma.taxes().getAll()) { + const taxOrResult = this.resolveTax(tax); + + if (taxOrResult.isFailure) { + return Result.fail(taxOrResult.error); + } + + issuedTaxes.push(taxOrResult.data); + } + + return Result.ok(issuedTaxes); + } + + private resolveTax( + tax: ReturnType["getAll"]>[number] + ): Result { + if (tax.ivaCode.isNone()) { + return Result.fail(new Error("IVA code is required")); + } + + return IssuedInvoiceTax.create({ + taxableAmount: tax.taxableAmount, + ivaCode: tax.ivaCode.unwrap(), + ivaPercentage: tax.ivaPercentage.unwrap(), + ivaAmount: tax.ivaAmount, + + recCode: tax.recCode, + recPercentage: tax.recPercentage, + recAmount: tax.recAmount, + + retentionCode: tax.retentionCode, + retentionAmount: tax.retentionAmount, + retentionPercentage: tax.retentionPercentage, + + taxesAmount: tax.taxesAmount, + }); + } + + private resolvePayment(proforma: Proforma): Result { + const paymentId = proforma.paymentMethodId.unwrap(); + + const existingPaymentResult = this.paymentCatalog.findById(paymentId.toString()); + if (existingPaymentResult.isNone()) { + return Result.fail( + new DomainError("Missing payment method [ProformaToIssuedInvoiceConverter]") + ); + } + + const paymentMethodOrError = InvoicePaymentMethod.create( + { + paymentDescription: existingPaymentResult.unwrap().description, + }, + paymentId + ); + + if (paymentMethodOrError.isFailure) { + return Result.fail(paymentMethodOrError.error); + } + + return Result.ok(paymentMethodOrError.data); } } diff --git a/modules/customer-invoices/src/api/application/issued-invoices/snapshot-builders/full/issued-invoice-full-snapshot-builder.ts b/modules/customer-invoices/src/api/application/issued-invoices/snapshot-builders/full/issued-invoice-full-snapshot-builder.ts index 7b906d65..850d08a2 100644 --- a/modules/customer-invoices/src/api/application/issued-invoices/snapshot-builders/full/issued-invoice-full-snapshot-builder.ts +++ b/modules/customer-invoices/src/api/application/issued-invoices/snapshot-builders/full/issued-invoice-full-snapshot-builder.ts @@ -26,10 +26,10 @@ export class IssuedInvoiceFullSnapshotBuilder implements IIssuedInvoiceFullSnaps const verifactu = this.verifactuBuilder.toOutput(invoice); const taxes = this.taxesBuilder.toOutput(invoice.taxes); - const payment_method = maybeToNullable(invoice.paymentMethod, (p) => ({ - payment_id: p.id.toString(), - payment_description: p.paymentDescription.toString(), - })); + const payment_method = { + payment_id: invoice.paymentMethod.id.toString(), + payment_description: invoice.paymentMethod.paymentDescription.toString(), + }; return { id: invoice.id.toString(), diff --git a/modules/customer-invoices/src/api/application/issued-invoices/snapshot-builders/full/issued-invoice-recipient-full-snapshot.interface.ts b/modules/customer-invoices/src/api/application/issued-invoices/snapshot-builders/full/issued-invoice-recipient-full-snapshot.interface.ts index e46c244c..0920fdaf 100644 --- a/modules/customer-invoices/src/api/application/issued-invoices/snapshot-builders/full/issued-invoice-recipient-full-snapshot.interface.ts +++ b/modules/customer-invoices/src/api/application/issued-invoices/snapshot-builders/full/issued-invoice-recipient-full-snapshot.interface.ts @@ -5,15 +5,3 @@ import type { IssuedInvoiceRecipientSummaryDTO } from "../../../../../common/dto"; export type IIssuedInvoiceRecipientFullSnapshot = IssuedInvoiceRecipientSummaryDTO; - -interface IIssuedInvoiceRecipientFullSnapshot2 { - id: string | null; - name: string | null; - tin: string | null; - street: string | null; - street2: string | null; - city: string | null; - province: string | null; - postal_code: string | null; - country: string | null; -} diff --git a/modules/customer-invoices/src/api/application/issued-invoices/snapshot-builders/full/issued-invoice-taxes-full-snapshot-builder.ts b/modules/customer-invoices/src/api/application/issued-invoices/snapshot-builders/full/issued-invoice-taxes-full-snapshot-builder.ts index 6e7c8d1f..065c0163 100644 --- a/modules/customer-invoices/src/api/application/issued-invoices/snapshot-builders/full/issued-invoice-taxes-full-snapshot-builder.ts +++ b/modules/customer-invoices/src/api/application/issued-invoices/snapshot-builders/full/issued-invoice-taxes-full-snapshot-builder.ts @@ -11,7 +11,7 @@ export interface IIssuedInvoiceTaxesFullSnapshotBuilder export class IssuedInvoiceTaxesFullSnapshotBuilder implements IIssuedInvoiceTaxesFullSnapshotBuilder { - private mapItem(invoiceTax: IssuedInvoiceTax, index: number): IIssuedInvoiceTaxFullSnapshot { + private mapItem(invoiceTax: IssuedInvoiceTax, _index: number): IIssuedInvoiceTaxFullSnapshot { return { taxable_amount: invoiceTax.taxableAmount.toObjectString(), diff --git a/modules/customer-invoices/src/api/application/proformas/di/proforma-input-mappers.di.ts b/modules/customer-invoices/src/api/application/proformas/di/proforma-input-mappers.di.ts index 0d81dace..539f6967 100644 --- a/modules/customer-invoices/src/api/application/proformas/di/proforma-input-mappers.di.ts +++ b/modules/customer-invoices/src/api/application/proformas/di/proforma-input-mappers.di.ts @@ -11,11 +11,11 @@ export interface IProformaInputMappers { updateInputMapper: UpdateProformaInputMapper; } -export const buildProformaInputMappers = (catalogs: ICatalogs): IProformaInputMappers => { - const { taxCatalog } = catalogs; +export const buildProformaInputMappers = (_catalogs: ICatalogs): IProformaInputMappers => { + //const { taxCatalog } = catalogs; // Mappers el DTO a las props validadas (ProformaProps) y luego construir agregado - const createInputMapper = new CreateProformaInputMapper({ taxCatalog }); + const createInputMapper = new CreateProformaInputMapper(); const updateInputMapper = new UpdateProformaInputMapper(); return { diff --git a/modules/customer-invoices/src/api/application/proformas/mappers/update-proforma-input.mapper.ts b/modules/customer-invoices/src/api/application/proformas/mappers/update-proforma-input.mapper.ts index 8a8e7395..d144d710 100644 --- a/modules/customer-invoices/src/api/application/proformas/mappers/update-proforma-input.mapper.ts +++ b/modules/customer-invoices/src/api/application/proformas/mappers/update-proforma-input.mapper.ts @@ -49,7 +49,7 @@ export interface IUpdateProformaInputMapper { export class UpdateProformaInputMapper implements IUpdateProformaInputMapper { public map( dto: UpdateProformaByIdRequestDTO, - params: { companyId: UniqueID } + _params: { companyId: UniqueID } ): Result { try { const errors: ValidationErrorDetail[] = []; diff --git a/modules/customer-invoices/src/api/application/proformas/services/proforma-creator.ts b/modules/customer-invoices/src/api/application/proformas/services/proforma-creator.ts index 8c3ef4bd..702a216e 100644 --- a/modules/customer-invoices/src/api/application/proformas/services/proforma-creator.ts +++ b/modules/customer-invoices/src/api/application/proformas/services/proforma-creator.ts @@ -1,7 +1,7 @@ import type { UniqueID } from "@repo/rdx-ddd"; import { Result } from "@repo/rdx-utils"; -import { Proforma, type ProformaCreateProps } from "../../../domain"; +import { type IProformaCreateProps, Proforma } from "../../../domain"; import type { IProformaRepository } from "../repositories"; import type { IProformaNumberGenerator } from "./proforma-number-generator.interface"; @@ -9,7 +9,7 @@ import type { IProformaNumberGenerator } from "./proforma-number-generator.inter export interface IProformaCreatorParams { companyId: UniqueID; id: UniqueID; - props: Omit; + props: Omit; transaction: unknown; } diff --git a/modules/customer-invoices/src/api/application/proformas/services/proforma-document-generator.interface.ts b/modules/customer-invoices/src/api/application/proformas/services/proforma-document-generator.interface.ts index 0233dc50..aaefdfb0 100644 --- a/modules/customer-invoices/src/api/application/proformas/services/proforma-document-generator.interface.ts +++ b/modules/customer-invoices/src/api/application/proformas/services/proforma-document-generator.interface.ts @@ -1,6 +1,6 @@ import type { DocumentGenerationService } from "@erp/core/api"; -import type { ProformaReportSnapshot } from "../application-models"; +import type { ProformaReportSnapshot } from "../snapshot-builders"; export interface ProformaDocumentGeneratorService extends DocumentGenerationService {} diff --git a/modules/customer-invoices/src/api/application/proformas/services/proforma-document-metadata-factory.ts b/modules/customer-invoices/src/api/application/proformas/services/proforma-document-metadata-factory.ts index 503ca0fa..f60be3f7 100644 --- a/modules/customer-invoices/src/api/application/proformas/services/proforma-document-metadata-factory.ts +++ b/modules/customer-invoices/src/api/application/proformas/services/proforma-document-metadata-factory.ts @@ -1,6 +1,6 @@ import type { IDocumentMetadata, IDocumentMetadataFactory } from "@erp/core/api"; -import type { ProformaReportSnapshot } from "../application-models"; +import type { ProformaReportSnapshot } from "../snapshot-builders"; /** * Construye los metadatos del documento PDF de una factura emitida. diff --git a/modules/customer-invoices/src/api/application/proformas/services/proforma-document-properties-factory.ts b/modules/customer-invoices/src/api/application/proformas/services/proforma-document-properties-factory.ts index 7a42fdf1..5843223f 100644 --- a/modules/customer-invoices/src/api/application/proformas/services/proforma-document-properties-factory.ts +++ b/modules/customer-invoices/src/api/application/proformas/services/proforma-document-properties-factory.ts @@ -1,6 +1,6 @@ import type { IDocumentProperties, IDocumentPropertiesFactory } from "@erp/core/api"; -import type { ProformaReportSnapshot } from "../application-models"; +import type { ProformaReportSnapshot } from "../snapshot-builders"; /** * Construye los metadatos del documento PDF de una factura emitida. diff --git a/modules/customer-invoices/src/api/application/proformas/snapshot-builders/full/proforma-taxes-full-snapshot-builder.ts b/modules/customer-invoices/src/api/application/proformas/snapshot-builders/full/proforma-taxes-full-snapshot-builder.ts index e130671b..072fb951 100644 --- a/modules/customer-invoices/src/api/application/proformas/snapshot-builders/full/proforma-taxes-full-snapshot-builder.ts +++ b/modules/customer-invoices/src/api/application/proformas/snapshot-builders/full/proforma-taxes-full-snapshot-builder.ts @@ -9,7 +9,7 @@ export interface IProformaTaxesFullSnapshotBuilder extends ISnapshotBuilder, TaxesBreakdownDTO[]> {} export class ProformaTaxesFullSnapshotBuilder implements IProformaTaxesFullSnapshotBuilder { - private mapItem(proformaTax: IProformaTaxTotals, index: number): TaxesBreakdownDTO { + private mapItem(proformaTax: IProformaTaxTotals, _index: number): TaxesBreakdownDTO { return { taxable_amount: proformaTax.taxableAmount.toObjectString(), diff --git a/modules/customer-invoices/src/api/domain/issued-invoices/aggregates/issued-invoice.aggregate.ts b/modules/customer-invoices/src/api/domain/issued-invoices/aggregates/issued-invoice.aggregate.ts index 4a7854a5..f23856ba 100644 --- a/modules/customer-invoices/src/api/domain/issued-invoices/aggregates/issued-invoice.aggregate.ts +++ b/modules/customer-invoices/src/api/domain/issued-invoices/aggregates/issued-invoice.aggregate.ts @@ -50,7 +50,7 @@ export interface IIssuedInvoiceCreateProps { languageCode: LanguageCode; currencyCode: CurrencyCode; - paymentMethod: Maybe; + paymentMethod: InvoicePaymentMethod; items: IIssuedInvoiceItemCreateProps[]; taxes: IssuedInvoiceTaxes; @@ -218,7 +218,7 @@ export class IssuedInvoice return this.props.recipient; } - public get paymentMethod(): Maybe { + public get paymentMethod(): InvoicePaymentMethod { return this.props.paymentMethod; } @@ -288,6 +288,6 @@ export class IssuedInvoice } public get hasPaymentMethod() { - return this.paymentMethod.isSome(); + return Boolean(this.paymentMethod.id); } } diff --git a/modules/customer-invoices/src/api/domain/proformas/aggregates/proforma.aggregate.ts b/modules/customer-invoices/src/api/domain/proformas/aggregates/proforma.aggregate.ts index 450faf70..c45d96d4 100644 --- a/modules/customer-invoices/src/api/domain/proformas/aggregates/proforma.aggregate.ts +++ b/modules/customer-invoices/src/api/domain/proformas/aggregates/proforma.aggregate.ts @@ -297,6 +297,10 @@ export class Proforma extends AggregateRoot implements IP } public issue(): Result { + // Antes de cambiar el estado de la proforma, + // comprobamos que se cumplen las condiciones + // necesarias. + if (!this.props.status.canTransitionTo("issued")) { return Result.fail( new DomainValidationError( diff --git a/modules/customer-invoices/src/api/infrastructure/proformas/di/proformas.di.ts b/modules/customer-invoices/src/api/infrastructure/proformas/di/proformas.di.ts index 8fe62db3..7c421da5 100644 --- a/modules/customer-invoices/src/api/infrastructure/proformas/di/proformas.di.ts +++ b/modules/customer-invoices/src/api/infrastructure/proformas/di/proformas.di.ts @@ -61,7 +61,7 @@ export function buildProformasDependencies(params: ModuleParams): ProformasInter const inputMappers = buildProformaInputMappers(catalogs); const finder = buildProformaFinder(repository); const creator = buildProformaCreator({ numberService: proformaNumberService, repository }); - const proformaToIssuedInvoiceConverter = buildProformaToIssuedInvoicePropsConverter(); + const proformaToIssuedInvoiceConverter = buildProformaToIssuedInvoicePropsConverter(catalogs); const issuer = buildProformaIssuer({ proformaConverter: proformaToIssuedInvoiceConverter, diff --git a/modules/customer-invoices/src/api/infrastructure/proformas/express/mappers/create-proforma-request-mapper.ts b/modules/customer-invoices/src/api/infrastructure/proformas/express/mappers/create-proforma-request-mapper.bak similarity index 100% rename from modules/customer-invoices/src/api/infrastructure/proformas/express/mappers/create-proforma-request-mapper.ts rename to modules/customer-invoices/src/api/infrastructure/proformas/express/mappers/create-proforma-request-mapper.bak diff --git a/modules/customer-invoices/src/web/domain/calculate-invoice-header-amounts.ts b/modules/customer-invoices/src/web/domain/calculate-invoice-header-amounts.ts deleted file mode 100644 index c988a685..00000000 --- a/modules/customer-invoices/src/web/domain/calculate-invoice-header-amounts.ts +++ /dev/null @@ -1,109 +0,0 @@ -import { TaxItemType } from "@erp/core"; -import type { Dinero } from "dinero.js"; -import { InvoiceItemTaxSummary } from "./calculate-invoice-item-amounts"; -import { toDinero } from "./calculate-utils"; - -export interface InvoiceItemsTotalsInput { - subtotal_amount: number; - discount_amount: number; - taxable_amount: number; - taxes_amount: number; - taxes_summary: InvoiceItemTaxSummary[]; - total_amount: number; -} - -export interface InvoiceHeaderCalcResult { - subtotal_amount: number; - items_discount_amount: number; - discount_amount: number; - taxable_amount: number; - taxes_summary: InvoiceItemTaxSummary[]; - taxes_amount: number; - total_amount: number; -} - -const toNum = (d: Dinero.Dinero) => d.toUnit(); - -/** - * Agrega los importes de todas las líneas y recalcula los totales generales - * con precisión financiera (sumas exactas en céntimos). - */ -export function calculateInvoiceHeaderAmounts( - items: InvoiceItemsTotalsInput[], - discount_percentage: number, - currency: string -): InvoiceHeaderCalcResult { - const defaultScale = 2; - - let items_subtotal = toDinero(0, defaultScale, currency); - let items_discount = toDinero(0, defaultScale, currency); - let items_taxable = toDinero(0, defaultScale, currency); - let items_taxes = toDinero(0, defaultScale, currency); - let items_total = toDinero(0, defaultScale, currency); - const items_taxes_summary: InvoiceItemTaxSummary[] = []; - - for (const item of items) { - items_subtotal = items_subtotal.add(toDinero(item.subtotal_amount, defaultScale, currency)); - items_discount = items_discount.add(toDinero(item.discount_amount, defaultScale, currency)); - items_taxable = items_taxable.add(toDinero(item.taxable_amount, defaultScale, currency)); - items_taxes = items_taxes.add(toDinero(item.taxes_amount, defaultScale, currency)); - items_total = items_total.add(toDinero(item.total_amount, defaultScale, currency)); - items_taxes_summary.push(...item.taxes_summary); - } - - // Descuento = subtotal × (item_pct / 100) - const discount_amount = items_taxable.percentage(discount_percentage); - - return { - subtotal_amount: toNum(items_subtotal), - items_discount_amount: toNum(items_discount), - discount_amount: toNum(discount_amount), - taxable_amount: toNum(items_taxable), - taxes_amount: toNum(items_taxes), - total_amount: toNum(items_total), - taxes_summary: calculateTaxesSummary(items_taxes_summary, currency), - }; -} - -function calculateTaxesSummary( - items_summary: InvoiceItemTaxSummary[], - currency: string -): InvoiceItemTaxSummary[] { - const defaultScale = 2; - const summaryMap = new Map< - string, - { tax: TaxItemType; taxable_amount: Dinero; taxes_amount: Dinero } - >(); - - for (const item of items_summary) { - const { taxable_amount, taxes_amount, ...tax } = item; - const key = tax.code; - - const current = summaryMap.get(key) ?? { - tax, - taxable_amount: toDinero(0, defaultScale, currency), - taxes_amount: toDinero(0, defaultScale, currency), - }; - - summaryMap.set(key, { - tax: current.tax, - taxable_amount: current.taxable_amount.add(toDinero(taxable_amount, defaultScale, currency)), - taxes_amount: current.taxes_amount.add(toDinero(taxes_amount, defaultScale, currency)), - }); - } - - // Convertimos el mapa en un array con números desescalados - const result: InvoiceItemTaxSummary[] = []; - - for (const { tax, taxable_amount, taxes_amount } of summaryMap.values()) { - result.push({ - ...tax, - taxable_amount: taxable_amount.toUnit(), - taxes_amount: taxes_amount.toUnit(), - }); - } - - // Los devolvermos ordenador: primero los que suman, - // luego los que restan: IVA, IGIC, IPSI, Recargo de equivalencia, Retención. - return result.sort((a, b) => a.name.localeCompare(b.name)); -} diff --git a/modules/customer-invoices/src/web/domain/calculate-invoice-item-amounts.ts b/modules/customer-invoices/src/web/domain/calculate-invoice-item-amounts.ts deleted file mode 100644 index bd1ecf51..00000000 --- a/modules/customer-invoices/src/web/domain/calculate-invoice-item-amounts.ts +++ /dev/null @@ -1,91 +0,0 @@ -import { TaxCatalogProvider, TaxItemType } from "@erp/core"; -import { toDinero, toNum } from "./calculate-utils"; - -export interface InvoiceItemCalcInput { - quantity?: string; // p.ej. "3.5" - unit_amount?: string; // p.ej. "125.75" - discount_percentage?: string; // p.ej. "10" (=> 10%) - tax_codes: string[]; // ["iva_21", ...] -} - -export type InvoiceItemTaxSummary = TaxItemType & { - taxable_amount: number; - taxes_amount: number; -}; - -export interface InvoiceItemCalcResult { - subtotal_amount: number; - discount_amount: number; - taxable_amount: number; - taxes_amount: number; - taxes_summary: InvoiceItemTaxSummary[]; - total_amount: number; -} - -/** - * Cálculo financiero exacto por línea de factura. - * Usa Dinero.js (base 10^2 y round half up) → resultados seguros en céntimos. - */ -export function calculateInvoiceItemAmounts( - item: InvoiceItemCalcInput, - currency: string, - taxCatalog: TaxCatalogProvider -): InvoiceItemCalcResult { - const defaultScale = 4; - const taxesSummary: InvoiceItemTaxSummary[] = []; - - const qty = Number.parseFloat(item.quantity || "0") || 0; - const unit = Number.parseFloat(item.unit_amount || "0") || 0; - const iten_pct = Number.parseFloat(item.discount_percentage || "0") || 0; - - // Subtotal = cantidad × precio unitario - const subtotal_amount = toDinero(unit, defaultScale, currency).multiply(qty); - - // Descuento = subtotal × (item_pct / 100) - const discount_amount = subtotal_amount.percentage(iten_pct); - const subtotal_w_discount_amount = subtotal_amount.subtract(discount_amount); - - // Base imponible - const taxable_amount = subtotal_w_discount_amount; - - // Impuestos acumulados con signo - let taxes_amount = toDinero(0, defaultScale, currency); - - for (const code of item.tax_codes ?? []) { - const taxItemType = taxCatalog.findByCode(code); - if (taxItemType.isNone()) continue; - - const taxItem = taxItemType.unwrap(); - - const tax_pct_value = - Number.parseFloat(taxItem.value) / 10 ** Number.parseInt(taxItem.scale, 10); - const item_taxables_amount = taxable_amount.percentage(tax_pct_value); - - // Sumar o restar según grupo - switch (taxItem.group.toLowerCase()) { - case "retención": - taxes_amount = taxes_amount.subtract(item_taxables_amount); - break; - default: - taxes_amount = taxes_amount.add(item_taxables_amount); - break; - } - - taxesSummary.push({ - ...taxItem, - taxable_amount: toNum(taxable_amount), - taxes_amount: toNum(item_taxables_amount), - }); - } - - const total = taxable_amount.add(taxes_amount); - - return { - subtotal_amount: toNum(subtotal_amount), - discount_amount: toNum(discount_amount), - taxable_amount: toNum(taxable_amount), - taxes_amount: toNum(taxes_amount), - taxes_summary: taxesSummary, - total_amount: toNum(total), - }; -} diff --git a/modules/customer-invoices/src/web/domain/calculate-utils.ts b/modules/customer-invoices/src/web/domain/calculate-utils.ts deleted file mode 100644 index 6771adf7..00000000 --- a/modules/customer-invoices/src/web/domain/calculate-utils.ts +++ /dev/null @@ -1,12 +0,0 @@ -import DineroFactory, { type Currency } from "dinero.js"; - -// Función auxiliar para convertir a Dinero -export const toDinero = (n: number, scale: number, currency: string) => - DineroFactory({ - amount: n === 0 ? 0 : Math.round(n * 10 ** scale), - precision: scale, - currency: currency as Currency, - }); - -// Función auxiliar que devuelve el valor de Dinero -export const toNum = (d: DineroFactory.Dinero) => d.toUnit(); diff --git a/modules/customer-invoices/src/web/domain/index.ts b/modules/customer-invoices/src/web/domain/index.ts deleted file mode 100644 index 825190d6..00000000 --- a/modules/customer-invoices/src/web/domain/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from "./calculate-invoice-header-amounts"; -export * from "./calculate-invoice-item-amounts"; diff --git a/modules/customer-invoices/src/web/hooks/index.ts b/modules/customer-invoices/src/web/hooks/index.ts deleted file mode 100644 index 73844ba6..00000000 --- a/modules/customer-invoices/src/web/hooks/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -export * from "./calcs"; -export * from "./use-create-customer-invoice-mutation"; -export * from "./use-customer-invoices-query"; -export * from "./use-invoice-query"; -export * from "./use-items-table-navigation"; -export * from "./use-pinned-preview-sheet"; diff --git a/modules/customer-invoices/src/web/hooks/use-create-customer-invoice-mutation.ts b/modules/customer-invoices/src/web/hooks/use-create-customer-invoice-mutation.ts deleted file mode 100644 index 9726919c..00000000 --- a/modules/customer-invoices/src/web/hooks/use-create-customer-invoice-mutation.ts +++ /dev/null @@ -1,48 +0,0 @@ -import { useDataSource } from "@erp/core/hooks"; -import { UniqueID, ValidationErrorCollection } from "@repo/rdx-ddd"; -import { type DefaultError, useMutation, useQueryClient } from "@tanstack/react-query"; - -import { CreateProformaRequestSchema } from "../../common"; -import type { Proforma } from "../proformas/types/proforma.api.schema"; -import type { InvoiceFormData } from "../schemas"; - -type CreateCustomerInvoicePayload = { - data: InvoiceFormData; -}; - -export const useCreateProforma = () => { - const queryClient = useQueryClient(); - const dataSource = useDataSource(); - const schema = CreateProformaRequestSchema; - - return useMutation({ - mutationKey: ["customer-invoice:create"], - - mutationFn: async (payload) => { - const { data } = payload; - const invoiceId = UniqueID.generateNewID(); - - const newInvoiceData = { - ...data, - id: invoiceId.toString(), - }; - - const result = schema.safeParse(newInvoiceData); - if (!result.success) { - // Construye errores detallados - const validationErrors = result.error.issues.map((err) => ({ - field: err.path.join("."), - message: err.message, - })); - - throw new ValidationErrorCollection("Validation failed", validationErrors); - } - - const created = await dataSource.createOne("customer-invoices", newInvoiceData); - return created; - }, - onSuccess: () => { - queryClient.invalidateQueries({ queryKey: ["customer-invoices"] }); - }, - }); -}; diff --git a/modules/customer-invoices/src/web/hooks/use-customer-invoices-query.tsx b/modules/customer-invoices/src/web/hooks/use-customer-invoices-query.tsx deleted file mode 100644 index e2024e32..00000000 --- a/modules/customer-invoices/src/web/hooks/use-customer-invoices-query.tsx +++ /dev/null @@ -1,40 +0,0 @@ -import { CriteriaDTO } from '@erp/core'; -import { useDataSource } from "@erp/core/hooks"; -import { DefaultError, QueryKey, useQuery } from "@tanstack/react-query"; -import { CustomerInvoicesPage } from '../schemas'; - -export const CUSTOMER_INVOICES_QUERY_KEY = (criteria: CriteriaDTO): QueryKey => [ - "customer_invoices", { - pageNumber: criteria.pageNumber ?? 0, - pageSize: criteria.pageSize ?? 10, - q: criteria.q ?? "", - filters: criteria.filters ?? [], - orderBy: criteria.orderBy ?? "", - order: criteria.order ?? "", - }, -]; - - -type InvoicesQueryOptions = { - enabled?: boolean; - criteria?: CriteriaDTO -}; - -// Obtener todas las facturas -export const useInvoicesQuery = (options?: InvoicesQueryOptions) => { - const dataSource = useDataSource(); - const enabled = options?.enabled ?? true; - const criteria = options?.criteria ?? {}; - - return useQuery({ - queryKey: CUSTOMER_INVOICES_QUERY_KEY(criteria), - queryFn: async ({ signal }) => { - return await dataSource.getList("customer-invoices", { - signal, - ...criteria, - }); - }, - enabled, - placeholderData: (previousData, previousQuery) => previousData, // Mantener datos previos mientras se carga nueva datos (antiguo `keepPreviousData`) - }); -}; diff --git a/modules/customer-invoices/src/web/hooks/use-detail-columns.tsx b/modules/customer-invoices/src/web/hooks/use-detail-columns.tsx deleted file mode 100644 index ad763e65..00000000 --- a/modules/customer-invoices/src/web/hooks/use-detail-columns.tsx +++ /dev/null @@ -1,92 +0,0 @@ -import { Checkbox } from "@repo/shadcn-ui/components"; -import { ColumnDef } from "@tanstack/react-table"; - -import { useId, useMemo } from "react"; - -// eslint-disable-next-line @typescript-eslint/no-unused-vars -export function useDetailColumns( - columns: ReadonlyArray>, - { - enableDragHandleColumn = false, - enableSelectionColumn = false, - enableActionsColumn = false, - rowActionFn, - }: { - enableDragHandleColumn?: boolean; - enableSelectionColumn?: boolean; - enableActionsColumn?: boolean; - rowActionFn?: DataTablaRowActionFunction; - } = {} -): ColumnDef[] { - const idPrefix = useId(); - - return useMemo(() => { - const baseColumns: ColumnDef[] = [...columns]; - - if (enableDragHandleColumn) { - baseColumns.unshift({ - id: "row_drag_handle", - header: () => null, - cell: (info) => , - enableSorting: false, - enableHiding: false, - size: 40, - }); - } - - if (enableSelectionColumn) { - baseColumns.unshift({ - id: "select", - header: ({ table }) => ( - table.toggleAllPageRowsSelected(!!value)} - aria-label='Seleccionar todo' - className='translate-y-[0px]' - /> - ), - cell: ({ row }) => ( - - ), - enableSorting: false, - enableHiding: false, - size: 40, - }); - } - - if (enableActionsColumn) { - const RowActionsCell = (props: any) => ( - - ); - - baseColumns.push({ - id: "row_actions", - header: () => null, - cell: RowActionsCell, - enableSorting: false, - enableHiding: false, - size: 48, - }); - } - - return baseColumns; - }, [ - columns, - rowActionFn, - idPrefix, - enableDragHandleColumn, - enableSelectionColumn, - enableActionsColumn, - ]); -} diff --git a/modules/customer-invoices/src/web/hooks/use-invoice-preview.tsx b/modules/customer-invoices/src/web/hooks/use-invoice-preview.tsx deleted file mode 100644 index a9a1b1ef..00000000 --- a/modules/customer-invoices/src/web/hooks/use-invoice-preview.tsx +++ /dev/null @@ -1,103 +0,0 @@ -import { FC, ReactNode, useCallback, useEffect, useRef, useState } from 'react'; -import { createPortal } from "react-dom"; - -export type UseInvoicePreviewOptions = { - persistKey?: string; // clave para guardar el pin en localStorage - pinnedWidthClass?: string; // ancho al anclar (Tailwind), p.ej. "w-[500px]" - onOpenChange?: (open: boolean) => void; // callback opcional -}; - -export type InvoicePreviewHook = { - isOpen: boolean; - isPinned: boolean; - item: T | null; - open: (item: T) => void; - close: () => void; - togglePin: () => void; - - /** Añade margen derecho al listado si está anclado */ - containerClassName: string; - - /** Renderiza el preview en un portal (body). Debes pasar tu Card como children render-prop */ - PreviewPortal: FC<{ - children: (p: { - item: T; - isOpen: boolean; - isPinned: boolean; - onClose: () => void; - onTogglePin: () => void; - }) => ReactNode - }>; -}; - -export function useInvoicePreview( - opts?: UseInvoicePreviewOptions -): InvoicePreviewHook { - const { persistKey = "invoice-preview-pin", pinnedWidthClass = "w-[500px]", onOpenChange } = opts ?? {}; - const [isOpen, setOpen] = useState(false); - const [item, setItem] = useState(null); - const [isPinned, setPinned] = useState(() => { - try { return localStorage.getItem(persistKey) === "1"; } catch { return false; } - }); - - // Guardar y restaurar foco al cerrar (mejor accesibilidad) - const lastFocusedRef = useRef(null); - const rememberFocus = () => { lastFocusedRef.current = (document.activeElement as HTMLElement) ?? null; }; - const restoreFocus = () => { lastFocusedRef.current?.focus?.(); }; - - const open = useCallback((next: T) => { - rememberFocus(); - setItem(next); - setOpen(true); - onOpenChange?.(true); - }, [onOpenChange]); - - const close = useCallback(() => { - if (isPinned) return; // anclado no se cierra - setOpen(false); - onOpenChange?.(false); - setTimeout(restoreFocus, 0); - }, [isPinned, onOpenChange]); - - const togglePin = useCallback(() => { - setPinned((prev) => { - const next = !prev; - try { localStorage.setItem(persistKey, next ? "1" : "0"); } catch { } - return next; - }); - }, [persistKey]); - - // Bloqueo de scroll cuando está abierto y NO anclado - useEffect(() => { - if (isOpen && !isPinned) { - const prev = document.body.style.overflow; - document.body.style.overflow = "hidden"; - return () => { document.body.style.overflow = prev; }; - } - }, [isOpen, isPinned]); - - // Cerrar con ESC (solo si no está anclado) - useEffect(() => { - if (!isOpen || isPinned) return; - const onKey = (e: KeyboardEvent) => { if (e.key === "Escape") close(); }; - window.addEventListener("keydown", onKey); - return () => window.removeEventListener("keydown", onKey); - }, [isOpen, isPinned, close]); - - const containerClassName = isPinned ? `mr-[--preview-width] [--preview-width:theme(spacing.0)] ${pinnedWidthClass ? "" : ""}` : ""; - // Nota: preferimos aplicar el margen directamente en el layout (ver uso abajo) - - const PreviewPortal: InvoicePreviewHook["PreviewPortal"] = useCallback(({ children }) => { - if (!item) return null; - const node = children({ - item, - isOpen, - isPinned, - onClose: close, - onTogglePin: togglePin, - }); - return createPortal(node as ReactNode, document.body); - }, [item, isOpen, isPinned, close, togglePin]); - - return { isOpen, isPinned, item, open, close, togglePin, containerClassName, PreviewPortal }; -} diff --git a/modules/customer-invoices/src/web/hooks/use-invoice-query.ts b/modules/customer-invoices/src/web/hooks/use-invoice-query.ts deleted file mode 100644 index 8a1fdd11..00000000 --- a/modules/customer-invoices/src/web/hooks/use-invoice-query.ts +++ /dev/null @@ -1,49 +0,0 @@ -import { useDataSource } from "@erp/core/hooks"; -import { type DefaultError, type QueryKey, useQuery } from "@tanstack/react-query"; - -import type { Proforma } from "../schemas"; - -export const CUSTOMER_INVOICE_QUERY_KEY = (id: string): QueryKey => - ["customer_invoice", id] as const; - -type InvoiceQueryOptions = { - enabled?: boolean; -}; - -export const useInvoiceQuery = (invoiceId?: string, options?: InvoiceQueryOptions) => { - const dataSource = useDataSource(); - const enabled = (options?.enabled ?? true) && !!invoiceId; - - return useQuery({ - queryKey: CUSTOMER_INVOICE_QUERY_KEY(invoiceId ?? "unknown"), - queryFn: async (context) => { - const { signal } = context; - if (!invoiceId) throw new Error("invoiceId is required"); - - return await dataSource.getOne("customer-invoices", invoiceId, { - signal, - }); - }, - enabled, - }); -}; - -/* - export function useQuery< - TQueryFnData = unknown, - TError = unknown, - TData = TQueryFnData, - TQueryKey extends QueryKey = QueryKey - > - - TQueryFnData: the type returned from the queryFn. - TError: the type of Errors to expect from the queryFn. - TData: the type our data property will eventually have. - Only relevant if you use the select option, - because then the data property can be different - from what the queryFn returns. - Otherwise, it will default to whatever the queryFn returns. - TQueryKey: the type of our queryKey, only relevant - if you use the queryKey that is passed to your queryFn. - -*/ diff --git a/modules/customer-invoices/src/web/hooks/use-items-table-navigation.ts b/modules/customer-invoices/src/web/hooks/use-items-table-navigation.ts deleted file mode 100644 index 265f07dc..00000000 --- a/modules/customer-invoices/src/web/hooks/use-items-table-navigation.ts +++ /dev/null @@ -1,131 +0,0 @@ -import * as React from "react"; -import { FieldValues, Path, UseFormReturn, useFieldArray } from "react-hook-form"; - -interface UseItemsTableNavigationOptions { - /** Nombre del array de líneas en el formulario (tipo-safe) */ - name: Path; - /** Creador de una línea vacía */ - createEmpty: () => unknown; // ajusta el tipo del item si lo conoces - /** Primer campo editable de la fila */ - firstEditableField?: string; -} - -export function useItemsTableNavigation( - form: UseFormReturn, - { - name, - createEmpty, - firstEditableField = "description", - }: UseItemsTableNavigationOptions -) { - const { control, getValues, setFocus } = form; - const fa = useFieldArray({ control, name }); - - // Desestructurar para evitar recreaciones - const { append, insert, remove: faRemove, move } = fa; - - // Ref estable para getValues - const getValuesRef = React.useRef(getValues); - getValuesRef.current = getValues; - - const length = React.useCallback(() => { - const arr = getValuesRef.current(name) as unknown[]; - return Array.isArray(arr) ? arr.length : 0; - }, [name]); - - const focusRowFirstField = React.useCallback( - (rowIndex: number) => { - queueMicrotask(() => { - try { - setFocus(`${name}.${rowIndex}.${firstEditableField}` as any, { - shouldSelect: true, - }); - } catch { - // el campo aún no está montado - } - }); - }, - [name, firstEditableField, setFocus] - ); - - const addEmpty = React.useCallback( - (atEnd = true, index?: number, initial?: Record) => { - const row = { ...createEmpty(), ...(initial ?? {}) }; - if (!atEnd && typeof index === "number") insert(index, row); - else append(row); - }, - [append, insert, createEmpty] - ); - - const duplicate = React.useCallback( - (i: number) => { - const curr = getValuesRef.current(`${name}.${i}`) as Record | undefined; - if (!curr) return; - const clone = - typeof structuredClone === "function" - ? structuredClone(curr) - : JSON.parse(JSON.stringify(curr)); - const { id: _id, ...sanitized } = clone; - insert(i + 1, sanitized); - }, - [insert, name] - ); - - const remove = React.useCallback( - (i: number) => { - if (i < 0 || i >= length()) return; - faRemove(i); - }, - [faRemove, length] - ); - - const moveUp = React.useCallback( - (i: number) => { - if (i <= 0) return; - move(i, i - 1); - }, - [move] - ); - - const moveDown = React.useCallback( - (i: number) => { - const len = length(); - if (i < 0 || i >= len - 1) return; - move(i, i + 1); - }, - [move, length] - ); - - const onTabFromLastCell = React.useCallback( - (rowIndex: number) => { - const len = length(); - if (rowIndex === len - 1) { - addEmpty(true); - focusRowFirstField(len); - } else { - focusRowFirstField(rowIndex + 1); - } - }, - [length, addEmpty, focusRowFirstField] - ); - - const onShiftTabFromFirstCell = React.useCallback( - (rowIndex: number) => { - if (rowIndex <= 0) return; - focusRowFirstField(rowIndex - 1); - }, - [focusRowFirstField] - ); - - return { - fieldArray: fa, // { fields, append, remove, insert, move, ... } - addEmpty, - duplicate, - remove, - moveUp, - moveDown, - onTabFromLastCell, - onShiftTabFromFirstCell, - focusRowFirstField, - }; -} diff --git a/modules/customer-invoices/src/web/hooks/use-pinned-preview-sheet.tsx b/modules/customer-invoices/src/web/hooks/use-pinned-preview-sheet.tsx deleted file mode 100644 index afec517b..00000000 --- a/modules/customer-invoices/src/web/hooks/use-pinned-preview-sheet.tsx +++ /dev/null @@ -1,128 +0,0 @@ -import { Sheet, SheetContent } from "@repo/shadcn-ui/components"; -// hooks/use-pinned-preview-sheet.ts -import * as React from "react"; -import { createPortal } from 'react-dom'; - -type UsePinnedPreviewSheetOptions = { - persistKey?: string; // clave localStorage para “pin” - widthClass?: string; // ancho del panel: p. ej. "w-[500px]" - onOpenChange?: (open: boolean) => void; - title?: string | ((item: T | null) => string); // Título del Sheet (no anclado) -}; - -export type PinnedPreviewSheet = { - /** Estado */ - isOpen: boolean; - isPinned: boolean; - item: T | null; - open: (item: T) => void; - close: () => void; - togglePin: () => void; - - /** Añade margen al contenedor de la lista cuando está anclado */ - listRightMarginClass: string; - - /** Renderiza el panel (Sheet o aside) */ - Preview: React.FC<{ - children: (ctx: { - item: T; - isPinned: boolean; - close: () => void; - togglePin: () => void; - }) => React.ReactNode - }>; -}; - -export function usePinnedPreviewSheet({ - persistKey = "preview-pin", - widthClass = "w-[500px]", - onOpenChange, - title, -}: UsePinnedPreviewSheetOptions = {}): PinnedPreviewSheet { - const [isOpen, setOpen] = React.useState(false); - const [item, setItem] = React.useState(null); - const [isPinned, setPinned] = React.useState(() => { - try { return localStorage.getItem(persistKey) === "1"; } catch { return false; } - }); - - // recordar/restaurar foco para accesibilidad - const lastFocused = React.useRef(null); - const rememberFocus = () => { lastFocused.current = document.activeElement as HTMLElement | null; }; - const restoreFocus = () => { lastFocused.current?.focus?.(); }; - - const open = React.useCallback((next: T) => { - rememberFocus(); - setItem(next); - setOpen(true); - onOpenChange?.(true); - }, [onOpenChange]); - - const close = React.useCallback(() => { - if (isPinned) return; - setOpen(false); - onOpenChange?.(false); - setTimeout(restoreFocus, 0); - }, [isPinned, onOpenChange]); - - const togglePin = React.useCallback(() => { - setPinned((p) => { - const n = !p; - try { localStorage.setItem(persistKey, n ? "1" : "0"); } catch { } - return n; - }); - }, [persistKey]); - - // Bloquea scroll solo en modo Sheet - React.useEffect(() => { - if (isOpen && !isPinned) { - const prev = document.body.style.overflow; - document.body.style.overflow = "hidden"; - return () => { document.body.style.overflow = prev; }; - } - }, [isOpen, isPinned]); - - // Cerrar con ESC solo en modo Sheet - React.useEffect(() => { - if (!isOpen || isPinned) return; - const onKey = (e: KeyboardEvent) => { if (e.key === "Escape") close(); }; - window.addEventListener("keydown", onKey); - return () => window.removeEventListener("keydown", onKey); - }, [isOpen, isPinned, close]); - - const listRightMarginClass = isPinned ? "mr-[500px]" : ""; // ajusta si cambias widthClass - - const HeaderTitle = React.useMemo(() => { - if (!item) return ""; - if (typeof title === "function") return title(item); - return title ?? ""; - }, [item, title]); - - const Preview: PinnedPreviewSheet["Preview"] = React.useCallback(({ children }) => { - if (!item) return null; - - // Panel anclado: aside estático sin overlay - if (isPinned) { - return createPortal( - , - document.body - ); - } - - // Panel no anclado: Sheet de shadcn/ui (con overlay y accesibilidad) - return createPortal( - (o ? setOpen(true) : close())}> - - {children({ item, isPinned: false, close, togglePin })} - - , - document.body - ); - }, [item, isPinned, isOpen, widthClass, close, togglePin]); - - return { isOpen, isPinned, item, open, close, togglePin, listRightMarginClass, Preview }; -} \ No newline at end of file diff --git a/modules/customer-invoices/src/web/proformas/list/ui/blocks/proformas-grid/use-proforma-grid-columns.tsx b/modules/customer-invoices/src/web/proformas/list/ui/blocks/proformas-grid/use-proforma-grid-columns.tsx index 3b849d12..9047952b 100644 --- a/modules/customer-invoices/src/web/proformas/list/ui/blocks/proformas-grid/use-proforma-grid-columns.tsx +++ b/modules/customer-invoices/src/web/proformas/list/ui/blocks/proformas-grid/use-proforma-grid-columns.tsx @@ -50,16 +50,19 @@ export function useProformasGridColumns( () => [ { id: "select", - header: ({ table }) => ( - table.toggleAllPageRowsSelected(!!value)} - /> - ), + header: ({ table }) => { + const isAllSelected = table.getIsAllPageRowsSelected(); + const isSomeSelected = table.getIsSomePageRowsSelected(); + + return ( + table.toggleAllPageRowsSelected(!!value)} + /> + ); + }, cell: ({ row }) => ( []>( - () => [ - /*{ - id: "select", - header: ({ table }) => ( - table.toggleAllPageRowsSelected(!!value)} - /> - ), - cell: ({ row }) => ( - row.toggleSelected(!!value)} - /> - ), - enableSorting: false, - enableHiding: false, - },*/ - { - accessorKey: "invoiceNumber", - /*header: ({ column }) => { - return ( - - ); - },*/ - header: "#", - cell: ({ row }) =>
{row.getValue("invoiceNumber")}
, - }, - - // Estado - { - accessorKey: "status", - header: "Estado", - cell: ({ row }) => { - const proforma = row.original; - - const isIssued = proforma.status === "issued"; - const invoiceId = proforma.linkedInvoiceId; - - return ( -
- - {/* Enlace discreto a factura real */} - {isIssued && ( - - - - - - Ver factura {invoiceId} - - - } - /> - Ver factura {invoiceId} - - - )} -
- ); - }, - }, - - // Cliente - { - accessorKey: "recipientName", - header: ({ column }) => { - return ( - - ); - }, - cell: ({ row }) => { - const proforma = row.original; - return ( -
- -
{proforma.recipient.tin}
-
- ); - }, - }, - { - accessorKey: "series", - header: "Serie", - }, - { - accessorKey: "reference", - header: "Referencia", - cellClassName: "text-ellipsis", - }, - { - accessorKey: "invoiceDate", - header: ({ column }) => { - return ( - - ); - }, - cell: ({ row }) => ( -
- {DateHelper.format(row.original.invoiceDate)} -
- ), - enableSorting: false, - meta: { - title: t("pages.issued_invoices.list.grid_columns.invoice_date"), - }, - }, - { - accessorKey: "operationDate", - header: ({ column }) => { - return ( - - ); - }, - }, - { - accessorKey: "subtotalAmountFmt", - header: () =>
Subtotal
, - cell: ({ row }) => ( -
- {row.getValue("subtotalAmountFmt")} -
- ), - }, - { - accessorKey: "totalDiscountAmountFmt", - header: () =>
Descuentos
, - cell: ({ row }) => ( -
- {row.getValue("totalDiscountAmountFmt")} -
- ), - }, - { - accessorKey: "taxableAmountFmt", - header: () =>
Base imponible
, - cell: ({ row }) => ( -
- {row.getValue("taxableAmountFmt")} -
- ), - }, - { - accessorKey: "taxesAmountFmt", - header: () =>
Impuestos
, - cell: ({ row }) => ( -
- {row.getValue("taxesAmountFmt")} -
- ), - }, - { - accessorKey: "totalAmountFmt", - header: () =>
Importe total
, - cell: ({ row }) => ( -
{row.getValue("totalAmountFmt")}
- ), - }, - { - id: "actions", - meta: { - isActionsColumn: true, - }, - header: "Acciones", - enableSorting: false, - cell: ({ row }) => { - const proforma = row.original; - const isIssued = proforma.status === PROFORMA_STATUS.ISSUED; - const isApproved = proforma.status === PROFORMA_STATUS.APPROVED; - const availableTransitions = - PROFORMA_STATUS_TRANSITIONS[proforma.status as ProformaStatus] ?? []; - - return ( -
- {!isIssued && actionHandlers.onEditClick && ( - - - actionHandlers.onEditClick?.(proforma)} - size="icon" - variant="ghost" - > - - Editar - - } - /> - Editar - - - )} - - {/* Cambiar estado */} - {!isIssued && availableTransitions.length && actionHandlers.onChangeStatusClick && ( - - - - actionHandlers.onChangeStatusClick?.(proforma, availableTransitions[0]) - } - size="icon" - variant="ghost" - > - - Cambiar estado - - } - /> - - Cambiar a {t(`catalog.proformas.status.${availableTransitions[0]}.label`)} - - - - )} - - {/* Emitir factura: solo si approved */} - {!isIssued && isApproved && actionHandlers.onIssueClick && ( - - - actionHandlers.onIssueClick?.(proforma)} - size="icon" - variant="ghost" - > - - - } - /> - Emitir a factura - - - )} - - {/* Eliminar */} - {!isIssued && actionHandlers.onDeleteClick && ( - - - { - e.preventDefault(); - actionHandlers.onDeleteClick?.(proforma); - }} - size="icon" - variant="ghost" - > - - - } - /> - Eliminar - - - )} -
- ); - }, - }, - ], - [t, actionHandlers] - ); } diff --git a/modules/customer-invoices/src/web/schemas/invoice-resume.form.schema.ts b/modules/customer-invoices/src/web/schemas/invoice-resume.form.schema.ts index 0a131831..49c5b6c3 100644 --- a/modules/customer-invoices/src/web/schemas/invoice-resume.form.schema.ts +++ b/modules/customer-invoices/src/web/schemas/invoice-resume.form.schema.ts @@ -1,5 +1,3 @@ -import { CustomerInvoiceSummary, CustomerInvoicesPage } from "./invoices.api.schema"; - export type InvoiceSummaryFormData = CustomerInvoiceSummary & { subtotal_amount_fmt: string; subtotal_amount: number; diff --git a/modules/customer-invoices/templates/rodax/es/issued-invoice.frx b/modules/customer-invoices/templates/rodax/es/issued-invoice.frx index 34e5099c..68d27cf1 100644 --- a/modules/customer-invoices/templates/rodax/es/issued-invoice.frx +++ b/modules/customer-invoices/templates/rodax/es/issued-invoice.frx @@ -1,5 +1,5 @@  - + using System; using System.Collections; using System.Collections.Generic; @@ -23,7 +23,7 @@ namespace FastReport } - + @@ -184,7 +184,7 @@ namespace FastReport - + @@ -192,19 +192,19 @@ namespace FastReport - + - + - + @@ -215,7 +215,7 @@ namespace FastReport - + @@ -224,6 +224,6 @@ namespace FastReport - + diff --git a/modules/customers/package.json b/modules/customers/package.json index 88a2bdc4..d9619de2 100644 --- a/modules/customers/package.json +++ b/modules/customers/package.json @@ -1,12 +1,14 @@ { "name": "@erp/customers", "description": "Customers", - "version": "0.6.4", + "version": "0.6.5", "private": true, "type": "module", "sideEffects": false, "scripts": { "typecheck": "tsc -p tsconfig.json --noEmit", + "check": "biome check .", + "lint": "biome lint .", "clean": "rimraf .turbo node_modules dist" }, "exports": { diff --git a/modules/customers/src/api/application/use-cases/delete-customer.use-case.ts b/modules/customers/src/api/application/use-cases/delete-customer.use-case.bak similarity index 90% rename from modules/customers/src/api/application/use-cases/delete-customer.use-case.ts rename to modules/customers/src/api/application/use-cases/delete-customer.use-case.bak index 9f2a90c9..2ce669b0 100644 --- a/modules/customers/src/api/application/use-cases/delete-customer.use-case.ts +++ b/modules/customers/src/api/application/use-cases/delete-customer.use-case.bak @@ -1,7 +1,6 @@ -import { EntityNotFoundError, ITransactionManager } from "@erp/core/api"; +import { EntityNotFoundError, type ITransactionManager } from "@erp/core/api"; import { UniqueID } from "@repo/rdx-ddd"; import { Result } from "@repo/rdx-utils"; -import { CustomerApplicationService } from "../../application"; type DeleteCustomerUseCaseInput = { companyId: UniqueID; diff --git a/modules/customers/src/api/application/use-cases/index.ts b/modules/customers/src/api/application/use-cases/index.ts index 5a6abf0d..237ab7c8 100644 --- a/modules/customers/src/api/application/use-cases/index.ts +++ b/modules/customers/src/api/application/use-cases/index.ts @@ -1,5 +1,4 @@ export * from "./create-customer.use-case"; -export * from "./delete-customer.use-case"; export * from "./get-customer-by-id.use-case"; export * from "./list-customers.use-case"; export * from "./update/update-customer.use-case"; diff --git a/modules/customers/src/web/_archived/components/client-selector-modal.tsx b/modules/customers/src/web/_archived/components/client-selector-modal.tsx deleted file mode 100644 index 89f1799d..00000000 --- a/modules/customers/src/web/_archived/components/client-selector-modal.tsx +++ /dev/null @@ -1,294 +0,0 @@ -import { buildTextFilters } from "@erp/core/client"; -import { LookupDialog } from "@repo/rdx-ui/components"; -import { - Badge, - Button, - Card, - CardContent, - Dialog, - DialogContent, - DialogFooter, - DialogHeader, - DialogTitle, - Label, - TableCell, -} from "@repo/shadcn-ui/components"; -import { Building, Calendar, Mail, MapPin, Phone, Plus, User } from "lucide-react"; -import { useState } from "react"; -import DataTable, { type TableColumn } from "react-data-table-component"; -import { useDebounce } from "use-debounce"; - -import type { ListCustomersResponseDTO } from "../../../common"; -import { useCustomerListQuery } from "../hooks"; - -type Customer = ListCustomersResponseDTO["items"][number]; - -const columns: TableColumn[] = [ - { - name: "Nombre", - selector: (row) => row.name, - sortable: true, - }, - { - name: "Email", - selector: (row) => row.email, - sortable: true, - }, - { - name: "Empresa", - selector: (row) => row.trade_name ?? row.metadata?.company_name ?? "-", - sortable: false, - }, - { - name: "Estado", - selector: (row) => row.status, - sortable: false, - }, -]; - -const mockCustomers: Customer[] = [ - { - id: "a1d2e3f4-5678-90ab-cdef-1234567890ab", - name: "Juan Pérez", - email: "juan@email.com", - phone: "+34 600 123 456", - company: "Tech Corp", - address: "Calle Mayor 123, Madrid", - createdAt: "2024-01-15", - status: "Activo", - }, - { - id: "b1d2e3f4-5678-90ab-cdef-1234567890ab", - name: "María García", - email: "maria@email.com", - phone: "+34 600 789 012", - company: "Design Studio", - address: "Av. Diagonal 456, Barcelona", - createdAt: "2024-02-20", - status: "Activo", - }, - { - id: "c1d2e3f4-5678-90ab-cdef-1234567890ab", - name: "Carlos López", - email: "carlos@email.com", - phone: "+34 600 345 678", - company: "Marketing Plus", - address: "Gran Vía 789, Valencia", - createdAt: "2024-01-30", - status: "Inactivo", - }, - { - id: "d1d2e3f4-5678-90ab-cdef-1234567890ab", - name: "Ana Martínez", - email: "ana@email.com", - phone: "+34 600 901 234", - company: "Consulting Group", - address: "Calle Sierpes 321, Sevilla", - createdAt: "2024-03-10", - status: "Activo", - }, -]; - -async function fetchClientes(search: string): Promise { - await new Promise((res) => setTimeout(res, 500)); - const mock: Customer[] = [ - { - id: "a1", - name: "Juan Pérez", - email: "juan@email.com", - phone: "+34 600 123 456", - company: "Tech Corp", - address: "Madrid", - createdAt: "2024-01-15", - status: "Activo", - }, - { - id: "b1", - name: "María García", - email: "maria@email.com", - phone: "+34 600 789 012", - company: "Design Studio", - address: "Barcelona", - createdAt: "2024-02-20", - status: "Activo", - }, - ]; - return mock.filter( - (c) => - c.name.toLowerCase().includes(search.toLowerCase()) || - c.email.toLowerCase().includes(search.toLowerCase()) || - c.company.toLowerCase().includes(search.toLowerCase()) - ); -} - -export const ClientSelectorModal = () => { - const [isCreateOpen, setIsCreateOpen] = useState(false); - const [open, setOpen] = useState(false); - const [search, setSearch] = useState(""); - const [pageNumber, setPageNumber] = useState(1); - const [pageSize] = useState(10); - const [selectedCustomer, setSelectedCustomer] = useState(undefined); - - const [debouncedSearch] = useDebounce(search, 400); - - const { data, isLoading, isError, refetch } = useCustomerListQuery({ - filters: buildTextFilters(["name", "email", "trade_name"], debouncedSearch), - pageSize, - pageNumber, - }); - - const handleSelectClient = (event): void => { - event.preventDefault(); - setOpen(true); - }; - - return ( -
-
- - -
- - {selectedCustomer && ( - - -
-
- -

{selectedCustomer.name}

- - {selectedCustomer.status} - -
- {selectedCustomer.company} -
-

{selectedCustomer.email}

-
-
- )} - - { - e.preventDefault(); - setOpen(true); - console.log("Crear nuevo cliente"); - }} - onOpenChange={setOpen} - onPageChange={setPageNumber} - onSearchChange={setSearch} - onSelect={(customer) => { - setSelectedCustomer(customer); - setOpen(false); - }} - open={open} - page={pageNumber} - perPage={pageSize} - refetch={refetch} - renderContainer={(items) => ( - setPageNumber(p)} - onRowClicked={(item) => { - setSelectedCustomer(item); - setOpen(false); - }} - pagination - paginationPerPage={pageSize} - paginationServer - paginationTotalRows={data?.total_items ?? 0} - pointerOnHover - /> - )} - renderItem={() => null} - search={search} - title="Seleccionar cliente" // No se usa con DataTable - totalItems={data?.total_items ?? 0} - /> - - - - - - - Nuevo Cliente - - -

Formulario de creación pendiente…

- - - - -
-
-
- ); -}; - -// COMPONENTES VISUALES - -const CustomerCard = ({ customer }: { customer: Customer }) => ( - - -
- - {customer.name} - - {customer.status} - -
-
-
- - {customer.email} -
-
- - {customer.company} -
-
- - {customer.phone} -
-
- - {customer.address} -
-
- - {new Date(customer.createdAt).toLocaleDateString("es-ES")} -
-
-
-
-); - -const CustomerRow = ({ customer }: { customer: Customer }) => ( - <> - {customer.name} - {customer.email} - {customer.company} - - - {customer.status} - - - -); diff --git a/modules/customers/src/web/_archived/components/customer-modal-selector/customer-create-modal.tsx b/modules/customers/src/web/_archived/components/customer-modal-selector/customer-create-modal.tsx deleted file mode 100644 index 56db1f97..00000000 --- a/modules/customers/src/web/_archived/components/customer-modal-selector/customer-create-modal.tsx +++ /dev/null @@ -1,111 +0,0 @@ -import { UnsavedChangesProvider, useUnsavedChangesContext } from "@erp/core/hooks"; -import { - Button, - Dialog, - DialogContent, - DialogDescription, - DialogFooter, - DialogHeader, - DialogTitle, -} from "@repo/shadcn-ui/components"; -import { Plus } from "lucide-react"; -import { useCallback, useId } from "react"; - -import { useTranslation } from "../../../i18n"; -import { useCustomerCreateController } from "../../pages/create/use-customer-create-controller"; -import type { CustomerFormData } from "../../schemas"; -import { CustomerEditForm } from "../editor"; - -type CustomerCreateModalProps = { - open: boolean; - onOpenChange: (open: boolean) => void; - client: CustomerFormData; - onChange: (customer: CustomerFormData) => void; - onSubmit: () => void; // ← mantenemos tu firma (no se usa directamente aquí) -}; - -export function CustomerCreateModal({ open, onOpenChange }: CustomerCreateModalProps) { - const { t } = useTranslation(); - const formId = useId(); - - const { requestConfirm } = useUnsavedChangesContext(); - - const { form, isCreating, isCreateError, createError, handleSubmit, handleError, FormProvider } = - useCustomerCreateController(); - - const { isDirty } = form.formState; - - const guardClose = useCallback( - async (nextOpen: boolean) => { - if (nextOpen) return onOpenChange(true); - - if (isCreating) return; - - if (!isDirty) { - return onOpenChange(false); - } - - if (await requestConfirm()) { - return onOpenChange(false); - } - }, - [requestConfirm, isCreating, onOpenChange, isDirty] - ); - - const handleFormSubmit = (data: CustomerFormData) => - handleSubmit(data /*, () => onOpenChange(false)*/); - - return ( - - - - - - {t("pages.create.title")} - - - {t("pages.create.description")} - - - -
- - - - {isCreateError && ( -

- {(createError as Error)?.message} -

- )} -
-
- - - - - -
-
-
- ); -} diff --git a/modules/customers/src/web/_archived/components/customer-modal-selector/customer-modal-selector-field.tsx b/modules/customers/src/web/_archived/components/customer-modal-selector/customer-modal-selector-field.tsx deleted file mode 100644 index e61fff2a..00000000 --- a/modules/customers/src/web/_archived/components/customer-modal-selector/customer-modal-selector-field.tsx +++ /dev/null @@ -1,73 +0,0 @@ -import { Field, FieldLabel } from "@repo/shadcn-ui/components"; -import { cn } from "@repo/shadcn-ui/lib/utils"; -import { type Control, Controller, type FieldPath, type FieldValues } from "react-hook-form"; - -import type { CustomerSummary } from "../../schemas"; - -import { CustomerModalSelector } from "./customer-modal-selector"; - -type CustomerModalSelectorFieldProps = { - control: Control; - name: FieldPath; - - label?: string; - description?: string; - - orientation?: "vertical" | "horizontal" | "responsive"; - - disabled?: boolean; - required?: boolean; - readOnly?: boolean; - className?: string; - initiaCustomer?: unknown; -}; - -export function CustomerModalSelectorField({ - control, - name, - - label, - description, - - orientation = "vertical", - - disabled = false, - required = false, - readOnly = false, - className, - initiaCustomer = {}, -}: CustomerModalSelectorFieldProps) { - const isDisabled = disabled; - const isReadOnly = readOnly && !disabled; - - return ( - { - const { name, value, onChange, onBlur, ref } = field; - - return ( - - {label && ( - - {label} - - )} - - - ); - }} - /> - ); -} diff --git a/modules/customers/src/web/_archived/components/customer-modal-selector/customer-modal-selector.tsx b/modules/customers/src/web/_archived/components/customer-modal-selector/customer-modal-selector.tsx deleted file mode 100644 index 8cfbe603..00000000 --- a/modules/customers/src/web/_archived/components/customer-modal-selector/customer-modal-selector.tsx +++ /dev/null @@ -1,181 +0,0 @@ -import { useEffect, useId, useMemo, useState } from "react"; - -import { CustomerEmptyCard } from "../../../../../../customer-invoices/src/web/proformas/update/ui/blocks/selected-recipient/selected-recipient-empty-card"; -import { useCustomerListQuery } from "../../hooks"; -import { - type CustomerFormData, - type CustomerSummary, - defaultCustomerFormData, -} from "../../schemas"; - -../../../../../../customer-invoices/src/web/proformas/update/ui/blocks/selected-recipient/customer-card - -import { CustomerCard } from "./customer-card"; -import { CustomerCreateModal } from "./customer-create-modal"; -import { CustomerSearchDialog } from "./customer-search-dialog"; -import { CustomerViewDialog } from "./customer-view-dialog"; - -// Debounce pequeño y tipado -function useDebouncedValue(value: T, delay = 300) { - const [debounced, setDebounced] = useState(value); - useEffect(() => { - const id = setTimeout(() => setDebounced(value), delay); - return () => clearTimeout(id); - }, [value, delay]); - return debounced; -} - -type CustomerModalSelectorProps = { - value?: string; - onValueChange?: (id: string) => void; - disabled?: boolean; // Solo lectura total (sin botones ni selección) - readOnly?: boolean; // Ver ficha, pero no cambiar/crear - initialCustomer?: CustomerSummary; - className?: string; -}; - -export const CustomerModalSelector = ({ - value, - onValueChange, - disabled = false, - readOnly = false, - initialCustomer, - className, -}: CustomerModalSelectorProps) => { - const dialogId = useId(); - - const [showSearch, setShowSearch] = useState(false); - const [showNewForm, setShowNewForm] = useState(false); - const [showView, setShowView] = useState(false); - - const [searchQuery, setSearchQuery] = useState(""); - const debouncedQuery = useDebouncedValue(searchQuery, 300); - - // Cliente seleccionado + creados localmente (optimista) - const [selected, setSelected] = useState(initialCustomer ?? null); - const [localCreated, setLocalCreated] = useState([]); - - const [newClient, setNewClient] = - useState>(defaultCustomerFormData); - - const criteria = useMemo( - () => ({ - q: debouncedQuery || "", - pageSize: 5, - orderBy: "updated_at" as const, - order: "asc" as const, - }), - [debouncedQuery] - ); - - // Consulta solo cuando el diálogo de búsqueda está abierto - const { - data: remoteCustomersPage, - isLoading, - isError, - error, - } = useCustomerListQuery({ - enabled: showSearch, // <- evita llamadas innecesarias - criteria, - }); - - // Combinar locales optimistas + remotos - const customers: CustomerSummary[] = useMemo(() => { - const remoteCustomers = remoteCustomersPage ? remoteCustomersPage.items : []; - const byId = new Map(); - [...localCreated, ...remoteCustomers].forEach((c) => byId.set(c.id, c as CustomerSummary)); - return Array.from(byId.values()); - }, [localCreated, remoteCustomersPage]); - - // Sync con value e initialCustomer - useEffect(() => { - const found = customers.find((c) => c.id === value) ?? initialCustomer ?? null; - setSelected(found ?? null); - }, [value, customers, initialCustomer]); - - // Crear cliente (optimista) mapeando desde CustomerDraft -> CustomerSummary - const handleCreate = () => { - if (!(newClient.name && newClient.email_primary)) return; - - const newCustomer: CustomerSummary = defaultCustomerFormData as CustomerSummary; - - setLocalCreated((prev) => [newCustomer, ...prev]); - onValueChange?.(newCustomer.id); // RHF es el source of truth - setShowNewForm(false); - setShowSearch(false); - }; - - // Handlers de tarjeta según modo - const canChange = !(disabled || readOnly); - const canCreate = !(disabled || readOnly); - const canView = !!selected && !disabled; - - return ( - <> -
- {selected ? ( - setShowNewForm(true) : undefined} - onChangeCustomer={canChange ? () => setShowSearch(true) : undefined} - onViewCustomer={canView ? () => setShowView(true) : undefined} - /> - ) : ( - setShowSearch(true)} - onKeyDown={ - disabled || readOnly - ? undefined - : (e) => { - if (e.key === "Enter" || e.key === " ") setShowSearch(true); - } - } - /> - )} -
- - { - setNewClient((prev) => ({ ...prev, name: name ?? "" })); - setShowNewForm(true); - }} - onOpenChange={setShowSearch} - onSearchQueryChange={setSearchQuery} - onSelectClient={(c) => { - setSelected(c); - onValueChange?.(c.id); - setShowSearch(false); - }} - open={showSearch} - searchQuery={searchQuery} - selectedClient={selected} - /> - - - - {/* Diálogo de alta rápida */} - - - ); -}; diff --git a/modules/customers/src/web/_archived/components/customer-modal-selector/customer-search-dialog.tsx b/modules/customers/src/web/_archived/components/customer-modal-selector/customer-search-dialog.tsx deleted file mode 100644 index 57e90487..00000000 --- a/modules/customers/src/web/_archived/components/customer-modal-selector/customer-search-dialog.tsx +++ /dev/null @@ -1,169 +0,0 @@ -import { - Badge, - Button, - Command, - CommandEmpty, - CommandGroup, - CommandInput, - CommandItem, - CommandList, - Dialog, - DialogContent, - DialogDescription, - DialogFooter, - DialogHeader, - DialogTitle, -} from "@repo/shadcn-ui/components"; -import { cn } from "@repo/shadcn-ui/lib/utils"; -import { - Check, - CreditCardIcon, - MailIcon, - SmartphoneIcon, - User, - UserIcon, - UserPlusIcon, -} from "lucide-react"; - -import type { CustomerSummary } from "../../schemas"; - -interface CustomerSearchDialogProps { - open: boolean; - onOpenChange: (open: boolean) => void; - searchQuery: string; - onSearchQueryChange: (q: string) => void; - customers: CustomerSummary[]; - selectedClient: CustomerSummary | null; - onSelectClient: (c: CustomerSummary) => void; - onCreateClient: (name?: string) => void; - isLoading?: boolean; - isError?: boolean; - errorMessage?: string; -} - -export const CustomerSearchDialog = ({ - open, - onOpenChange, - searchQuery, - onSearchQueryChange, - customers, - selectedClient, - onSelectClient, - onCreateClient, - isLoading, - isError, - errorMessage, -}: CustomerSearchDialogProps) => { - const isEmpty = !(isLoading || isError) && customers && customers.length === 0; - - return ( - - - - - - - Seleccionar Cliente - - - Busca un cliente existente o crea uno nuevo. - - -
- - - - - -
- - {isLoading &&

Cargando…

} - {isError &&

{errorMessage}

} - {!(isLoading || isError) && ( - <> -

No se encontraron clientes

- {searchQuery && ( - - )} - - )} -
-
- - - {customers.map((customer) => { - return ( - onSelectClient(customer)} - value={customer.id} - > -
- -
-
-
- {customer.name} - {customer.trade_name && ( - - {customer.trade_name} - - )} -
-
- {customer.tin && ( -
- - {customer.tin} -
- )} - {customer.email_primary && ( - - {customer.email_primary} - - )} - {customer.mobile_primary && ( - - {customer.mobile_primary} - - )} -
-
- -
- ); - })} -
-
-
-
- - - -
-
- ); -}; diff --git a/modules/customers/src/web/_archived/components/customer-modal-selector/index.ts b/modules/customers/src/web/_archived/components/customer-modal-selector/index.ts deleted file mode 100644 index be077e63..00000000 --- a/modules/customers/src/web/_archived/components/customer-modal-selector/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from "./customer-modal-selector"; -export * from "./customer-modal-selector-field"; diff --git a/modules/customers/src/web/_archived/components/index.ts b/modules/customers/src/web/_archived/components/index.ts deleted file mode 100644 index 49884c0d..00000000 --- a/modules/customers/src/web/_archived/components/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -//export * from "./client-selector-modal"; -//export * from "./customer-modal-selector"; -//export * from "./editor"; diff --git a/modules/customers/src/web/_archived/context/customers-context.tsx b/modules/customers/src/web/_archived/context/customers-context.tsx deleted file mode 100644 index 0cd3fd02..00000000 --- a/modules/customers/src/web/_archived/context/customers-context.tsx +++ /dev/null @@ -1,55 +0,0 @@ -import { type PropsWithChildren, createContext } from "react"; - -/** - * ──────────────────────────────────────────────────────────────────────────────── - * 💡 Posibles usos del Context - * ──────────────────────────────────────────────────────────────────────────────── - * Este contexto se diseña para encapsular estado y lógica compartida dentro del - * bounded context de facturación (facturas), proporcionando acceso global a datos - * o funciones relevantes para múltiples vistas (listado, detalle, edición, etc). - * - * ✅ Usos recomendados: - * - * 1. 🔎 Gestión de filtros globales: - * - Permite que los filtros aplicados en el listado de facturas se conserven - * cuando el usuario navega a otras vistas (detalle, edición) y luego regresa. - * - Mejora la experiencia de usuario evitando la necesidad de reestablecer filtros. - * - * 2. 🛡️ Gestión de permisos o configuración de acciones disponibles: - * - Permite definir qué acciones están habilitadas para el usuario actual - * (crear, editar, eliminar). - * - Útil para mostrar u ocultar botones de acción en diferentes pantallas. - * - * 3. 🧭 Control del layout: - * - Si el layout tiene elementos dinámicos (tabs, breadcrumb, loading global), - * este contexto puede coordinar su estado desde componentes hijos. - * - Ejemplo: seleccionar una pestaña activa que aplica en todas las subrutas. - * - * 4. 📦 Cacheo liviano de datos compartidos: - * - Puede almacenar la última factura abierta, borradores de edición, - * o referencias temporales para operaciones CRUD sin tener que usar la URL. - * - * 5. 🚀 Coordinación de side-effects: - * - Permite exponer funciones comunes como `refetch`, `resetFilters`, - * o `notifyInvoiceChanged`, usadas desde cualquier subcomponente del dominio. - * - * ⚠️ Alternativas: - * - Si el estado compartido es muy mutable, grande o requiere persistencia, - * podría ser preferible usar Zustand o Redux Toolkit. - * - No usar contextos para valores que cambian frecuentemente en tiempo real, - * ya que pueden causar renders innecesarios. - * - * ──────────────────────────────────────────────────────────────────────────────── - */ - -export type CustomersContextType = {}; - -export type CustomersContextParamsType = { - //service: CustomerApplicationService; -}; - -export const CustomersContext = createContext({}); - -export const CustomersProvider = ({ children }: PropsWithChildren) => { - return {children}; -}; diff --git a/modules/customers/src/web/_archived/context/index.ts b/modules/customers/src/web/_archived/context/index.ts deleted file mode 100644 index f93b7e8e..00000000 --- a/modules/customers/src/web/_archived/context/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "./customers-context"; diff --git a/modules/customers/src/web/_archived/pages/index.ts b/modules/customers/src/web/_archived/pages/index.ts deleted file mode 100644 index b034c901..00000000 --- a/modules/customers/src/web/_archived/pages/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from "./create"; -export * from "./update"; diff --git a/modules/customers/src/web/_archived/pages/update/customer-update-modal.tsx b/modules/customers/src/web/_archived/pages/update/customer-update-modal.tsx deleted file mode 100644 index dddaba62..00000000 --- a/modules/customers/src/web/_archived/pages/update/customer-update-modal.tsx +++ /dev/null @@ -1,166 +0,0 @@ -import { formHasAnyDirty, pickFormDirtyValues } from "@erp/core/client"; -import { UnsavedChangesProvider, useHookForm } from "@erp/core/hooks"; -import { showErrorToast, showSuccessToast, showWarningToast } from "@repo/rdx-ui/helpers"; -import { - Button, - Dialog, - DialogContent, - DialogDescription, - DialogHeader, - DialogTitle, - Tabs, - TabsContent, - TabsList, - TabsTrigger, -} from "@repo/shadcn-ui/components"; -import { X } from "lucide-react"; -import { type FieldErrors, FormProvider } from "react-hook-form"; -import { useNavigate } from "react-router-dom"; - -import { useTranslation } from "../../../i18n"; -import { CustomerEditorSkeleton } from "../../components"; -import { CustomerAdditionalConfigFields } from "../../components/editor/customer-additional-config-fields"; -import { CustomerAddressFields } from "../../components/editor/customer-address-fields"; -import { CustomerBasicInfoFields } from "../../components/editor/customer-basic-info-fields"; -import { useCustomerQuery, useUpdateCustomer } from "../../hooks"; -import { type CustomerFormData, CustomerFormSchema, defaultCustomerFormData } from "../../schemas"; - -interface CustomerEditModalProps { - customerId: string; - open: boolean; - onOpenChange: (open: boolean) => void; -} - -export function CustomerEditModal({ customerId, open, onOpenChange }: CustomerEditModalProps) { - const { t } = useTranslation(); - const navigate = useNavigate(); - - // 1) Estado de carga del cliente (query) - const { - data: customerData, - isLoading: isLoadingCustomer, - isError: isLoadError, - error: loadError, - } = useCustomerQuery(customerId, { enabled: !!customerId }); - - // 2) Estado de actualización (mutación) - const { - mutate, - isPending: isUpdating, - isError: isUpdateError, - error: updateError, - } = useUpdateCustomer(); - - // 3) Form hook - const form = useHookForm({ - resolverSchema: CustomerFormSchema, - initialValues: customerData ?? defaultCustomerFormData, - disabled: isUpdating, - }); - - // 4) Submit con navegación condicionada por éxito - const handleSubmit = (formData: CustomerFormData) => { - const { dirtyFields } = form.formState; - - if (!formHasAnyDirty(dirtyFields)) { - showWarningToast("No hay cambios para guardar"); - return; - } - - const patchData = pickFormDirtyValues(formData, dirtyFields); - mutate( - { id: customerId!, data: patchData }, - { - onSuccess(data) { - showSuccessToast(t("pages.update.success.title"), t("pages.update.success.message")); - - // 🔹 limpiar el form e isDirty pasa a false - form.reset(data); - }, - onError(error) { - showErrorToast(t("pages.update.errorTitle"), error.message); - }, - } - ); - }; - - const handleReset = () => form.reset(customerData ?? defaultCustomerFormData); - - const handleBack = () => { - navigate(-1); - }; - - const handleError = (errors: FieldErrors) => { - console.error("Errores en el formulario:", errors); - // Aquí puedes manejar los errores, por ejemplo, mostrar un mensaje al usuario - }; - - if (isLoadingCustomer || isLoadError) { - return ; - } - - return ( - - - - - -
-
- Editar Cliente - - Modifica la información del cliente - -
- -
-
- - - - Información Básica - Dirección - Contacto - Preferencias - - -
- - - - - - - - - - - - - - - -
- -
-
- - -
-
-
-
-
-
-
- ); -} diff --git a/modules/customers/src/web/_archived/pages/update/index.ts b/modules/customers/src/web/_archived/pages/update/index.ts deleted file mode 100644 index 5f1b1cc5..00000000 --- a/modules/customers/src/web/_archived/pages/update/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from "./customer-update-modal"; -export * from "./customer-update-page"; diff --git a/modules/customers/src/web/_archived/schemas/customer-resume.form.schema.ts b/modules/customers/src/web/_archived/schemas/customer-resume.form.schema.ts deleted file mode 100644 index df4cac8c..00000000 --- a/modules/customers/src/web/_archived/schemas/customer-resume.form.schema.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { CustomerSummary, CustomersPage } from "./customer.api.schema"; - -export type CustomerSummaryFormData = CustomerSummary & {}; - -export type CustomersPageFormData = CustomersPage & { - items: CustomerSummaryFormData[]; -}; diff --git a/modules/customers/src/web/_archived/schemas/customer.api.schema.ts b/modules/customers/src/web/_archived/schemas/customer.api.schema.ts deleted file mode 100644 index 6a77731d..00000000 --- a/modules/customers/src/web/_archived/schemas/customer.api.schema.ts +++ /dev/null @@ -1,31 +0,0 @@ -import type { PaginationSchema } from "@erp/core"; -import type { ArrayElement } from "@repo/rdx-utils"; -import type { z } from "zod/v4"; - -import { - CreateCustomerRequestSchema, - GetCustomerByIdResponseSchema, - ListCustomersResponseSchema, - UpdateCustomerByIdRequestSchema, -} from "../../../common"; - -// Esquemas (Zod) provenientes del servidor -export const CustomerSchema = GetCustomerByIdResponseSchema.omit({ metadata: true }); -export const CustomerCreateSchema = CreateCustomerRequestSchema; -export const CustomerUpdateSchema = UpdateCustomerByIdRequestSchema; - -// Tipos (derivados de Zod o DTOs del backend) -export type Customer = z.infer; // Entidad completa (GET/POST/PUT result) -export type CustomerCreateInput = z.infer; // Cuerpo para crear -export type CustomerUpdateInput = z.infer; // Cuerpo para actualizar - -// Resultado de consulta con criteria (paginado, etc.) -export const CustomersPageSchema = ListCustomersResponseSchema.omit({ - metadata: true, -}); - -export type PaginatedResponse = z.infer; -export type CustomersPage = z.infer; - -// Ítem simplificado dentro del listado (no toda la entidad) -export type CustomerSummary = Omit, "metadata">; diff --git a/modules/customers/src/web/_archived/schemas/customer.form.schema.ts b/modules/customers/src/web/_archived/schemas/customer.form.schema.ts deleted file mode 100644 index abda9345..00000000 --- a/modules/customers/src/web/_archived/schemas/customer.form.schema.ts +++ /dev/null @@ -1,89 +0,0 @@ -import { z } from "zod/v4"; - -export const CustomerFormSchema = z.object({ - reference: z.string().optional(), - - is_company: z.string().default("true"), - name: z - .string({ - error: "El nombre es obligatorio", - }) - .min(1, "El nombre no puede estar vacío"), - trade_name: z.string().optional(), - tin: z.string().optional(), - default_taxes: z.array(z.string()).default([]), - - street: z.string().optional(), - street2: z.string().optional(), - city: z.string().optional(), - province: z.string().optional(), - postal_code: z.string().optional(), - country: z - .string({ - error: "El país es obligatorio", - }) - .min(1, "El país no puede estar vacío") - .toLowerCase() // asegura minúsculas - .default("es"), - - email_primary: z.string().optional(), - email_secondary: z.string().optional(), - phone_primary: z.string().optional(), - phone_secondary: z.string().optional(), - mobile_primary: z.string().optional(), - mobile_secondary: z.string().optional(), - - fax: z.string().optional(), - website: z.string().optional(), - - legal_record: z.string().optional(), - - language_code: z - .string({ - error: "El idioma es obligatorio", - }) - .min(1, "Debe indicar un idioma") - .toUpperCase() // asegura mayúsculas - .default("es"), - - currency_code: z - .string({ - error: "La moneda es obligatoria", - }) - .min(1, "La moneda no puede estar vacía") - .toUpperCase() // asegura mayúsculas - .default("EUR"), -}); - -export type CustomerFormData = z.infer; - -export const defaultCustomerFormData: CustomerFormData = { - reference: "", - - is_company: "true", - name: "", - trade_name: "", - tin: "", - default_taxes: ["iva_21"], - - street: "", - street2: "", - city: "", - province: "", - postal_code: "", - country: "es", - - email_primary: "", - email_secondary: "", - phone_primary: "", - phone_secondary: "", - mobile_primary: "", - mobile_secondary: "", - - fax: "", - website: "", - - legal_record: "", - language_code: "es", - currency_code: "EUR", -}; diff --git a/modules/customers/src/web/_archived/schemas/index.ts b/modules/customers/src/web/_archived/schemas/index.ts deleted file mode 100644 index 6f1fb312..00000000 --- a/modules/customers/src/web/_archived/schemas/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from "./customer.api.schema"; -export * from "./customer.form.schema"; diff --git a/modules/factuges/package.json b/modules/factuges/package.json index 8b8a69af..82db29fc 100644 --- a/modules/factuges/package.json +++ b/modules/factuges/package.json @@ -1,11 +1,13 @@ { "name": "@erp/factuges", - "version": "0.6.4", + "version": "0.6.5", "private": true, "type": "module", "sideEffects": false, "scripts": { "typecheck": "tsc -p tsconfig.json --noEmit", + "check": "biome check .", + "lint": "biome lint .", "clean": "rimraf .turbo node_modules dist" }, "exports": { diff --git a/modules/factuges/src/api/application/mappers/create-proforma-from-factuges-input.mapper.ts b/modules/factuges/src/api/application/mappers/create-proforma-from-factuges-input.mapper.ts index d7ffefb0..088627cd 100644 --- a/modules/factuges/src/api/application/mappers/create-proforma-from-factuges-input.mapper.ts +++ b/modules/factuges/src/api/application/mappers/create-proforma-from-factuges-input.mapper.ts @@ -164,6 +164,8 @@ export class CreateProformaFromFactugesInputMapper errors, }); + console.log(paymentProps); + this.throwIfValidationErrors(errors); return Result.ok({ @@ -185,6 +187,7 @@ export class CreateProformaFromFactugesInputMapper } } + // TODO: revisar!!!! private mapPaymentProps( dto: CreateProformaFromFactugesRequestDTO, params: { diff --git a/modules/factuges/src/api/application/use-cases/create-proforma-from-factuges.use-case.ts b/modules/factuges/src/api/application/use-cases/create-proforma-from-factuges.use-case.ts index fd861ae5..1948b4ee 100644 --- a/modules/factuges/src/api/application/use-cases/create-proforma-from-factuges.use-case.ts +++ b/modules/factuges/src/api/application/use-cases/create-proforma-from-factuges.use-case.ts @@ -3,7 +3,6 @@ import { type ITransactionManager, isEntityNotFoundError } from "@erp/core/api"; import type { IProformaPublicServices } from "@erp/customer-invoices/api"; import { type InvoiceAmount, - InvoicePaymentMethod, type InvoiceRecipient, InvoiceStatus, type ItemAmount, @@ -336,25 +335,16 @@ export class CreateProformaFromFactugesUseCase { const defaultStatus = InvoiceStatus.approved(); const recipient = Maybe.none(); - const paymentMethod = Maybe.some( - InvoicePaymentMethod.create({ paymentDescription: payment.description }, payment.id).data - ); - - console.log({ - ...proformaDraft, - companyId, - customerId, - status: defaultStatus, - paymentMethod, - recipient, - }); + const linkedInvoiceId = Maybe.none(); + const paymentMethodId = Maybe.some(payment.id); return Result.ok({ ...proformaDraft, companyId, customerId, status: defaultStatus, - paymentMethod, + paymentMethodId, + linkedInvoiceId, recipient, }); } diff --git a/modules/supplier-invoices/package.json b/modules/supplier-invoices/package.json index 0ed72e33..e1cdb415 100644 --- a/modules/supplier-invoices/package.json +++ b/modules/supplier-invoices/package.json @@ -1,12 +1,14 @@ { "name": "@erp/supplier-invoices", "description": "Supplier invoices", - "version": "0.6.4", + "version": "0.6.5", "private": true, "type": "module", "sideEffects": false, "scripts": { "typecheck": "tsc -p tsconfig.json --noEmit", + "check": "biome check .", + "lint": "biome lint .", "clean": "rimraf .turbo node_modules dist" }, "exports": { diff --git a/modules/supplier/package.json b/modules/supplier/package.json index 0d6e4434..f7979713 100644 --- a/modules/supplier/package.json +++ b/modules/supplier/package.json @@ -1,12 +1,14 @@ { "name": "@erp/suppliers", "description": "Suppliers", - "version": "0.6.4", + "version": "0.6.5", "private": true, "type": "module", "sideEffects": false, "scripts": { "typecheck": "tsc -p tsconfig.json --noEmit", + "check": "biome check .", + "lint": "biome lint .", "clean": "rimraf .turbo node_modules dist" }, "exports": { diff --git a/package.json b/package.json index e2c852c8..80199e3f 100644 --- a/package.json +++ b/package.json @@ -1,14 +1,13 @@ { "name": "uecko-erp-2025", "private": true, - "version": "0.6.4", + "version": "0.6.5", "workspaces": [ "apps/*", "modules/*", "packages/*" ], "scripts": { - "lint": "turbo run lint", "build": "turbo build", "build:templates": "bash scripts/build-templates.sh", "build:api": "bash scripts/build-api.sh rodax --api", @@ -17,10 +16,15 @@ "dev:client": "turbo dev --filter=client", "format-and-lint": "biome check .", "format-and-lint:fix": "biome check . --write", - "ui:add": "pnpm --filter @repo/shadcn-ui ui:add", "create:package": "ts-node scripts/create-package.ts", "volta:install": "curl https://get.volta.sh | bash", - "clean": "turbo run clean && rimraf ./node_modules && rimraf ./package-lock.json && rimraf ./out" + "clean": "turbo run clean && rimraf ./node_modules && rimraf ./package-lock.json && rimraf ./out", + "lint": "biome lint .", + "format": "biome format --write .", + "format:check": "biome format .", + "check": "biome check .", + "check:write": "biome check --write .", + "typecheck": "turbo run typecheck" }, "devDependencies": { "@biomejs/biome": "2.4.11", diff --git a/packages/i18n/package.json b/packages/i18n/package.json index 8c55561a..e539fd9e 100644 --- a/packages/i18n/package.json +++ b/packages/i18n/package.json @@ -5,6 +5,8 @@ "type": "module", "scripts": { "typecheck": "tsc -p tsconfig.json --noEmit", + "check": "biome check .", + "lint": "biome lint .", "clean": "rimraf .turbo node_modules dist" }, "exports": { diff --git a/packages/rdx-criteria/package.json b/packages/rdx-criteria/package.json index 0966703b..8e173d94 100644 --- a/packages/rdx-criteria/package.json +++ b/packages/rdx-criteria/package.json @@ -1,11 +1,13 @@ { "name": "@repo/rdx-criteria", - "version": "0.6.4", + "version": "0.6.5", "private": true, "type": "module", "sideEffects": false, "scripts": { "typecheck": "tsc -p tsconfig.json --noEmit", + "check": "biome check .", + "lint": "biome lint .", "clean": "rimraf .turbo node_modules dist" }, "exports": { diff --git a/packages/rdx-ddd/package.json b/packages/rdx-ddd/package.json index 3400735f..aeb8420f 100644 --- a/packages/rdx-ddd/package.json +++ b/packages/rdx-ddd/package.json @@ -1,11 +1,13 @@ { "name": "@repo/rdx-ddd", - "version": "0.6.4", + "version": "0.6.5", "private": true, "type": "module", "sideEffects": false, "scripts": { "typecheck": "tsc -p tsconfig.json --noEmit", + "check": "biome check .", + "lint": "biome lint .", "clean": "rimraf .turbo node_modules dist" }, "exports": { diff --git a/packages/rdx-logger/package.json b/packages/rdx-logger/package.json index 751e210f..3433b6fc 100644 --- a/packages/rdx-logger/package.json +++ b/packages/rdx-logger/package.json @@ -1,11 +1,13 @@ { "name": "@repo/rdx-logger", - "version": "0.6.4", + "version": "0.6.5", "private": true, "type": "module", "sideEffects": false, "scripts": { "typecheck": "tsc -p tsconfig.json --noEmit", + "check": "biome check .", + "lint": "biome lint .", "clean": "rimraf .turbo node_modules dist" }, "exports": { diff --git a/packages/rdx-ui/package.json b/packages/rdx-ui/package.json index 1a5ad0f3..bb91df42 100644 --- a/packages/rdx-ui/package.json +++ b/packages/rdx-ui/package.json @@ -1,11 +1,13 @@ { "name": "@repo/rdx-ui", - "version": "0.6.4", + "version": "0.6.5", "private": true, "type": "module", "sideEffects": false, "scripts": { - "ui:lint": "biome lint --fix" + "ui:lint": "biome lint --fix", + "check": "biome check .", + "lint": "biome lint ." }, "exports": { "./helpers": "./src/helpers/index.ts", diff --git a/packages/rdx-utils/package.json b/packages/rdx-utils/package.json index a039bc9f..d5fe8e8e 100644 --- a/packages/rdx-utils/package.json +++ b/packages/rdx-utils/package.json @@ -1,11 +1,13 @@ { "name": "@repo/rdx-utils", - "version": "0.6.4", + "version": "0.6.5", "private": true, "type": "module", "sideEffects": false, "scripts": { "typecheck": "tsc -p tsconfig.json --noEmit", + "check": "biome check .", + "lint": "biome lint .", "clean": "rimraf .turbo node_modules dist" }, "exports": { diff --git a/packages/shadcn-ui/package.json b/packages/shadcn-ui/package.json index 8f5f52ec..12c86838 100644 --- a/packages/shadcn-ui/package.json +++ b/packages/shadcn-ui/package.json @@ -16,7 +16,8 @@ ] }, "scripts": { - "lint": "biome lint --fix", + "check": "biome check .", + "lint": "biome lint .", "ui:add": "pnpm dlx shadcn@latest add" }, "peerDependencies": { diff --git a/tools/fastreport-designer/AWSSDK.Core.dll b/tools/fastreport-designer-community/AWSSDK.Core.dll old mode 100755 new mode 100644 similarity index 100% rename from tools/fastreport-designer/AWSSDK.Core.dll rename to tools/fastreport-designer-community/AWSSDK.Core.dll diff --git a/tools/fastreport-designer/Common.Logging.Core.dll b/tools/fastreport-designer-community/Common.Logging.Core.dll old mode 100755 new mode 100644 similarity index 100% rename from tools/fastreport-designer/Common.Logging.Core.dll rename to tools/fastreport-designer-community/Common.Logging.Core.dll diff --git a/tools/fastreport-designer/Common.Logging.dll b/tools/fastreport-designer-community/Common.Logging.dll old mode 100755 new mode 100644 similarity index 100% rename from tools/fastreport-designer/Common.Logging.dll rename to tools/fastreport-designer-community/Common.Logging.dll diff --git a/tools/fastreport-designer/Couchbase.NetClient.dll b/tools/fastreport-designer-community/Couchbase.NetClient.dll old mode 100755 new mode 100644 similarity index 100% rename from tools/fastreport-designer/Couchbase.NetClient.dll rename to tools/fastreport-designer-community/Couchbase.NetClient.dll diff --git a/tools/fastreport-designer-community/Designer.exe b/tools/fastreport-designer-community/Designer.exe new file mode 100644 index 00000000..516afc45 Binary files /dev/null and b/tools/fastreport-designer-community/Designer.exe differ diff --git a/tools/fastreport-designer-community/Designer.exe.config b/tools/fastreport-designer-community/Designer.exe.config new file mode 100644 index 00000000..cce4489c --- /dev/null +++ b/tools/fastreport-designer-community/Designer.exe.config @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tools/fastreport-designer/DnsClient.dll b/tools/fastreport-designer-community/DnsClient.dll old mode 100755 new mode 100644 similarity index 100% rename from tools/fastreport-designer/DnsClient.dll rename to tools/fastreport-designer-community/DnsClient.dll diff --git a/tools/fastreport-designer-community/FastReport.Compat.dll b/tools/fastreport-designer-community/FastReport.Compat.dll new file mode 100644 index 00000000..d46718c2 Binary files /dev/null and b/tools/fastreport-designer-community/FastReport.Compat.dll differ diff --git a/tools/fastreport-designer/FastReport.Data.Couchbase.dll b/tools/fastreport-designer-community/FastReport.Data.Couchbase.dll old mode 100755 new mode 100644 similarity index 100% rename from tools/fastreport-designer/FastReport.Data.Couchbase.dll rename to tools/fastreport-designer-community/FastReport.Data.Couchbase.dll diff --git a/tools/fastreport-designer/FastReport.Data.Json.dll b/tools/fastreport-designer-community/FastReport.Data.Json.dll old mode 100755 new mode 100644 similarity index 100% rename from tools/fastreport-designer/FastReport.Data.Json.dll rename to tools/fastreport-designer-community/FastReport.Data.Json.dll diff --git a/tools/fastreport-designer/FastReport.Data.MongoDB.dll b/tools/fastreport-designer-community/FastReport.Data.MongoDB.dll old mode 100755 new mode 100644 similarity index 100% rename from tools/fastreport-designer/FastReport.Data.MongoDB.dll rename to tools/fastreport-designer-community/FastReport.Data.MongoDB.dll diff --git a/tools/fastreport-designer/FastReport.Data.MySql.dll b/tools/fastreport-designer-community/FastReport.Data.MySql.dll old mode 100755 new mode 100644 similarity index 100% rename from tools/fastreport-designer/FastReport.Data.MySql.dll rename to tools/fastreport-designer-community/FastReport.Data.MySql.dll diff --git a/tools/fastreport-designer/FastReport.Data.OracleODPCore.dll b/tools/fastreport-designer-community/FastReport.Data.OracleODPCore.dll old mode 100755 new mode 100644 similarity index 100% rename from tools/fastreport-designer/FastReport.Data.OracleODPCore.dll rename to tools/fastreport-designer-community/FastReport.Data.OracleODPCore.dll diff --git a/tools/fastreport-designer/FastReport.Data.Postgres.dll b/tools/fastreport-designer-community/FastReport.Data.Postgres.dll old mode 100755 new mode 100644 similarity index 100% rename from tools/fastreport-designer/FastReport.Data.Postgres.dll rename to tools/fastreport-designer-community/FastReport.Data.Postgres.dll diff --git a/tools/fastreport-designer/FastReport.Data.SQLite.dll b/tools/fastreport-designer-community/FastReport.Data.SQLite.dll old mode 100755 new mode 100644 similarity index 100% rename from tools/fastreport-designer/FastReport.Data.SQLite.dll rename to tools/fastreport-designer-community/FastReport.Data.SQLite.dll diff --git a/tools/fastreport-designer-community/FastReport.DataVisualization.dll b/tools/fastreport-designer-community/FastReport.DataVisualization.dll new file mode 100644 index 00000000..e1d6bfd9 Binary files /dev/null and b/tools/fastreport-designer-community/FastReport.DataVisualization.dll differ diff --git a/tools/fastreport-designer-community/FastReport.dll.config b/tools/fastreport-designer-community/FastReport.dll.config new file mode 100644 index 00000000..e9101bee --- /dev/null +++ b/tools/fastreport-designer-community/FastReport.dll.config @@ -0,0 +1,6 @@ + + + + + + diff --git a/tools/fastreport-designer/Microsoft.Bcl.AsyncInterfaces.dll b/tools/fastreport-designer-community/Microsoft.Bcl.AsyncInterfaces.dll old mode 100755 new mode 100644 similarity index 100% rename from tools/fastreport-designer/Microsoft.Bcl.AsyncInterfaces.dll rename to tools/fastreport-designer-community/Microsoft.Bcl.AsyncInterfaces.dll diff --git a/tools/fastreport-designer/Microsoft.Bcl.HashCode.dll b/tools/fastreport-designer-community/Microsoft.Bcl.HashCode.dll old mode 100755 new mode 100644 similarity index 100% rename from tools/fastreport-designer/Microsoft.Bcl.HashCode.dll rename to tools/fastreport-designer-community/Microsoft.Bcl.HashCode.dll diff --git a/tools/fastreport-designer/Microsoft.Extensions.DependencyInjection.Abstractions.dll b/tools/fastreport-designer-community/Microsoft.Extensions.DependencyInjection.Abstractions.dll old mode 100755 new mode 100644 similarity index 100% rename from tools/fastreport-designer/Microsoft.Extensions.DependencyInjection.Abstractions.dll rename to tools/fastreport-designer-community/Microsoft.Extensions.DependencyInjection.Abstractions.dll diff --git a/tools/fastreport-designer/Microsoft.Extensions.Logging.Abstractions.dll b/tools/fastreport-designer-community/Microsoft.Extensions.Logging.Abstractions.dll old mode 100755 new mode 100644 similarity index 100% rename from tools/fastreport-designer/Microsoft.Extensions.Logging.Abstractions.dll rename to tools/fastreport-designer-community/Microsoft.Extensions.Logging.Abstractions.dll diff --git a/tools/fastreport-designer/MongoDB.Bson.dll b/tools/fastreport-designer-community/MongoDB.Bson.dll old mode 100755 new mode 100644 similarity index 100% rename from tools/fastreport-designer/MongoDB.Bson.dll rename to tools/fastreport-designer-community/MongoDB.Bson.dll diff --git a/tools/fastreport-designer/MongoDB.Driver.Core.dll b/tools/fastreport-designer-community/MongoDB.Driver.Core.dll old mode 100755 new mode 100644 similarity index 100% rename from tools/fastreport-designer/MongoDB.Driver.Core.dll rename to tools/fastreport-designer-community/MongoDB.Driver.Core.dll diff --git a/tools/fastreport-designer/MongoDB.Driver.dll b/tools/fastreport-designer-community/MongoDB.Driver.dll old mode 100755 new mode 100644 similarity index 100% rename from tools/fastreport-designer/MongoDB.Driver.dll rename to tools/fastreport-designer-community/MongoDB.Driver.dll diff --git a/tools/fastreport-designer/MongoDB.Libmongocrypt.dll b/tools/fastreport-designer-community/MongoDB.Libmongocrypt.dll old mode 100755 new mode 100644 similarity index 100% rename from tools/fastreport-designer/MongoDB.Libmongocrypt.dll rename to tools/fastreport-designer-community/MongoDB.Libmongocrypt.dll diff --git a/tools/fastreport-designer/MySqlConnector.dll b/tools/fastreport-designer-community/MySqlConnector.dll old mode 100755 new mode 100644 similarity index 100% rename from tools/fastreport-designer/MySqlConnector.dll rename to tools/fastreport-designer-community/MySqlConnector.dll diff --git a/tools/fastreport-designer/Newtonsoft.Json.dll b/tools/fastreport-designer-community/Newtonsoft.Json.dll old mode 100755 new mode 100644 similarity index 100% rename from tools/fastreport-designer/Newtonsoft.Json.dll rename to tools/fastreport-designer-community/Newtonsoft.Json.dll diff --git a/tools/fastreport-designer/Npgsql.dll b/tools/fastreport-designer-community/Npgsql.dll old mode 100755 new mode 100644 similarity index 100% rename from tools/fastreport-designer/Npgsql.dll rename to tools/fastreport-designer-community/Npgsql.dll diff --git a/tools/fastreport-designer/OpenTracing.dll b/tools/fastreport-designer-community/OpenTracing.dll old mode 100755 new mode 100644 similarity index 100% rename from tools/fastreport-designer/OpenTracing.dll rename to tools/fastreport-designer-community/OpenTracing.dll diff --git a/tools/fastreport-designer/Oracle.ManagedDataAccess.dll b/tools/fastreport-designer-community/Oracle.ManagedDataAccess.dll old mode 100755 new mode 100644 similarity index 100% rename from tools/fastreport-designer/Oracle.ManagedDataAccess.dll rename to tools/fastreport-designer-community/Oracle.ManagedDataAccess.dll diff --git a/tools/fastreport-designer/SharpCompress.dll b/tools/fastreport-designer-community/SharpCompress.dll old mode 100755 new mode 100644 similarity index 100% rename from tools/fastreport-designer/SharpCompress.dll rename to tools/fastreport-designer-community/SharpCompress.dll diff --git a/tools/fastreport-designer/Snappier.dll b/tools/fastreport-designer-community/Snappier.dll old mode 100755 new mode 100644 similarity index 100% rename from tools/fastreport-designer/Snappier.dll rename to tools/fastreport-designer-community/Snappier.dll diff --git a/tools/fastreport-designer/Spanish.frl b/tools/fastreport-designer-community/Spanish.frl old mode 100755 new mode 100644 similarity index 100% rename from tools/fastreport-designer/Spanish.frl rename to tools/fastreport-designer-community/Spanish.frl diff --git a/tools/fastreport-designer/System.Buffers.dll b/tools/fastreport-designer-community/System.Buffers.dll old mode 100755 new mode 100644 similarity index 100% rename from tools/fastreport-designer/System.Buffers.dll rename to tools/fastreport-designer-community/System.Buffers.dll diff --git a/tools/fastreport-designer/System.Collections.Immutable.dll b/tools/fastreport-designer-community/System.Collections.Immutable.dll old mode 100755 new mode 100644 similarity index 100% rename from tools/fastreport-designer/System.Collections.Immutable.dll rename to tools/fastreport-designer-community/System.Collections.Immutable.dll diff --git a/tools/fastreport-designer/System.Data.SQLite.dll b/tools/fastreport-designer-community/System.Data.SQLite.dll old mode 100755 new mode 100644 similarity index 100% rename from tools/fastreport-designer/System.Data.SQLite.dll rename to tools/fastreport-designer-community/System.Data.SQLite.dll diff --git a/tools/fastreport-designer/System.Diagnostics.DiagnosticSource.dll b/tools/fastreport-designer-community/System.Diagnostics.DiagnosticSource.dll old mode 100755 new mode 100644 similarity index 100% rename from tools/fastreport-designer/System.Diagnostics.DiagnosticSource.dll rename to tools/fastreport-designer-community/System.Diagnostics.DiagnosticSource.dll diff --git a/tools/fastreport-designer/System.Memory.dll b/tools/fastreport-designer-community/System.Memory.dll old mode 100755 new mode 100644 similarity index 100% rename from tools/fastreport-designer/System.Memory.dll rename to tools/fastreport-designer-community/System.Memory.dll diff --git a/tools/fastreport-designer/System.Numerics.Vectors.dll b/tools/fastreport-designer-community/System.Numerics.Vectors.dll old mode 100755 new mode 100644 similarity index 100% rename from tools/fastreport-designer/System.Numerics.Vectors.dll rename to tools/fastreport-designer-community/System.Numerics.Vectors.dll diff --git a/tools/fastreport-designer/System.Runtime.CompilerServices.Unsafe.dll b/tools/fastreport-designer-community/System.Runtime.CompilerServices.Unsafe.dll old mode 100755 new mode 100644 similarity index 100% rename from tools/fastreport-designer/System.Runtime.CompilerServices.Unsafe.dll rename to tools/fastreport-designer-community/System.Runtime.CompilerServices.Unsafe.dll diff --git a/tools/fastreport-designer/System.Text.Encodings.Web.dll b/tools/fastreport-designer-community/System.Text.Encodings.Web.dll old mode 100755 new mode 100644 similarity index 100% rename from tools/fastreport-designer/System.Text.Encodings.Web.dll rename to tools/fastreport-designer-community/System.Text.Encodings.Web.dll diff --git a/tools/fastreport-designer/System.Text.Json.dll b/tools/fastreport-designer-community/System.Text.Json.dll old mode 100755 new mode 100644 similarity index 100% rename from tools/fastreport-designer/System.Text.Json.dll rename to tools/fastreport-designer-community/System.Text.Json.dll diff --git a/tools/fastreport-designer/System.Threading.Channels.dll b/tools/fastreport-designer-community/System.Threading.Channels.dll old mode 100755 new mode 100644 similarity index 100% rename from tools/fastreport-designer/System.Threading.Channels.dll rename to tools/fastreport-designer-community/System.Threading.Channels.dll diff --git a/tools/fastreport-designer/System.Threading.Tasks.Extensions.dll b/tools/fastreport-designer-community/System.Threading.Tasks.Extensions.dll old mode 100755 new mode 100644 similarity index 100% rename from tools/fastreport-designer/System.Threading.Tasks.Extensions.dll rename to tools/fastreport-designer-community/System.Threading.Tasks.Extensions.dll diff --git a/tools/fastreport-designer/System.ValueTuple.dll b/tools/fastreport-designer-community/System.ValueTuple.dll old mode 100755 new mode 100644 similarity index 100% rename from tools/fastreport-designer/System.ValueTuple.dll rename to tools/fastreport-designer-community/System.ValueTuple.dll diff --git a/tools/fastreport-designer-community/Viewer.exe b/tools/fastreport-designer-community/Viewer.exe new file mode 100644 index 00000000..0b24b219 Binary files /dev/null and b/tools/fastreport-designer-community/Viewer.exe differ diff --git a/tools/fastreport-designer-community/Viewer.exe.config b/tools/fastreport-designer-community/Viewer.exe.config new file mode 100644 index 00000000..e5d022d8 --- /dev/null +++ b/tools/fastreport-designer-community/Viewer.exe.config @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tools/fastreport-designer/ZstdSharp.dll b/tools/fastreport-designer-community/ZstdSharp.dll old mode 100755 new mode 100644 similarity index 100% rename from tools/fastreport-designer/ZstdSharp.dll rename to tools/fastreport-designer-community/ZstdSharp.dll diff --git a/tools/fastreport-designer/fr3tofrx.exe b/tools/fastreport-designer-community/fr3tofrx.exe old mode 100755 new mode 100644 similarity index 100% rename from tools/fastreport-designer/fr3tofrx.exe rename to tools/fastreport-designer-community/fr3tofrx.exe diff --git a/tools/fastreport-designer/netstandard.dll b/tools/fastreport-designer-community/netstandard.dll old mode 100755 new mode 100644 similarity index 100% rename from tools/fastreport-designer/netstandard.dll rename to tools/fastreport-designer-community/netstandard.dll diff --git a/tools/fastreport-designer/readme.md b/tools/fastreport-designer-community/readme.md old mode 100755 new mode 100644 similarity index 100% rename from tools/fastreport-designer/readme.md rename to tools/fastreport-designer-community/readme.md diff --git a/tools/fastreport-designer/x64/SQLite.Interop.dll b/tools/fastreport-designer-community/x64/SQLite.Interop.dll old mode 100755 new mode 100644 similarity index 100% rename from tools/fastreport-designer/x64/SQLite.Interop.dll rename to tools/fastreport-designer-community/x64/SQLite.Interop.dll diff --git a/tools/fastreport-designer/x86/SQLite.Interop.dll b/tools/fastreport-designer-community/x86/SQLite.Interop.dll old mode 100755 new mode 100644 similarity index 100% rename from tools/fastreport-designer/x86/SQLite.Interop.dll rename to tools/fastreport-designer-community/x86/SQLite.Interop.dll diff --git a/tools/fastreport-designer/Designer.exe b/tools/fastreport-designer/Designer.exe index 516afc45..83eefac3 100755 Binary files a/tools/fastreport-designer/Designer.exe and b/tools/fastreport-designer/Designer.exe differ diff --git a/tools/fastreport-designer/Designer.exe.config b/tools/fastreport-designer/Designer.exe.config index cce4489c..cc7d1564 100755 --- a/tools/fastreport-designer/Designer.exe.config +++ b/tools/fastreport-designer/Designer.exe.config @@ -1,25 +1,9 @@ - - - - - - - - - - - - - - - - - - - - - - + + + + + + \ No newline at end of file diff --git a/tools/fastreport-designer/FastReport.Bars.dll b/tools/fastreport-designer/FastReport.Bars.dll new file mode 100644 index 00000000..2dc88f7e Binary files /dev/null and b/tools/fastreport-designer/FastReport.Bars.dll differ diff --git a/tools/fastreport-designer/FastReport.Compat.dll b/tools/fastreport-designer/FastReport.Compat.dll index d46718c2..da6533c5 100755 Binary files a/tools/fastreport-designer/FastReport.Compat.dll and b/tools/fastreport-designer/FastReport.Compat.dll differ diff --git a/tools/fastreport-designer/FastReport.DataVisualization.dll b/tools/fastreport-designer/FastReport.DataVisualization.dll index e1d6bfd9..ca4b27ba 100755 Binary files a/tools/fastreport-designer/FastReport.DataVisualization.dll and b/tools/fastreport-designer/FastReport.DataVisualization.dll differ diff --git a/tools/fastreport-designer/FastReport.Editor.dll b/tools/fastreport-designer/FastReport.Editor.dll new file mode 100644 index 00000000..4142e104 Binary files /dev/null and b/tools/fastreport-designer/FastReport.Editor.dll differ diff --git a/tools/fastreport-designer/FastReport.Service.dll b/tools/fastreport-designer/FastReport.Service.dll new file mode 100644 index 00000000..4beaef2b Binary files /dev/null and b/tools/fastreport-designer/FastReport.Service.dll differ diff --git a/tools/fastreport-designer/FastReport.VSDesign.dll b/tools/fastreport-designer/FastReport.VSDesign.dll new file mode 100644 index 00000000..6561d273 Binary files /dev/null and b/tools/fastreport-designer/FastReport.VSDesign.dll differ diff --git a/tools/fastreport-designer/FastReport.Web.dll b/tools/fastreport-designer/FastReport.Web.dll new file mode 100644 index 00000000..e8a09b7d Binary files /dev/null and b/tools/fastreport-designer/FastReport.Web.dll differ diff --git a/tools/fastreport-designer/FastReport.dll b/tools/fastreport-designer/FastReport.dll new file mode 100644 index 00000000..36544f4c Binary files /dev/null and b/tools/fastreport-designer/FastReport.dll differ diff --git a/tools/fastreport-designer/FastReport.xml b/tools/fastreport-designer/FastReport.xml new file mode 100644 index 00000000..f031a4db --- /dev/null +++ b/tools/fastreport-designer/FastReport.xml @@ -0,0 +1,57835 @@ + + + + FastReport + + + + + Represents the matrix object that is used to print cross-table. + + + The matrix consists of the following elements: columns, rows and data cells. Each element is + represented by the descriptor. The class represents + columns and rows; data cells use dynamically created descriptors. + The property holds two root descriptors - Columns.Descriptor and Rows.Descriptor. + To create the matrix in a code, you should perform the following actions: + + + create an instance of the AdvMatrixObject and add it to the report; + + + create descriptors for columns and rows and add it to the + root descriptor using the matrix.Data.Columns.Descriptor and matrix.Data.Rows.Descriptor respectively; + + + call the method to create the matrix template + that will be used to create a result; + + + set the data cells content; + + + modify the matrix template (change captions, set the visual appearance). + + + To connect the matrix to a datasource, use the property. If + this property is not set, the result matrix will be empty. In this case you may use + the event handler to fill the matrix. + + This example demonstrates how to create a matrix in a code. + + // create an instance of AdvMatrixObject + AdvMatrixObject matrix = new AdvMatrixObject(); + matrix.Name = "Matrix1"; + // add it to the report title band of the first report page + matrix.Parent = (Report.Pages[0] as ReportPage).ReportTitle; + + // create two nested column descriptors and a total + HeaderDescriptor column = new HeaderDescriptor("[MatrixDemo.Year]"); + matrix.Data.Columns.Descriptor.Add(column); + HeaderDescriptor nestedColumn = new HeaderDescriptor("[MatrixDemo.Month]"); + column.Add(nestedColumn); + HeaderDescriptor columnTotal = new HeaderDescriptor(); + columnTotal.DisplayText = "Total"; + matrix.Data.Columns.Descriptor.Add(columnTotal); + + // create one row descriptor and a total + HeaderDescriptor row = new HeaderDescriptor("[MatrixDemo.Name]"); + matrix.Data.Rows.Descriptor.Add(row); + HeaderDescriptor rowTotal = new HeaderDescriptor(); + rowTotal.DisplayText = "Total"; + matrix.Data.Rows.Descriptor.Add(rowTotal); + + // connect matrix to a datasource + matrix.DataSource = Report.GetDataSource("MatrixDemo"); + + // create the matrix template + matrix.BuildTemplate(); + + // change the style + matrix.Style = "Gray"; + + // create data cells + string cellText = "[Sum([MatrixDemo.Revenue])]"; + for (int i = matrix.Data.Rows.Size; i < matrix.ColumnCount; i++) + for (int j = matrix.Data.Columns.Size; j < matrix.RowCount; j++) + matrix[i, j].Text = cellText; + + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets or sets a data source. + + + When you create the matrix in the designer by drag-drop data columns into it, + this property will be set automatically. However you need to set it if you create + the matrix in code. + + + + + Gets the row filter expression. + + + This property can contain any valid boolean expression. If the expression returns false, + the corresponding data row will be skipped. + + + + + Gets or sets a matrix style. + + + + + Gets or sets even style priority for matrix cells. + + + + + Gets or sets data row priority for matrix cells. + + + + + Gets or sets a value indicating that empty matrix should be printed. + + + + + Gets or sets a value indicating that the matrix should reset its data on each report run. + + + Default value is false. In this case the matrix will use already prepared data when you refresh a report. + If you set it to true the matrix data will be reset on each report refresh. This also resets all user interaction such as + interactive sort and collapse state. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + See the event for more details. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + See the event for more details. + + + + + Allows to fill the matrix in code. + + + + + Allows to modify the prepared matrix elements such as cells, rows, columns. + + + + + Gets the object that holds the collection of descriptors used to build a matrix. + + + See the class for more details. + + + + + Gets or sets array of values that describes the currently printing column. + + + Use this property when report is running. It can be used to highlight matrix elements + depending on values of the currently printing column. To do this: + + + select the cell that you need to highlight; + + + click the "Highlight" button on the "Text" toolbar; + + + add a new highlight condition. Use the Matrix.ColumnValues to + refer to the value you need to analyze. Note: these values are array of dynamic, + so you don't need to cast it to actual type before making any comparisons. Example of highlight + condition: Matrix1.ColumnValues[0] == 2000. + + + + + + + + Gets or sets array of values that describes the currently printing row. + + + Use this property when report is running. It can be used to highlight matrix elements + depending on values of the currently printing row. To do this: + + + select the cell that you need to highlight; + + + click the "Highlight" button on the "Text" toolbar; + + + add a new highlight condition. Use the Matrix.RowValues to + refer to the value you need to analyze. Note: these values are arrays of dynamic, + so you don't need to cast it to actual type before making any comparisons. Example of highlight + condition: Matrix1.RowValues[0] == "Andrew Fuller". + + + + + + + + Gets or sets the index of currently printing column. + + + This property may be used to print even columns with alternate color. To do this: + + + select the cell that you need to highlight; + + + click the "Highlight" button on the "Text" toolbar; + + + add a new highlight condition that uses the Matrix.ColumnIndex, + for example: Matrix1.ColumnIndex % 2 == 1. + + + + + + + + Gets or sets the index of currently printing row. + + + This property may be used to print even rows with alternate color. To do this: + + + select the cell that you need to highlight; + + + click the "Highlight" button on the "Text" toolbar; + + + add a new highlight condition that uses the Matrix.RowIndex, + for example: Matrix1.RowIndex % 2 == 1. + + + + + + + + Gets or sets the data row index of currently printing header. + + + Use this value if you want to display the header value with its data row number, e.g. "1. Andrew Fuller". + To do this, set the header's DisplayExpression to something like this: Matrix1.RowNo + ". " + Value + + + + + Gets or sets count of items in the currently printing header. + + + + + + + + + + + + + + Creates or updates the matrix template. + + + Call this method after you modify the matrix descriptors using the object's properties. + + + + + This method fires the ManualBuild event and the script code connected to the ManualBuildEvent. + + Event data. + + + + This method fires the ModifyResult event and the script code connected to the ModifyResultEvent. + + Event data. + + + + Toggles visible state of the column with specified index. For internal use only. + + Index of column. + If true collapse all items. + If true expand all items. + + + + Toggles visible state of the row with specified index. For internal use only. + + Index of row. + If true collapse all items. + If true expand all items. + + + + Sort columns based on values of row with specified index. For internal use only. + + Index of row. + The sort order. + + + + Sort rows based on values of column with specified index. For internal use only. + + Index of column. + The sort order. + + + + + + + + + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Represents the matrix button used to toggle expand/collapse state of matrix headers. + + + + + + + + + + + Determines whether this button has a collapsed state. For internal use only. + + + + + Determines whether to show collapse/expand menu on right click. + + + + + Determines the symbol used to display the button's state. + + + + + Determines if only one button in the group can be expanded. + + + + + + + + + + + + + + For internal use only,return action click for Advanced Matrix collapse button + + + + + Initializes a new instance of the class. + + + + + Represents the matrix button used to toggle sort order of matrix headers. + + + + + + + + Determines the sort state of this button. + + + + + Determines whether "None" sort is allowed when you switch sort states. + + + + + Determines the symbol used to display the state of this button. + + + + + Determines the color used to display button with inactive sort state (Sort = None). + + + + + + + + For internal use only,return action click for Advanced Matrix sort button + + + + + + + + + + + Initializes a new instance of the class. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Describes how the even style is applied to a matrix. + + + + + The even style is applied to matrix rows. + + + + + The even style is applied to matrix columns. + + + + + Hold the list of registered aggregate functions. + + + + + Gets names of aggregates registered. + + + + + Registers the aggregate function. + + The function name. + The type of aggregate class. + + + + Returns an aggregate with specified name. + + The name of aggregate function. + The aggregate class type. + + + + Represents base class for AdvMatrixObject aggregates. + + + + + Adds a value to aggregate. + + The value. + + + + Gets aggregate value. + + Aggregate value. + + + + Merges value from another, similar aggregate. + + Aggregate to merge value from. + + + + Represents the "Sum" aggregate. + + + + + + + + + + + + + + Represents the "Avg" aggregate. + + + + + + + + + + + + + + Represents the "Min" aggregate. + + + + + + + + + + + + + + Represents the "Max" aggregate. + + + + + + + + + + + + + + Represents the "Count" aggregate. + + + + + + + + + + + + + + Represents the "CountDistinct" aggregate. + + + + + + + + + + + + + + Represents the "Var" aggregate. + + + + + + + + + + + + + + Represents the "VarP" aggregate. + + + + + + + + + + + + + + Represents the "StDev" aggregate. + + + + + + + + Represents the "StDevP" aggregate. + + + + + + + + Represents the "First" aggregate. + + + + + + + + + + + + + + Represents the "Last" aggregate. + + + + + + + + + + + + + + Represents the "ValuesList" aggregate. + + + + + Represents the "User" aggregate. + + + + + + + + + + + + + + Holds context required for aggregate functions evaluation. + + + + + Gets aggregate value. This method is for internal use only. + + Name of aggregate. + Expression. + Aggregate value. + + + + Gets value of the specific column. This method is for internal use only. + + The column value. + Dummy parameter. + The value or null. + + + + Gets value of the specific row. This method is for internal use only. + + The row value. + Dummy parameter. + The value or null. + + + + Gets value of the first column. This method is for internal use only. + + Dummy parameter. + Determines if the interactive sort must be respected. + Determines if the same level group should be used to search for item. + The value or null. + + + + Gets value of the last column. This method is for internal use only. + + Dummy parameter. + Determines if the interactive sort must be respected. + Determines if the same level group should be used to search for item. + The value or null. + + + + Gets value of the first row. This method is for internal use only. + + Dummy parameter. + Determines if the interactive sort must be respected. + Determines if the same level group should be used to search for item. + The value or null. + + + + Gets value of the last row. This method is for internal use only. + + Dummy parameter. + Determines if the interactive sort must be respected. + Determines if the same level group should be used to search for item. + The value or null. + + + + Gets value of previous column. This method is for internal use only. + + Dummy parameter. + Determines if the interactive sort must be respected. + Determines if the same level group should be used to search for item. + The value or null. + + + + Gets value of previous row. This method is for internal use only. + + Dummy parameter. + Determines if the interactive sort must be respected. + Determines if the same level group should be used to search for item. + The value or null. + + + + Gets value of next column. This method is for internal use only. + + Dummy parameter. + Determines if the interactive sort must be respected. + Determines if the same level group should be used to search for item. + The value or null. + + + + Gets value of next row. This method is for internal use only. + + Dummy parameter. + Determines if the interactive sort must be respected. + Determines if the same level group should be used to search for item. + The value or null. + + + + Gets column total value. This method is for internal use only. + + Dummy parameter. + The value or null. + + + + Gets row total value. This method is for internal use only. + + Dummy parameter. + The value or null. + + + + Gets grand total value. This method is for internal use only. + + Dummy parameter. + The value or null. + + + + Gets column group total value. This method is for internal use only. + + Dummy parameter. + The value or null. + + + + Gets row group total value. This method is for internal use only. + + Dummy parameter. + The value or null. + + + + Gets column group max value. This method is for internal use only. + + Dummy parameter. + The value or null. + + + + Gets column group min value. This method is for internal use only. + + Dummy parameter. + The value or null. + + + + Gets row group max value. This method is for internal use only. + + Dummy parameter. + The value or null. + + + + Gets row group min value. This method is for internal use only. + + Dummy parameter. + The value or null. + + + + Gets percent of column total. This method is for internal use only. + + Dummy parameter. + The value. + + + + Gets percent of row total. This method is for internal use only. + + Dummy parameter. + The value. + + + + Gets percent of grand total. This method is for internal use only. + + Dummy parameter. + The value. + + + + Gets percent of previous column. This method is for internal use only. + + Dummy parameter. + Determines if the interactive sort must be respected. + Determines if the same level group should be used to search for item. + The value or null. + + + + Gets percent of previous row. This method is for internal use only. + + Dummy parameter. + Determines if the interactive sort must be respected. + Determines if the same level group should be used to search for item. + The value or null. + + + + The descriptor that is used to describe one element of the matrix header. + + + The class is used to define one header element of the matrix + (either the column element or row element). The key properties are + and . + The collection of descriptors used to represent the matrix header is stored + in the AdvMatrixObject.Data.Columns and AdvMatrixObject.Data.Rows properties. + + + + + Gets or sets the name of this descriptor. + + + This property is used by the TopN engine to find linked items such as TopNTotal, Others, OtherTotal. + All others descriptors have empty name. + + + + + Gets the parent descriptor of this descriptor. + + + + + Gets child items of this descriptor. + + + + + Gets or sets an expression which value will be used to fill the matrix. + + + Expression may be any valid expression. Usually it's a data column: + [DataSource.Column]. + + + + + Gets or sets a text which will be displayed in this item. + + + DisplayText may contain text mixed with expressions just like in the TextObject, e.g. "Some text: [expr]". + The default property value is empty for group descriptors. + In this case the group value returned by the property will be displayed in this item. + + + + + Gets or sets the filter expression. + + + + + Gets or sets the sort order of header values. + + + This property determines how the values displayed in this element are sorted. The default sort is ascending. + + + + + Gets or sets the sort button name which toggles the sort order of this item. + + + + + Gets or sets an expression which value will be used to sort the header values. + + This expression is used to sort header by its total value. The expression must contain single aggregate, e.g. "Sum([Table1.Field1])". + The empty expression (by default) indicates that the header should be sorted by its value. + + + + + Gets or sets a value indicating that this item can be sorted interactively. + + + + + Gets or sets an expression which value will be used to sort the header values interactively. + + This expression is used to sort header values when interactive sorting is on. + The expression must contain single aggregate, e.g. "Sum([Table1.Field1])". + The empty expression (by default) indicates automatic mode. + + + + + Gets or sets the visibility of this item. + + + + + Gets or sets the expression that returns the visibility of this item. + + + + + Gets or sets the collapse button name which toggles the visibility of this item. + + + + + Gets or sets a value indicating that the page break must be printed before this element. + + + Page break is not printed before the very first element. + + + + + Determines whether the item should merge itself with single subitem. + + + + + Determines whether this item and its subitems will be displayed stepped. + + + + + Gets TopN settings for this item. + + + + + Gets or sets column span of this item. 0 means span is set automatically. + + + + + Gets or sets row span of this item. 0 means span is set automatically. + + + + + Adds new child descriptor. + + The new descriptor. + + + + Adds a child descriptor. + + The new descriptor. + The new descriptor. + + + + + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the group expression specified. + + + + + Represents a base class for matrix buttons such as expand or sort button. + + + + + Determines the symbol size, in pixels. 0 indicates the auto size. + + + + + Determines whether this buttons belongs to column header. For internal use only. + + + + + Gets or set the index of this button. For internal use only. + + + + + + + + + + + Initializes a new instance of the class. + + + + + Represents the symbol used to display the matrix expand/collapse state. + + + + + Plus/minus. + + + + + The pointer. + + + + + The arrow. + + + + + Represents the symbol used to display the matrix sort order. + + + + + The arrow. + + + + + The pointer. + + + + + Contains a set of properties and methods to hold and manipulate the matrix descriptors. + + + This class contains two collections of descriptors such as and + . Use collections' methods to add/remove descriptors. + When you are done, call the method to refresh the matrix. + + + + + Gets a collection of column descriptors. + + + Note: after you add or remove items in this collection, call the + method to refresh the matrix. + + + + + Gets a collection of row descriptors. + + + Note: after you add or remove items in this collection, call the + method to refresh the matrix. + + + + + Gets context required for aggregate calculation. + + + + + Processes single data row. + + + This method is used internally to process current data row. The matrix fills the column, row and cell data. + You should use this method if you fill a matrix in code using ManualBuild event. + + + + + Resets the data from the previous report run. + + + + + Initializes a new instance of the class. + + Reference to owner matrix. + + + + Represents the storage of header descriptors and its values. + + + + + Gets the root header descriptor. + + + + + Gets the size of this header. + + + + + + + + + + + Initializes a new instance of the class. + + + + + Stores the TopN settings of the matrix header item. + + + + + Gets or sets the TopN count. 0 means no TopN grouping will be performed. + + + + + Gets the properties of TopN total item. + + + + + Gets the properties of Others item. + + + + + Gets the properties of Others total item. + + + + + Stores the properties of TopN item. + + + + + Gets or sets the Name of the header descriptor item. + + + + + Gets or set the initial visibility of this item. + + + + + Gets or set the text of this item. Applicable to "Total" items. + + + + + Represents a barcode object. + Represents a barcode object. + + + The instance of this class represents a barcode. Here are some common + actions that can be performed with this object: + + + To select the type of barcode, use the property. + + + + To specify a static barcode data, use the property. + You also may use the or properties + to specify dynamic value for a barcode. + + + + To set a barcode orientation, use the property. + + + + To specify the size of barcode, set the property + to true and use the property to zoom the barcode. + If property is set to false, you need to specify the + size using the Width and + Height properties. + + + + + This example shows how to configure the BarcodeObject to display PDF417 barcode. + + BarcodeObject barcode; + ... + barcode.Barcode = new BarcodePDF417(); + (barcode.Barcode as BarcodePDF417).CompactionMode = CompactionMode.Text; + + + + + + + + + + + + + + + + + + + + + + + + Specifies the horizontal alignment of a Barcode object. Works only when autosize is on. + + + + + Specifies that the barcode is aligned to the left of the original layout. + + + + + Specifies that the barcode is aligned to the center of the original layout. + + + + + Specifies that the barcode is aligned to the right of the original layout. + + + + + Gets or sets the barcode type. + + + + + Gets or sets the horizontal alignment of a Barcode object. + + + + + Gets or sets the symbology name. + + + The following symbology names are supported: + + "2/5 Interleaved" + "2/5 Industrial" + "2/5 Matrix" + "Codabar" + "Code128" + "Code39" + "Code39 Extended" + "Code93" + "Code93 Extended" + "EAN8" + "EAN13" + "MSI" + "PostNet" + "UPC-A" + "UPC-E0" + "UPC-E1" + "Supplement 2" + "Supplement 5" + "PDF417" + "Datamatrix" + "QRCode" + + + + + barcode.SymbologyName = "PDF417"; + (barcode.Barcode as BarcodePDF417).CompactionMode = CompactionMode.Text; + + + + + + Gets or sets the angle of barcode, in degrees. + + + + + Gets or sets a value that determines whether the barcode should handle its width automatically. + + + + + Gets or sets a data column name bound to this control. + + + Value must be in the form "Datasource.Column". + + + + + Gets or sets an expression that contains the barcode data. + + + + + Enable or disable of using an expression in Text + + + + + Gets or sets brackets for using in expressions + + + + + Gets or sets a value that indicates if the barcode should display a human-readable text. + + + + + Gets or sets the barcode data. + + + + + Gets or sets padding within the BarcodeObject. + + + + + Gets or sets a zoom of the barcode. + + + + + Gets or sets a value that determines whether it is necessary to hide the object if the + barcode data is empty. + + + + + Gets or sets the text that will be displayed if the barcode data is empty. + + + + + Gets or sets values for forced use of a bitmap image instead of a vector + + + + + Gets or sets values for hiding or showing barcode markers + + + + + Initialize current BarcodeObject as Swiss QR. + + Parameters of swiss qr. + + + + Relocate BarcodeObject based on alignment + + + + + + + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the class with default settings. + + + + + + + + + + + + + + + Aztec 2D code representation + + Rustam Abdullaev + + + + Compact or full symbol indicator + + + + + Size in pixels (width and height) + + + + + Number of levels + + + + + Number of data codewords + + + + + The symbol image + + + + + The class holds the available options for the AztecWriter + + + + + Representing the minimal percentage of error correction words. + Note: an Aztec symbol should have a minimum of 25% EC words. + + + + + Specifies the required number of layers for an Aztec code: + a negative number (-1, -2, -3, -4) specifies a compact Aztec code + 0 indicates to use the minimum number of layers (the default) + a positive number (1, 2, .. 32) specifies a normal (non-compact) Aztec code + + + + + A simple, fast array of bits, represented compactly by an array of ints internally. + + Sean Owen + + + Flips bit i. + + + bit to set + + + + + Gets the next set. + + first bit to check + index of first bit that is set, starting from the given index, or size if none are set + at or beyond this given index + + + + see getNextSet(int) + + index to start looking for unset bit + index of next unset bit, or if none are unset until the end + + + Sets a block of 32 bits, starting at bit i. + + + first bit to set + + the new value of the next 32 bits. Note again that the least-significant bit + corresponds to bit i, the next-least-significant to i+1, and so on. + + + + + Sets a range of bits. + + start of range, inclusive. + end of range, exclusive + + + Clears all bits (sets to false). + + + Efficient method to check if a range of bits is set, or not set. + + + start of range, inclusive. + + end of range, exclusive + + if true, checks that bits in range are set, otherwise checks that they are not set + + true iff all bits are set or not set in range, according to value argument + + IllegalArgumentException if end is less than or equal to start + + + + Appends the bit. + + The bit. + + + underlying array of ints. The first element holds the first 32 bits, and the least + significant bit is bit 0. + + + + + Appends the least-significant bits, from value, in order from most-significant to + least-significant. For example, appending 6 bits from 0x000001E will append the bits + 0, 1, 1, 1, 1, 0 in that order. + + containing bits to append + bits from value to append + + + + Toes the bytes. + + first bit to start writing + array to write into. Bytes are written most-significant byte first. This is the opposite + of the internal representation, which is exposed by BitArray + position in array to start writing + how many bytes to write + + + Reverses all bits in the array. + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Erstellt ein neues Objekt, das eine Kopie der aktuellen Instanz darstellt. + + + Ein neues Objekt, das eine Kopie dieser Instanz darstellt. + + + + +

Represents a 2D matrix of bits. In function arguments below, and throughout the common + module, x is the column position, and y is the row position. The ordering is always x, y. + The origin is at the top-left.

+

Internally the bits are represented in a 1-D array of 32-bit ints. However, each row begins + with a new int. This is done intentionally so that we can copy out a row into a BitArray very + efficiently.

+

The ordering of bits is row-major. Within each int, the least significant bits are used first, + meaning they represent lower x values. This is compatible with BitArray's implementation.

+
+ Sean Owen + dswitkin@google.com (Daniel Switkin) +
+ + The width of the matrix + + + + The height of the matrix + + + + This method is for compatibility with older code. It's only logical to call if the matrix + is square, so I'm throwing if that's not the case. + + + row/column dimension of this matrix + + + +

Gets the requested bit, where true means black.

+ +
+ The horizontal component (i.e. which column) + + The vertical component (i.e. which row) + + value of given bit in matrix + +
+ +

Flips the given bit.

+ +
+ The horizontal component (i.e. which column) + + The vertical component (i.e. which row) + +
+ + Clears all bits (sets to false). + + +

Sets a square region of the bit matrix to true.

+ +
+ The horizontal position to begin at (inclusive) + + The vertical position to begin at (inclusive) + + The width of the region + + The height of the region + +
+ + A fast method to retrieve one row of data from the matrix as a BitArray. + + + The row to retrieve + + An optional caller-allocated BitArray, will be allocated if null or too small + + The resulting BitArray - this reference should always be used even when passing + your own row + + + + + Sets the row. + + row to set + {@link BitArray} to copy from + + + + Modifies this {@code BitMatrix} to represent the same but rotated 180 degrees + + + + + This is useful in detecting the enclosing rectangle of a 'pure' barcode. + + {left,top,width,height} enclosing rectangle of all 1 bits, or null if it is all white + + + + This is useful in detecting a corner of a 'pure' barcode. + + {x,y} coordinate of top-left-most 1 bit, or null if it is all white + + + + These are a set of hints that you may pass to Writers to specify their behavior. + + dswitkin@google.com (Daniel Switkin) + + + + Specifies the width of the barcode image + type: + + + + + Specifies the height of the barcode image + type: + + + + + Don't put the content string into the output image. + type: + + + + + Specifies what character encoding to use where applicable. + type: + + + + + Specifies margin, in pixels, to use when generating the barcode. The meaning can vary + by format; for example it controls margin before and after the barcode horizontally for + most 1D formats. + type: + + + + + Specifies whether to use compact mode for PDF417. + type: + + + + + Don't append ECI segment. + That is against the specification of QR Code but some + readers have problems if the charset is switched from + ISO-8859-1 (default) to UTF-8 with the necessary ECI segment. + If you set the property to true you can use UTF-8 encoding + and the ECI segment is omitted. + type: + + + + + if true, don't switch to codeset C for numbers + + + + + Specifies the required number of layers for an Aztec code: + a negative number (-1, -2, -3, -4) specifies a compact Aztec code + 0 indicates to use the minimum number of layers (the default) + a positive number (1, 2, .. 32) specifies a normal (non-compact) Aztec code + + + + + Generates Aztec 2D barcodes. + + Rustam Abdullaev + + + + Encodes the given binary content as an Aztec symbol + + input data string + Aztec symbol matrix with metadata + + + + Encodes the given binary content as an Aztec symbol + + input data string + minimal percentage of error check words (According to ISO/IEC 24778:2008, + a minimum of 23% + 3 words is recommended) + if non-zero, a user-specified value for the number of layers + + Aztec symbol matrix with metadata + + + + + Defines an container for encoder options + + + + + Gets the data container for all options + + + + + Specifies the height of the barcode image + + + + + Specifies the width of the barcode image + + + + + Don't put the content string into the output image. + + + + + Specifies margin, in pixels, to use when generating the barcode. The meaning can vary + by format; for example it controls margin before and after the barcode horizontally for + most 1D formats. + + + + + Initializes a new instance of the class. + + + + +

This class contains utility methods for performing mathematical operations over + the Galois Fields. Operations use a given primitive polynomial in calculations.

+

Throughout this package, elements of the GF are represented as an {@code int} + for convenience and speed (but at the cost of memory). +

+
+ Sean Owen +
+ + + Create a representation of GF(size) using the given primitive polynomial. + + irreducible polynomial whose coefficients are represented by + * the bits of an int, where the least-significant bit represents the constant + * coefficient + the size of the field + the factor b in the generator polynomial can be 0- or 1-based + * (g(x) = (x+a^b)(x+a^(b+1))...(x+a^(b+2t-1))). + * In most cases it should be 1, but for QR code it is 0. + + + + Builds the monomial. + + The degree. + The coefficient. + the monomial representing coefficient * x^degree + + + + Implements both addition and subtraction -- they are the same in GF(size). + + sum/difference of a and b + + + + Exps the specified a. + + 2 to the power of a in GF(size) + + + + Logs the specified a. + + A. + base 2 log of a in GF(size) + + + + Inverses the specified a. + + multiplicative inverse of a + + + + Multiplies the specified a with b. + + A. + The b. + product of a and b in GF(size) + + + + Gets the size. + + + + + Gets the generator base. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + +

Represents a polynomial whose coefficients are elements of a GF. + Instances of this class are immutable.

+

Much credit is due to William Rucklidge since portions of this code are an indirect + port of his C++ Reed-Solomon implementation.

+
+ Sean Owen +
+ + + Initializes a new instance of the class. + + the {@link GenericGF} instance representing the field to use + to perform computations + coefficients as ints representing elements of GF(size), arranged + from most significant (highest-power term) coefficient to least significant + if argument is null or empty, + or if leading coefficient is 0 and this is not a + constant polynomial (that is, it is not the monomial "0") + + + + degree of this polynomial + + + + + Gets a value indicating whether this is zero. + + true iff this polynomial is the monomial "0" + + + + coefficient of x^degree term in this polynomial + + The degree. + coefficient of x^degree term in this polynomial + + + + evaluation of this polynomial at a given point + + A. + evaluation of this polynomial at a given point + + + + This produces nearly optimal encodings of text into the first-level of + encoding used by Aztec code. + It uses a dynamic algorithm. For each prefix of the string, it determines + a set of encodings that could lead to this prefix. We repeatedly add a + character and generate a new set of optimal encodings until we have read + through the entire input. + @author Frank Yellin + @author Rustam Abdullaev + + + + + Convert the text represented by this High Level Encoder into a BitArray. + + text represented by this encoder encoded as a + + + + Implements Reed-Solomon encoding, as the name implies. + + Sean Owen + William Rucklidge + + + + State represents all information about a sequence necessary to generate the current output. + Note that a state is immutable. + + + + + Create a new state representing this state with a latch to a (not + necessary different) mode, and then a code. + + + + + Create a new state representing this state, with a temporary shift + to a different mode to output a single value. + + + + + Create a new state representing this state, but an additional character + output in Binary Shift mode. + + + + + Create the state identical to this one, but we are no longer in + Binary Shift mode. + + + + + Returns true if "this" state is better (or equal) to be in than "that" + state under all possible circumstances. + + + + + Contains conversion support elements such as classes, interfaces and static methods. + + + + + Copies an array of chars obtained from a String into a specified array of chars + + The String to get the chars from + Position of the String to start getting the chars + Position of the String to end getting the chars + Array to return the chars + Position of the destination array of chars to start storing the chars + An array of chars + + + + Sets the capacity for the specified List + + The List which capacity will be set + The new capacity value + + + + Converts a string-Collection to an array + + The strings. + + + + + Joins all elements to one string. + + + The separator. + The values. + + + + + Fills the specified array. + (can't use extension method because of .Net 2.0 support) + + + The array. + The value. + + + + Fills the specified array. + (can't use extension method because of .Net 2.0 support) + + + The array. + The start index. + The end index. + The value. + + + + Generates the Code128 barcode. + + + This barcode supports three code pages: A, B and C. You need to set appropriate code page + in the barcode text, or use the auto encode feature. See the property + for more details. + + This example shows how to configure the BarcodeObject to display Code128 barcode. + + BarcodeObject barcode; + ... + barcode.Barcode = new Barcode128(); + (barcode.Barcode as Barcode128).AutoEncode = false; + + + + + + Gets or sets a value that determines whether the barcode should automatically + use appropriate encoding. + + + You may use this property to encode data automatically. If you set it to false, + you must specify the code page inside the data string. The following control codes are available: + + + Sequence + Code128 control code + + + &A; + START A / CODE A + + + &B; + START B / CODE B + + + &C; + START C / CODE C + + + + &S; + SHIFT + + + &1; + FNC1 + + + &2; + FNC2 + + + &3; + FNC3 + + + &4; + FNC4 + + + The following example shows how to specify control codes: + + BarcodeObject barcode; + barcode.Barcode = new Barcode128(); + (barcode.Barcode as Barcode128).AutoEncode = false; + barcode.Text = "&C;1234&A;ABC"; + + + + + + + + + + + + Initializes a new instance of the class with default settings. + + + + + The base class for 2D-barcodes such as PDF417 and Datamatrix. + + + + + + + + Generates the "2/5 Interleaved" barcode. + + + + + Initializes a new instance of the class with default settings. + + + + + Generates the "Deutsche Identcode" barcode. + + + + + Gets or sets a value that indicates that CheckSum should be printed. + + + + + + + + Initializes a new instance of the class with default settings. + + + + + + + + Generates the "Deutsche Leitcode" barcode. + + + + + Gets or sets a value that indicates that CheckSum should be printed. + + + + + + + + + + + Generates the "ITF-14" barcode. + + + + + Gets or sets the value indicating that vertical bearer bars are needed to draw. + + + + + + + + + + + Initializes a new instance of the class with default settings. + + + + + Generates the "2/5 Industrial" barcode. + + + + + Generates the "2/5 Matrix" barcode. + + + + + Initializes a new instance of the class with default settings. + + + + + Generates the Code39 barcode. + + + + + + + + Initializes a new instance of the class with default settings. + + + + + Generates the Code39 extended barcode. + + + + + Generates the Code93 barcode. + + + + + + + + Generates the Code93 extended barcode. + + + + + Generates the 2D Aztec barcode. + + + + + Gets or sets the error correction percent. + + + + + Initializes a new instance of the class with default settings. + + + + + + + + The base class for all barcodes. + + + + + Gets the name of barcode. + + + + + Gets or sets the color of barcode. + + + + + Gets or sets the font of barcode. + + + + + Creates the exact copy of this barcode. + + The copy of this barcode. + + + + Assigns properties from other, similar barcode. + + Barcode object to assign properties from. + + + + Draws a barcode. + + The graphic surface. + Display rectangle. + + + + Initializes a new instance of the class with default settings. + + + + + Get default value of this barcode + + + + + + Generates the Codabar barcode. + + + + + + + + Initializes a new instance of the class with default settings. + + + + + Specifies the Datamatrix encoding. + + + + + Specifies the auto encoding. + + + + + Specifies the ASCII encoding. + + + + + Specifies the C40 encoding. + + + + + Specifies the text encoding. + + + + + Specifies the binary encoding. + + + + + Specifies the X12 encoding. + + + + + Specifies the Edifact encoding. + + + + + Specifies the Datamatrix symbol size. + + + + + Specifies the auto size. + + + + + Specifies the 10x10 size. + + + + + Specifies the 12x12 size. + + + + + Specifies the 8x8 size. + + + + + Specifies the 14x14 size. + + + + + Specifies the 8x32 size. + + + + + Specifies the 16x16 size. + + + + + Specifies the 12x26 size. + + + + + Specifies the 18x18 size. + + + + + Specifies the 20x20 size. + + + + + Specifies the 12x36 size. + + + + + Specifies the 22x22 size. + + + + + Specifies the 16x36 size. + + + + + Specifies the 24x24 size. + + + + + Specifies the 26x26 size. + + + + + Specifies the 16x48 size. + + + + + Specifies the 32x32 size. + + + + + Specifies the 36x36 size. + + + + + Specifies the 40x40 size. + + + + + Specifies the 44x44 size. + + + + + Specifies the 48x48 size. + + + + + Specifies the 52x52 size. + + + + + Specifies the 64x64 size. + + + + + Specifies the 72x72 size. + + + + + Specifies the 80x80 size. + + + + + Specifies the 88x88 size. + + + + + Specifies the 96x96 size. + + + + + Specifies the 104x104 size. + + + + + Specifies the 120x120 size. + + + + + Specifies the 132x132 size. + + + + + Specifies the 144x144 size. + + + + + Generates the 2D Data Matrix barcode. + + + + + Gets or sets the symbol size. + + + + + Gets or sets the encoding mode. + + + + + Gets or sets the code page used for text conversion. + + + Use this property to encode non-ASCII characters. For example, set this + property to 1251 to use Window CP1251. + + + + + Gets or sets the size of the pixel. + + + + + Gets or sets the value AutoEncode. + + + + + + + + Initializes a new instance of the class with default settings. + + + + + The base class for EAN barcodes. + + + + + Initializes a new instance of the class with default settings. + + + + + Generates the EAN8 barcode. + + + + + Generates the EAN13 barcode. + + + + + Initializes a new instance of the class with default settings. + + + + + Generates the GS1-128 (formerly known as UCC-128 or EAN-128) barcode. + + + + + Initializes a new instance of the class with default settings. + + + + + Base methods for GS1 DataBar barcodes. + + + + + Routine to generate widths for GS1 elements for a given value. + + Required value. + Number of modules. + Elements in a set (GS1 omni based and Expanded = 4; GS1 Limited = 7). + Maximum module width of an element. + False will skip patterns without a one module wide element. + Element widths + + + + + + + + Returns the number of Combinations of r selected from n. + + + + Drawing lines of strokes + + Encoded data in width strokes; For separate line, these are colored strokes, any value that is not equal to zero is black. + + Scale size. + Use left of rectangle for to set start position x, top for top pos y, bottom for bottom pos y of strokes. + Flag for reversing color by default first strokes white, disabled for separate line. + Flag separete line + + + + + + + Generates the GS1 DataBar Omnidirectional barcode. + + + + + Get value for encoding. + + Data + + + + + + + + Generates the GS1 DataBar Stacked barcode. + + + + + + + + Generates the GS1 DataBar Stacked Omnidirectional barcode. + + + + + + + + Generates the GS1 DataBar Limited barcode. + + + + + Get value for encoding. + + Data + + + + + + + + Generates the Intelligent Mail (USPS) barcode. + + + + + Gets or sets the value indicating that quiet zone must be shown. + + + + + + + + + + + + + + Initializes a new instance of the class with default settings. + + + + + Generates the 2D MaxiCode barcode. + + + + + Sets the MaxiCode mode to use. Only modes 2 to 6 are supported. + + + + + Initializes a new instance of the class with default settings. + + + + + + + Implements MaxiCode according to ISO 16023:2000. + + MaxiCode employs a pattern of hexagons around a central 'bulls-eye' + finder pattern. Encoding in several modes is supported, but encoding in + Mode 2 and 3 require primary messages to be set. Input characters can be + any from the ISO 8859-1 (Latin-1) character set. + + TODO: Add ECI functionality. + + @author Robin Stuart + @author Daniel Gredler + + + MaxiCode module sequence, from ISO/IEC 16023 Figure 5 (30 x 33 data grid). + + + ASCII character to Code Set mapping, from ISO/IEC 16023 Appendix A. + 1 = Set A, 2 = Set B, 3 = Set C, 4 = Set D, 5 = Set E. + 0 refers to special characters that fit into more than one set (e.g. GS). + + + ASCII character to symbol value, from ISO/IEC 16023 Appendix A. + + + Sets the MaxiCode mode to use. Only modes 2 to 6 are supported. + + @param mode the MaxiCode mode to use + + + Returns the MaxiCode mode being used. Only modes 2 to 6 are supported. + + @return the MaxiCode mode being used + + + If this MaxiCode symbol is part of a series of MaxiCode symbols appended in a structured format, this method sets the + position of this symbol in the series. Valid values are 1 through 8 inclusive. + + @param position the position of this MaxiCode symbol in the structured append series + + + Returns the position of this MaxiCode symbol in a series of symbols using structured append. If this symbol is not part of + such a series, this method will return 1. + + @return the position of this MaxiCode symbol in a series of symbols using structured append + + + If this MaxiCode symbol is part of a series of MaxiCode symbols appended in a structured format, this method sets the total + number of symbols in the series. Valid values are 1 through 8 inclusive. A value of 1 indicates that this symbol is not + part of a structured append series. + + @param total the total number of MaxiCode symbols in the structured append series + + + Returns the size of the series of MaxiCode symbols using structured append that this symbol is part of. If this symbol is + not part of a structured append series, this method will return 1. + + @return size of the series that this symbol is part of + + + Sets the primary data. Should only be used for modes 2 and 3. Must conform to the following structure: + + + + + + +
CharactersMeaning
1-9Postal code data which can consist of up to 9 digits (for mode 2) or up to 6 + alphanumeric characters (for mode 3). Remaining unused characters should be + filled with the SPACE character (ASCII 32).
10-12Three-digit country code according to ISO-3166.
13-15Three digit service code. This depends on your parcel courier.
+ + @param primary the primary data +
+ + Returns the primary data for this MaxiCode symbol. Should only be used for modes 2 and 3. + + @return the primary data for this MaxiCode symbol + + + {@inheritDoc} + + + Extracts the postal code, country code and service code from the primary data and returns the corresponding primary message + codewords. + + @return the primary message codewords + + + Returns the primary message codewords for mode 2. + + @param postcode the postal code + @param country the country code + @param service the service code + @return the primary message, as codewords + + + Returns the primary message codewords for mode 3. + + @param postcode the postal code + @param country the country code + @param service the service code + @return the primary message, as codewords + + + Formats text according to Appendix A, populating the {@link #set} and {@link #character} arrays. + + @return true if the content fits in this symbol and was formatted; false otherwise + + + Guesses the best set to use at the specified index by looking at the surrounding sets. In general, characters in + lower-numbered sets are more common, so we choose them if we can. If no good surrounding sets can be found, the default + value returned is the first value from the valid set. + + @param index the current index + @param Length the maximum Length to look at + @param valid the valid sets for this index + @return the best set to use at the specified index + + + Moves everything up so that the specified shift or latch character can be inserted. + + @param position the position beyond which everything needs to be shifted + @param c the latch or shift character to insert at the specified position, after everything has been shifted + + + Returns the error correction codewords for the specified data codewords. + + @param codewords the codewords that we need error correction codewords for + @param ecclen the number of error correction codewords needed + @return the error correction codewords for the specified data codewords + + + {@inheritDoc} + + + {@inheritDoc} + + + + Generates the MSI barcode. + + + + + Specifies the error correction level used for PDF417 barcode. + + + + + Indicates that correction level should be calculated automatically. + + + + + Specifies level 0. + + + + + Specifies level 1. + + + + + Specifies level 2. + + + + + Specifies level 3. + + + + + Specifies level 4. + + + + + Specifies level 5. + + + + + Specifies level 6. + + + + + Specifies level 7. + + + + + Specifies level 8. + + + + + Specifies the compaction mode used for PDF417 barcode. + + + + + Indicates that compaction mode should be calculated automatically. + + + + + Specifies the text compaction mode. + + + + + Specifies the numeric compaction mode. + + + + + Specifies the binary compaction mode. + + + + + Generates the 2D PDF417 barcode. + + This example shows how to configure the BarcodeObject to display PDF417 barcode. + + BarcodeObject barcode; + ... + barcode.Barcode = new BarcodePDF417(); + (barcode.Barcode as BarcodePDF417).CompactionMode = PDF417CompactionMode.Text; + + + + + + Gets or sets the barcode aspect ratio. + + + A ratio or 0.5 will make the barcode width twice as large as the height. + + + + + Gets or sets the number of barcode data columns. + + + To calculate the necessary number of columns and rows, set the + and properties to 0. In this case, the property + should be set to desired aspect ratio. + + + + + Gets or sets the number of barcode data rows. + + + To calculate the necessary number of columns and rows, set the + and properties to 0. In this case, the property + should be set to desired aspect ratio. + + + + + Gets or sets the error level correction used for the barcode. + + + + + Gets or sets the code page used for text conversion. + + + Use this property to encode non-ASCII characters. For example, set this + property to 1251 to use Window CP1251. + + + + + Gets or sets the compaction mode. + + + + + Gets or sets the size of the pixel. + + + + Paints the barcode. If no exception was thrown a valid barcode is available. + + + + + + + Initializes a new instance of the class with default settings. + + + + + Generates the Pharmacode barcode. + + + + + Gets or sets the value indicating that quiet zone must be shown. + + + + + + + + Initializes a new instance of the class with default settings. + + + + + + + + Generates the Plessey barcode. + + + + + Appends the given pattern to the target array starting at pos. + + encode black/white pattern into this array + position to start encoding at in target + lengths of black/white runs to encode + starting color - false for white, true for black + the number of elements added to target. + + + + Generates the PostNet barcode. + + + + + Generates the Japan Post 4 State Code barcode. + + + + + Specifies the QR code error correction level. + + + + + L = ~7% correction. + + + + + M = ~15% correction. + + + + + Q = ~25% correction. + + + + + H = ~30% correction. + + + + + Specifies the QR Code encoding. + + + + + UTF-8 encoding. + + + + + ISO 8859-1 encoding. + + + + + Shift_JIS encoding. + + + + + Windows-1251 encoding. + + + + + cp866 encoding. + + + + + Generates the 2D QR code barcode. + + + + + Gets or sets the error correction. + + + + + Gets or sets the encoding used for text conversion. + + + + + Gets or sets the value indicating that quiet zone must be shown. + + + + + + + + Initializes a new instance of the class with default settings. + + + + + Generates the UPC E0 barcode. + + + + + Initializes a new instance of the class with default settings. + + + + + Generates the UPC E1 barcode. + + + + + Generates the UPC A barcode. + + + + + Generates the 2-digit supplement barcode. + + + + + Initializes a new instance of the class with default settings. + + + + + Generates the 5-digit supplement barcode. + + + + + The base class for linear (1D) barcodes. + + + + + Gets or sets a value that determines if the barcode object should calculate + the check digit automatically. + + + + + Gets or sets a relative width of wide bars in the barcode. + + + + + Gets the value indicating that the barcode is numeric. + + + + + Gets or sets a value indicating that leading/trailing whitespaces must be trimmed. + + + true if trim; otherwise, false. + + + + + + + + + + + Initializes a new instance of the class with default settings. + + + + + Represents a class that contains all parameters of Swiss QR Code. + + + + + IBAN object + + + + + (either EUR or CHF) + + + + + Creditor (payee) information + + + + + Reference information + + + + + Can be null + + + + + Debitor (payer) information + + + + + Amount + + + + + Optional command for alternative processing mode - line 1 + + + + + Optional command for alternative processing mode - line 2 + + + + + Creates an additional information object. Both parameters are optional and must be shorter than 141 chars in combination. + + Unstructured text message + Bill information + + + + Creates a reference object which must be passed to the SwissQrCode instance + + Type of the reference (QRR, SCOR or NON) + Reference text + Type of the reference text (QR-reference or Creditor Reference) + + + + Reference type. When using a QR-IBAN you have to use either "QRR" or "SCOR" + + + + + Contact type. Can be used for payee, ultimate payee, etc. with address in structured mode (S). + + Last name or company (optional first name) + Zip-/Postcode + City name + Two-letter country code as defined in ISO 3166-1 + Streetname without house number + House number + + + + Contact type. Can be used for payee, ultimate payee, etc. with address in combined mode (K). + + Last name or company (optional first name) + Two-letter country code as defined in ISO 3166-1 + Adress line 1 + Adress line 2 + + + + IBAN object with type information + + IBAN + Type of IBAN (normal or QR-IBAN) + + + + Returns true, if compilation is successful + + + + + Handle compile errors + + + + + Returns true if recompilation is successful + + + + + This class is used to pass find arguments to some methods of the CodeUtils class. + + + + + The start position of the search. After the search, this property points to + the begin of an expression. + + + + + After the search, this property points to the end of an expression. + + + + + The char sequence used to find the expression's begin. + + + + + The char sequence used to find the expression's end. + + + + + The text with embedded expressions. + + + + + The last found expression. + + + + + This static class contains methods that may be used to find expressions embedded + in the object's text. + + + + + Returns expressions found in the text. + + Text that may contain expressions. + The char sequence used to find the start of expression. + The char sequence used to find the end of expression. + Array of expressions if found; otherwise return an empty array. + + + + Gets first expression found in the text. + + Object with find arguments. + Indicates whether to skip strings. + The expression if found; otherwise, returns null. + + + + Specifies how text in a is horizontally aligned. + + + + + The text is aligned to the left. + + + + + The text is aligned to the right. + + + + + The text is aligned in the center. + + + + + The text is justified. + + + + + Gets or sets the alignment to apply to the current + selection or insertion point. + + + Replaces the SelectionAlignment from . + + + + + Convert between screen pixels and twips (1/1440 inch, used by Win32 API calls) + + Value in screen pixels + Value in twips + + + + Convert between screen pixels and twips (1/1440 inch, used by Win32 API calls) + + Value in twips + Value in screen pixels + + + + Calculate or render the contents of RichTextBox for printing + + Graphics object + Graphics object to measure richtext for + Bonding rectangle of the RichTextBox + Index of first character to be printed + Index of last character to be printed + If true, only the calculation is performed, + otherwise the text is rendered as well + (Index of last character that fitted on the page) + 1 + + + + Calculate or render the contents of RichTextBox for printing + + Graphics object + Graphics object to measure richtext for + Bonding rectangle of the RichTextBox + Index of first character to be printed + Index of last character to be printed + If true, only the calculation is performed, + otherwise the text is rendered as well + The calculated text height + (Index of last character that fitted on the page) + 1 + + + + Contener for better work FRRichTextBox + + + + + + + + + + Base class for all toolbars. + + + + + Gets the report designer. + + + + + Gets or sets a value that determines whether the toolbar is fixed, i.e. can't float. + + + + + Updates UI style of the toolbar. + + + + + Updates layout on dpi change. + + + + + Adds items to this toolbar. + + Items to add. + + + + Initializes a new instance of the class with default settings. + + The report designer. + + + + Not relevant to this class. + + + + + Updates dropdown images on dpi change. + + The designer. + + + + Adds items to the dropdown menu. + + Items to add. + + + + Represents a combobox that allows to choose a color. + + + This control may be useful if you write own components for FastReport. + + + + + This event is raised when you select a color. + + + + + Gets or sets the selected color. + + + + + Gets or sets value indicating whether it is necessary to show a color name in a combobox. + + + + + + + + + + + + + + + + + Initializes a new instance of the class with default settings. + + + + + Represents a drop-down control that allows to choose a color. + + + This control may be useful if you write own components for FastReport. + + + + + This event is raised when you select a color. + + + + + Gets or sets the control that owns this dropdown. + + Set the Owner to onscreen control that initiates dropdown. This control will + be used to calculate dpi-dependent sizes. + + + + Gets or sets the selected color. + + + + + Sets the UI style. + + The style to set. + + + + + + + Initializes a new instance of the class with default settings. + + + + + Represents the combobox used to select a data column. + + + + + Occurs when the text portion of the combobox is changed. + + + + + + + + Gets or sets the data source. + + + + + Gets or sets the Report. + + + + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + This is an internal enum that represents the selected datatree item type. + + + + + "None" selected. + + + + + Data column selected. + + + + + Datasource selected. + + + + + Total selected. + + + + + Parameter selected. + + + + + Function selected. + + + + + Custom item selected. + + + + + Other item selected such as root node for Parameters, Totals etc. + + + + + This is an internal control that represents the data tree. + + + This control is for internal use only. + + + + + DataSource property + + + + + SelectedItem property + + + + + SelectedItemType property + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + List of expanded nodes. + + + + + + + + + + + Creates a new instance of the DataTreeView control. + + + + + Represents the label with line. + + + + + + + + Initializes a new instance of the class. + + + + + Represents a control that may contain several pages. It is similar to the TabControl + but contains no tabs. This control is widely used in wizards. + + + + + Occurs when page is selected. + + + + + Gets or sets a value that determines whether the selector area is visible or not. + + + + + Gets or sets the height of selector tab. + + + + + This property is not relevant to this class + + + + + Gets or sets the active page. + + + + + Gets or sets the index of active page. + + + + + Gets or sets the highlighted page index. + + + + + Gets the collection of pages. + + + + + + + + + + + + + + + + + + + + Gets tab at specified mouse point. + + The mouse point. + Index of tab under mouse; -1 if mouse is outside tab area. + + + + Selects the next page. + + + + + Selects the previous page. + + + + + Initializes a new instance of the class with default settings. + + + + + This class represents a single page of the control. + + + + + Gets or sets the image associated with this page. + + + + + Gets or sets the page caption text. + + + + + + + + + + + + + + Represents the control that combines a textbox and a button. + + + + + + + + Gets or sets the button's image. + + + + + Gets or sets the button's text. + + + + + Occurs when the button is clicked. + + + + + Occurs when the text is changed. + + + + + + + + + + + + + + Set focus on text box. + + + + + + Initializes a new instance of the class. + + + + + TreeView control with multiselect support. + + + This control is for internal use only. + + + + + + + + + + + + + + + + + + + + + + + Creates a new instance of the TreeViewMultiSelect control. + + + + + The base class for the context menu item. + + + + + Gets a collection of menu items. + + + + + Gets or sets "Check on click" property. + + + + + Sets bold font. + + + + + Gets or sets a value indicating whether the item will be added to the toolbar. + + + + + The base class for the context menu of the report component. + + + This class represents a context menu of the report component that is displayed when the object + is right-clicked in the designer. + + + + + The reference to the report designer. + + + + + Gets a collection of menu items. + + + You should add new items to this collection. + + + + + Gets or sets the image list. + + + + + This method is called to reflect changes in the designer. + + + + + Creates a new menu item. + + Item's text. + New item. + + + + Creates a new menu item. + + Item's text. + Click handler. + New item. + + + + Creates a new menu item. + + Item's image index. + Item's text. + Click handler. + New item. + + + + Clears menu items. + + + + + Adds an item to this menu. + + Menu item to add. + + + + Returns true if menu is empty. + + + + + Displays context menu. + + Parent control. + Location. + + + + Updates the menu style. + + + + + Initializes a new instance of the ComponentBaseMenu class with default settings. + + The reference to a report designer. + + + + Updates HeaderWidth, HeaderHeight, BodyWidth, BodyHeight properties. + + + + + Represents the crossview object that is used to print cube slice or slicegrid. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + + + + + + + + + + + + + Allows to modify the prepared matrix elements such as cells, rows, columns. + + + + + Gets or sets a value indicating whether to show a title row. + + + + + Gets or sets a value indicating whether to show a X Axis fields Caption. + + + + + Gets or sets a value indicating whether to show a Y Axis fields Caption. + + + + + Gets or sets a matrix style. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + See the event for more details. + + + + + + + + + + + + + + + + + + + + + + + + + Gets or sets a cube source. + + + + + Gets the object that holds data of Cube + + + See the class for more details. + + + + + + + + + + + + + + Creates or updates the matrix template. + + + Call this method after you modify the matrix descriptors using the + object's properties. + + + + + + + + + + + + + + + + + + + + This method fires the ModifyResult event and the script code connected to the ModifyResultEvent. + + Event data. + + + + Initializes a new instance of the class. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents interface of the source for object. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The descriptor that is used to describe one CrossView data cell. + + + The class is used to define one data cell of the CrossView. + To set visual appearance of the data cell, use the + property. + The collection of descriptors used to represent the CrossView data cells is stored + in the CrossViewObject.Data.Cells property. + + + + + Gets a value indicating that this is the "GrandTotal" element on X axis. + + + + + Gets a value indicating that this is the "GrandTotal" element on Y axis. + + + + + Gets a value indicating that this is the "Total" element on X axis. + + + + + Gets a value indicating that this is the "Total" element on Y axis. + + + + + Gets the name of field in X axis. + + + + + Gets the name of field in Y axis. + + + + + Gets the name of measure in cube. + + + + + Gets the x coordinate. + + + + + Gets the y coordinate. + + + + + + + + + + + Initializes a new instance of the class + + The Field Name in X axis. + The Field Name in Y axis. + The Measure Name. + Indicates the "XTotal" element. + Indicates the "YTotal" element. + Indicates the "XGrandTotal" element. + Indicates the "YGrandTotal" element. + + + + Initializes a new instance of the class + + + + + Represents a collection of CrossView data descriptors used in the . + + + + + Gets or sets the element at the specified index. + + Index of an element. + The element at the specified index. + + + + Adds the specified descriptors to the end of this collection. + + Array of descriptors to add. + + + + Adds a descriptor to the end of this collection. + + Descriptor to add. + Index of the added descriptor. + + + + Inserts a descriptor into this collection at the specified index. + + The zero-based index at which value should be inserted. + The descriptor to insert. + + + + Removes the specified descriptor from the collection. + + Descriptor to remove. + + + + Returns the zero-based index of the first occurrence of a descriptor. + + The descriptor to locate in the collection. + The zero-based index of the first occurrence of descriptor within + the entire collection, if found; otherwise, -1. + + + + Determines whether a descriptor is in the collection. + + The descriptor to locate in the collection. + true if descriptor is found in the collection; otherwise, false. + + + + Copies the elements of this collection to a new array. + + An array containing copies of this collection elements. + + + + + + + + + + + + + + + Contains a set of properties and methods to hold and manipulate the CrossView descriptors. + + + This class contains three collections of descriptors such as , + and . Descriptors are filled from FastCube Slice. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets a collection of column descriptors. + + + Note: after you change something in this collection, call the + method to refresh the CrossView. + + + + + Gets a collection of row descriptors. + + + Note: after you change something in this collection, call the + method to refresh the CrossView. + + + + + Gets a collection of data cell descriptors. + + + Note: after you change something in this collection, call the + method to refresh the CrossView. + + + + + The base class for matrix element descriptors such as and + . + + + + + Gets or sets an expression which value will be used to fill the matrix. + + + Expression may be any valid expression. Usually it's a data column: + [DataSource.Column]. + + + + + Gets or sets the template column bound to this descriptor. + + + This property is for internal use; usually you don't need to use it. + + + + + Gets or sets the template row bound to this descriptor. + + + This property is for internal use; usually you don't need to use it. + + + + + Gets or sets the template cell bound to this descriptor. + + + Using this property, you may access the matrix cell which is bound to + this descriptor. It may be useful to change the cell's appearance. + + Before using this property, you must initialize the matrix descriptors by + calling the method. + + + + + CrossViewObject crossView; + // change the fill color of the first matrix cell + crossView.Data.Cells[0].TemplateCell.Fill = new SolidFill(Color.Red); + + + + + + Assigns values from another descriptor. + + Descriptor to assign values from. + + + + + + + + + + Represents a collection of CrossView header descriptors used in the . + + + + + Gets or sets the element at the specified index. + + Index of an element. + The element at the specified index. + + + + Adds the specified descriptors to the end of this collection. + + Array of descriptors to add. + + + + Adds a descriptor to the end of this collection. + + Descriptor to add. + Index of the added descriptor. + + + + Inserts a descriptor into this collection at the specified index. + + The zero-based index at which value should be inserted. + The descriptor to insert. + + + + Removes the specified descriptor from the collection. + + Descriptor to remove. + + + + Returns the zero-based index of the first occurrence of a descriptor. + + The descriptor to locate in the collection. + The zero-based index of the first occurrence of descriptor within + the entire collection, if found; otherwise, -1. + + + + Determines whether a descriptor is in the collection. + + The descriptor to locate in the collection. + true if descriptor is found in the collection; otherwise, false. + + + + Copies the elements of this collection to a new array. + + An array containing copies of this collection elements. + + + + + + + + + + + + + + + The descriptor that is used to describe one element of the CrossView header. + + + The class is used to define one header element of the CrossView + (either the column element or row element). + To set visual appearance of the element, use the + property. + The collection of descriptors used to represent the CrossView header is stored + in the CrossViewObject.Data.Columns and CrossViewObject.Data.Rows properties. + + + + + Gets a value indicating that this is the "GrandTotal" element. + + + + + Gets a value indicating that this is the "Total" element. + + + + + Gets a value indicating that this is the "Measure" element. + + + + + Gets the name of field in cube. + + + + + Gets the name of measure in cube. + + + + + Gets the cell coordinate. + + + + + Gets the size in cell coordinate. + + + + + Gets the level coordinate. + + + + + Gets the size in level coordinate. + + + + + + + + + + + Initializes a new instance of the class + + The Field Name. + The Measure Name. + Indicates the "Total" element. + Indicates the "GrandTotal" element. + Indicates the "Measure" element. + + + + Initializes a new instance of the class + + + + + This class represents a single data column in a . + + + + + + + + Gets or sets the business object property name which this column is bound to. + + + + + Gets or sets the business object property descriptor which this column is bound to. + + + + + Gets or sets the type of data supplied by this column. + + + + + Gets or sets a value that specifies the type of a control that will be created + when you drop this column on a report page. + + + If you need to specify the custom type, use the property instead. + + + + + Gets or sets a name of custom bindable control. + + + Use this property if you want to bind a column to custom object type. You need to + specify the type name of your object; that object must be registered in FastReport using the + RegisteredObjects.Add method. + + + + + Gets or sets the format of this column. + + + This property is used when you drag a column from the Data window to the report page. + FastReport will create a "Text" object and set its "Format" property to the corresponding format. + By default, this property is set to Auto. It means that the format will be determined + automatically depending on the property. + + + + + Gets or sets expression of the calculated column. + + + This property is used if the property is true. + + + + + Gets or sets a value that indicates whether this column is calculated. + + + You should specify the property for calculated columns. + + + + + Gets the collection of child columns. + + + + + Gets or sets the tag value. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the Column class with default settings. + + + + + The base class for all connection editors. This control is used when you edit + the connection in the Data Wizard. + + + + + Gets or sets a connection string. + + + + + This method should construct the connection string from values entered by user. + + The connection string. + + + + This method should parse the connection string and fill the user interface elements. + + The connection string. + + + + Updates the component layout on dpi change. + + + + + Initializes a new instance of the class with default settings. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + + + + + + Initialize a new instance + + + + + + + + + + + + + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Represents a connection to csv file-based database. + + This example shows how to add a new connection to the report. + + Report report1; + CsvDataConnection conn = new CsvDataConnection(); + conn.CsvFile = @"c:\data.csv"; + report1.Dictionary.Connections.Add(conn); + conn.CreateAllTables(); + + + + + + + + + + + + + + + + + + Gets or sets the path to .csv file. + + + + + Gets or sets the codepage of the .csv file. + + + + + Gets or sets the separator of the .csv file. + + + + + Gets or sets the value indicating that field names should be loaded from the first string of the file. + + + + + Gets or sets the value indicating that quotation marks should be removed. + + + + + Gets or sets the value indicating that field types fhould be converted. + + + + + Gets or sets locale name used to auto-convert numeric fields, e.g. "en-US". + + + + + Gets or sets locale name used to auto-convert currency fields, e.g. "en-US". + + + + + Gets or sets locale name used to auto-convert datetime fields, e.g. "en-US". + + + + + Initializes a new instance of the class. + + + + + + + + Checking a relative path relative to a file + + + + + + + + + + + + + + + + + + + + + + + + + + The base class for all data components such as data sources, columns. + + + + + + + + Gets or sets alias of this object. + + + Alias is a human-friendly name of this object. It may contain any symbols (including + spaces and national symbols). + + + + + Gets or sets a value indicates that object is enabled and thus can be used in a report. + + + This property is used to hide an object from the Data Dictionary window. Hidden + objects are still accessible in the "Data|Choose Data Source..." menu. + + + + + Gets or sets a name of the data object. + + + This property is used to support FastReport.Net infrastructure. Do not use it directly. + + + + + Gets or sets a reference to the data object. + + + This property is used to support FastReport.Net infrastructure. Do not use it directly. + + + + + Gets a value indicates that this object has an alias. + + + + + + + + + + + + + + Initializes the object before running a report. + + + This method is used by the report engine, do not call it directly. + + + + + Initializes a new instance of the class with default settings. + + + + + The base class for all data connection components such as . + + This example shows how to add a new MS Access connection to the report. + + Report report1; + MsAccessDataConnection conn = new MsAccessDataConnection(); + conn.DataSource = @"c:\data.mdb"; + report1.Dictionary.Connections.Add(conn); + conn.CreateAllTables(); + + + + + + + + + Gets a string that will identify a connection in the Data Wizard. + + The string that contains the connection type and some meaningful information. + + + + Gets the default type for a new parameter. + + The integer representation of a parameter type. + + + + Gets a control that will be used to edit the connection properties. + + The editor's control. + + + + + + + Tests the connection. + + + If test connection is not successful, this method throws an exception. Catch this exception to + show an error message. + + + + + Gets an internal DataSet object that contains all data tables. + + + + + Gets a collection of data tables in this connection. + + + To add a table to the connection, you must either create a new TableDataSource and add it + to this collection or call the method which will add + all tables available in the database. + + + + + Gets or sets a connection string that contains all connection parameters. + + + To modify some parameter of the connection, use respective + ConnectionStringBuilder class. + Security note: the connection string may contain a user name/password. + This information is stored in a report file. By default, it is crypted using the standard + FastReport's password. Since FastReport's source code is available to anyone who paid for it, + it may be insecure to use the standard password. For more security, you should use own + password. To do this, specify it in the Crypter.DefaultPassword property. + + This example demonstrates how to change a connection string: + + OleDbConnectionStringBuilder builder = new OleDbConnectionStringBuilder(oleDbConnection1.ConnectionString); + builder.PersistSecurityInfo = false; + oleDbConnection1.ConnectionString = builder.ToString(); + + + + + + Gets or sets an expression that returns a connection string. + + + Use this property to set the connection string dynamically. + The recommended way to do this is to define a report parameter. You can do this in the + "Data" window. Once you have defined the parameter, you can use it to pass a value + to the connection. Set the ConnectionStringExpression property of the + connection object to the report parameter's name (so it will look like [myReportParam]). + To pass a value to the report parameter from your application, use the + method. + + Once you set value for this property, the property will be ignored + when report is run. + + + + + + Gets or sets a value indicates if this connection is SQL-based. + + + + + Gets or sets a value indicates if this connection can contain procedures. + + + + + Gets or sets a value indicating whether a login dialog appears immediately before opening a connection. + + + Set LoginPrompt to true to provide login dialog when establishing a connection. If this + property is false (by default), you should provide login information (user name and password) + in the property. Though that property is stored in a crypted form, + this may be insecure. + Another way to pass login information to the connection is to use + property that is bound to the report parameter. In that + case you supply the entire connection string from your application. + + + + + Gets or sets the command timeout, in seconds. + + + + + + + + Initializes a DataSet instance. + + The DataSet object. + + This method is used to support FastReport infrastructure. You don't need to use it. + + + + + Disposes a DataSet. + + + This method is used to support FastReport infrastructure. You don't need to use it. + + + + + Sets the connection string. + + New connection string. + + Use this method if you need to perform some actions when the connection string is set. + + + + + Gets a connection string that contains username and password specified. + + User name. + Password. + + Override this method to pass login information to the connection. Typical implementation + must get the existing , merge specified login information into it + and return the new value. + + + + + + + + + + + + + + + + + + + + + + + + + + Fills the collection with all tables available in the database. + + + This method does not read the table data; to do this, call the + method of each table. + + + + + Fills the collection with all tables available in the database. + + Set to true to initialize each table's schema. + + + + Fills the collection with all procedures available in the database. + + + + + Create the stored procedure. + + + + + Creates the relations between tables. Applies to XmlDataConnection only. + + + + + Gets an array of table names available in the database. + + An array of strings. + + + + Gets an array of table names available in the database. + + An array of strings. + + + + Returns a type of connection. + + Type instance. + + You should override this method if you developing a new connection component. + If your connection component does not use data connection, you need to override + the and methods instead. + + Here is the example of this method implementation: + + public override Type GetConnectionType() + { + return typeof(OleDbConnection); + } + + + + + + Returns a connection object. + + The DbConnection instance. + Either creates a new DbConnection instance of type provided by the + method, or returns the application connection if set + in the Config.DesignerSettings.ApplicationConnection. + + + + Opens a specified connection object. + + Connection to open. + + Use this method to open a connection returned by the method. + This method displays a login dialog if your connection has the + property set to true. Once you have entered an user name and password in + this dialog, it will remeber the entered values and will not used anymore in this report session. + + + + + Disposes a connection. + + The connection to dispose. + + + + Returns a object that is specific to this connection. + + The SQL command used to fetch a table data rows. + The connection object. + The select command parameters. + The DbDataAdapter object. + + You should override this method if you are developing a new connection component. In this method, + you need to create the adapter and set its SelectCommand's parameters. + If your connection does not use data adapter, you need to override + the and methods instead. + + Here is the example of this method implementation: + + public override DbDataAdapter GetAdapter(string selectCommand, DbConnection connection, + CommandParameterCollection parameters) + { + OleDbDataAdapter adapter = new OleDbDataAdapter(selectCommand, connection as OleDbConnection); + foreach (CommandParameter p in parameters) + { + OleDbParameter parameter = adapter.SelectCommand.Parameters.Add(p.Name, (OleDbType)p.DataType, p.Size); + parameter.Value = p.Value; + } + return adapter; + } + + + + + + Gets the type of parameter that is specific to this connection. + + The parameter's type. + + This property is used in the report designer to display available data types when you edit the + connection parameters. For example, the type of OleDbConnection parameter is a OleDbType. + + + + + Quotes the specified DB identifier such as table name or column name. + + Identifier to quote. + The opened DB connection. + The quoted identifier. + + + + Fills the table schema. + + DataTable to fill. + The SQL select command. + SQL parameters. + + Usually you don't need to use this method. Internally it uses the and + methods to fill the table schema. If you create own connection component + that does not use nor connection or adapter, then you need to override this method. + + + + + Fills the table data. + + DataTable to fill. + The SQL select command. + SQL parameters. + + Usually you don't need to use this method. Internally it uses the and + methods to fill the table data. If you create own connection component + that does not use nor connection or adapter, then you need to override this method. + + + + + Creates table. + For internal use only. + + + + + Deletes table. + For internal use only. + + + + + Clone table. + For internal use only. + + + + + + + + + + + Initializes a new instance of the class with default settings. + + + + + FastReport json connection + + + + + + + + + + + + + + Name of json object table + + + + + Initialize a new instance + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Provider for getting a json object fron connection source + + + + + Returns JsonBase object from connection source specific by tableDataSource + + + + + + + Represents the JsonDataConnection connection string builder. + + + Use this class to parse connection string returned by the JsonDataConnection class. + + + + + Gets or sets json data + + + + + Gets or sets json schema + + + + + Gets or sets json url encoding + + + + + Set or get headers of the connection string. + + + + Returns copy of dictionary. If you need to update values, set the dictionary again! + + + + + Gets or sets simple structure value + + + + + Initializes a new instance of the class with default settings. + + + + + Initializes a new instance of the class with + specified connection string. + + The connection string. + + + + JsonTableDataSource present a json array object + + + + + Gets or sets value for force update schema on init schema + + + + + Get or sets simplify mode for array types + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents a connection to MS Access database (.mdb file). + + This example shows how to add a new connection to the report. + + Report report1; + MsAccessDataConnection conn = new MsAccessDataConnection(); + conn.DataSource = @"c:\data.mdb"; + report1.Dictionary.Connections.Add(conn); + conn.CreateAllTables(); + + + + + + Contains supported list of providers + + + + + Gets or sets the datasource file name. + + + + + Gets or sets the datasource file name. + + + + + Gets or sets the user name. + + + + + Gets or sets the password. + + + + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the class with default settings. + + + + + + + + + + + Represents a connection to MS SQL database. + + This example shows how to add a new connection to the report. + + Report report1; + MsSqlDataConnection conn = new MsSqlDataConnection(); + conn.ConnectionString = "your_connection_string"; + report1.Dictionary.Connections.Add(conn); + conn.CreateAllTables(); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents a connection to any database through ODBC. + + This example shows how to add a new connection to the report. + + Report report1; + OdbcDataConnection conn = new OdbcDataConnection(); + conn.ConnectionString = "your_connection_string"; + report1.Dictionary.Connections.Add(conn); + conn.CreateAllTables(); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents a connection to any OLE DB database. + + This example shows how to add a new connection to the report. + + Report report1; + OleDbDataConnection conn = new OleDbDataConnection(); + conn.ConnectionString = "your_connection_string"; + report1.Dictionary.Connections.Add(conn); + conn.CreateAllTables(); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents a master-detail relation between two data sources. + + + To setup a relation, you must specify parent and child datasources. For a parent datasource, + you must specify set of key columns; for child datasource, you must specify set of columns that + relate to the parent key columns. + This example shows how to create relation between Customers and Orders tables: + + Report report1; + DataSourceBase customersTable = report1.Dictionary.DataSources.FindByAlias("Customers"); + DataSourceBase ordersTable = report1.Dictionary.DataSources.FindByAlias("Orders"); + Relation rel = new Relation(); + rel.Name = "customersOrders"; + rel.ParentDataSource = customersTable; + rel.ChildDataSource = ordersTable; + rel.ParentColumns = new string[] { "CustomerID" }; + rel.ChildColumns = new string[] { "CustomerID" }; + report1.Dictionary.Relations.Add(rel); + + + + + + + + + + Gets or sets the parent datasource. + + + + + Gets or sets the child datasource. + + + + + Gets or sets an array of parent datasource columns. + + + Note: both and must have the + same number of elements. + + + + + Gets or sets an array of child datasource columns. + + + Note: both and must have the + same number of elements. + + + + + + + + Compares this relation with another one. + + Another relation to compare with. + true if both relations are equal; false otherwise. + + + + Initializes a new instance of the class with default settings. + + + + + Represents a datasource based on DataTable class. + + This example shows how to add a new table to the existing connection: + + Report report1; + DataConnectionBase conn = report1.Dictionary.Connections.FindByName("Connection1"); + TableDataSource table = new TableDataSource(); + table.TableName = "Employees"; + table.Name = "Table1"; + conn.Tables.Add(table); + + + + + + + + + Gets or sets the underlying DataTable object. + + + + + Gets or sets the table name. + + + + + Gets or sets SQL "select" command. + + + If this command contains parameters, you should specify them in the + property. + + + + + Gets a collection of parameters used by "select" command. + + + You must set up this property if the SQL query that you've specified in the + property contains parameters. + You can pass a value to the SQL parameter in two ways. + The right way is to define a report parameter. You can do this in the + "Data" window. Once you have defined the parameter, you can use it to pass a value + to the SQL parameter. To do this, set the SQL parameter's Expression property + to the report parameter's name (so it will look like [myReportParam]). + To pass a value to the report parameter from your application, use the + method. + The other way (unrecommended) is to find a datasource object and set its parameter from a code: + + TableDataSource ds = report.GetDataSource("My DataSource Name") as TableDataSource; + ds.Parameters[0].Value = 10; + + This way is not good because you hardcode the report object's name. + + + + + Gets or sets the parent object. + + + + + Gets or sets a value that determines whether it is necessary to store table data in a report file. + + + + + Gets or sets the table data. + + + This property is for internal use only. + + + + + If set, ignores the Connection (always returns null). Needed when we replace the + existing connection-based datasource with datatable defined in an application. + + + + + Gets or sets the query builder schema. + + + This property is for internal use only. + + + + + + + + + + + + + + + + + Refresh the table schema. + + + + + + + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the class with default settings. + + + + + Represents a total that is used to calculate aggregates such as Sum, Min, Max, Avg, Count. + + + + + + + + Gets or sets the total type. + + + + + Gets or sets the expression used to calculate the total. + + + + + Gets or sets the evaluator databand. + + + The total will be calculated for each row of this band. + + + + + This property is kept for compatibility only. + + + + + Gets or sets the band to print the total on. + + + The total will be resetted after the specified band has been printed. + + + + + Gets or sets a value that determines whether the total should be resetted after print. + + + + + Gets or sets a value that determines whether the total should be resetted if printed + on repeated band (i.e. band with "RepeatOnEveryPage" flag). + + + + + Gets or sets the condition which tells the total to evaluate. + + + + + Gets or sets a value that determines if invisible rows of the Evaluator should + be included into the total's value. + + + + + This property is not relevant to this class. + + + + + Gets the value of total. + + + + + + + + + + + + + + + + + Initializes a new instance of the class with default settings. + + + + + Represents a connection to xml file-based database. + + This example shows how to add a new connection to the report. + + Report report1; + XmlDataConnection conn = new XmlDataConnection(); + conn.XmlFile = @"c:\data.xml"; + report1.Dictionary.Connections.Add(conn); + conn.CreateAllTables(); + + + + + + + + + + + + + + + Gets or sets the path to .xsd file. + + + + + Gets or sets the path to .xml file. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the class with default settings. + + + + + Obsolete. Specifies a set of flags used to convert business objects into datasources. + + + + + Specifies no actions. + + + + + Allows using the fields of a business object. + + + + + Allows using properties of a business object with BrowsableAttribute only. + + + + + Specifies a kind of property. + + + + + Specifies the property of a simple type (such as integer). + + + + + Specifies the complex property such as class with own properties. + + + + + Specifies the property which is a list of objects (is of IEnumerable type). + + + + + Represents a datasource based on business object of IEnumerable type. + + + Do not use this class directly. To register a business object, use the + Report.RegisterData method. + + + + + Occurs when FastReport engine loads data source with data from a business object. + + + Use this event if you want to implement load-on-demand. Event handler must load the data into + your business object. + + + + + + + + + + + + + + + + + + + + Represents the method that will handle the LoadBusinessObject event. + + The source of the event. + The event data. + + + + Provides data for event. + + + + + Parent object for this data source. + + + + + Specifies the format for the column value. + + + + + The format will be determined automatically depending on the column's DataType. + + + + + Specifies the General format (no formatting). + + + + + Specifies the Number format. + + + + + Specifies the Currency format. + + + + + Specifies the Date format. + + + + + Specifies the Time format. + + + + + Specifies the Percent format. + + + + + Specifies the Boolean format. + + + + + Specifies the type of an object that will be created when you drop the + data column on a report page. + + + + + The column will create the object. + + + + + The column will create the object. + + + + + The column will create the object. + + + + + The column will create the object. + + + + + The column will create the custom object, specified in the + property. + + + + + Represents the collection of objects. + + + + + Gets or sets a column. + + The index of a column in this collection. + The column with specified index. + + + + Finds a column by its name. + + The name of a column. + The object if found; otherwise null. + + + + Finds a column by its alias. + + The alias of a column. + The object if found; otherwise null. + + + + Returns an unique column name based on given name. + + The base name. + The unique name. + + + + Returns an unique column alias based on given alias. + + The base alias. + The unique alias. + + + + Sorts the collection of columns. + + + + + Initializes a new instance of the class with default settings. + + The owner of this collection. + + + + Represents the comparer class that used for sorting the collection of columns. + + + + + + + + This class represents a single parameter to use in the "select" command. + + + + + Gets or sets the parameter's data type. + + + + + Gets or sets the size of parameter's data. + + + This property is used if the property is set to String. + + + + + Gets or set type of parameter. + + + + + Gets or sets an expression that returns the parameter's value. + + + If this property is not set, the property will be used + to obtain a parameter's value. + + + + + Gets or sets a default value for this parameter. + + + This value is used when you designing a report. Also it is used when report is running + in case if you don't provide a value for the property. + + + + + Gets or sets the parameter's value. + + + + + This property is not relevant to this class. + + + + + + + + + + + + + + Initializes a new instance of the class with default settings. + + + + + Represents the collection of objects. + + + This class is used to store the list of parameters defined in the datasource. See the + property for more details. + + + + + Gets or sets a parameter. + + The index of a parameter in this collection. + The parameter with specified index. + + + + Finds a parameter by its name. + + The name of a parameter. + The object if found; otherwise null. + + + + Returns an unique parameter name based on given name. + + The base name. + The unique name. + + + + Initializes a new instance of the class with default settings. + + The owner of this collection. + + + + Represents the collection of objects. + + + + + Gets or sets a data connection. + + The index of a data connection in this collection. + The data connection with specified index. + + + + Initializes a new instance of the class with default settings. + + The owner of this collection. + + + + Represents the CsvDataConnection connection string builder. + + + Use this class to parse connection string returned by the CsvDataConnection class. + + + + + Gets or sets the path to .csv file. + + + + + Gets or sets the codepage of .csv file. + + + + + Gets or sets the separator. + + + + + Gets or sets the value indicating that field names should be loaded from the first string of the file. + + + + + Gets or sets the value indicating that quotation marks should be removed. + + + + + Gets or sets the value indicating that field types should be converted. + + + + + Gets or sets locale name used to auto-convert numeric fields, e.g. "en-US". + + + + + Gets or sets locale name used to auto-convert currency fields, e.g. "en-US". + + + + + Gets or sets locale name used to auto-convert datetime fields, e.g. "en-US". + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a specified connection string. + + The connection string. + + + + The default field name. + + + + + Base class for all CubeSources such as . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the class with default settings. + + + + + Represents the collection of objects. + + + + + Gets or sets a data source. + + The index of a data source in this collection. + The data source with specified index. + + + + Finds a CubeSource by its name. + + The name of a CubeSource. + The object if found; otherwise null. + + + + Finds a CubeSource by its alias. + + The alias of a CubeSource. + The object if found; otherwise null. + + + + Initializes a new instance of the class with default settings. + + The owner of this collection. + + + + Base class for all datasources such as . + + + + + Occurs when the FastReport engine loads data source with data. + + + Use this event if you want to implement load-on-demand. Event handler must load the data + into the data object which this datasource is bound to (for example, the + TableDataSource uses data from the DataTable object bound to + the Table property). + + + + + Gets or sets alias of this object. + + + Alias is a human-friendly name of this object. It may contain any symbols (including + spaces and national symbols). + + + + + Gets a number of data rows in this datasource. + + + You should initialize the datasource by the Init method before using this property. + + + + + Gets a value indicating that datasource has more rows, that is the + is less than the . + + + You should initialize the datasource by the Init method before using this property. + Usually this property is used with the following code block: + + dataSource.Init(); + while (dataSource.HasMoreRows) + { + // do something... + dataSource.Next(); + } + + + + + + Gets the current data row. + + + This property is updated when you call the method. + + + + + Gets an index of current data row. + + + You should initialize the datasource by the Init method before using this property. + This property is updated when you call the method. + + + + + Gets data stored in a specified column. + + Alias of a column. + The column's value. + + You should initialize the datasource by the Init method before using this property. + + + + + Gets data stored in a specified column. + + The column. + The column's value. + + You should initialize the datasource by the Init method before using this property. + + + + + Forces loading of data for this datasource. + + + This property is false by default. Set it to true if you need to reload data + each time when the datasource initialized. Note that this may slow down the performance. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + Gets the additional filter settings. + + + + + Gets data stored in a specified column. + + The column alias. + An object that contains the data. + + + + Gets data stored in a specified column. + + The column. + An object that contains the data. + + + + Initializes the datasource schema. + + + This method is used to support the FastReport.Net infrastructure. Do not call it directly. + + + + + Loads the datasource with data. + + + This method is used to support the FastReport.Net infrastructure. Do not call it directly. + + Rows to fill with data. + + + + Initializes this datasource. + + + This method fills the table with data. You should always call it before using most of + datasource properties. + + + + + Initializes this datasource and applies the specified filter. + + The filter expression. + + + + Initializes this datasource, applies the specified filter and sorts the rows. + + The filter expression. + The collection of sort descriptors. + + + + Initializes this datasource and filters data rows according to the master-detail relation between + this datasource and parentData. + + Parent datasource. + + To use master-detail relation, you must define the object that describes + the relation, and add it to the Report.Dictionary.Relations collection. + + + + + Initializes this datasource and filters data rows according to the master-detail relation between + this datasource and parentData. Also applies the specified filter and sorts the rows. + + Parent datasource. + The filter expression. + The collection of sort descriptors. + + To use master-detail relation, you must define the object that describes + the relation, and add it to the Report.Dictionary.Relations collection. + + + + + Initializes this datasource and filters data rows according to the master-detail relation. + Also applies the specified filter and sorts the rows. + + The master-detail relation. + The filter expression. + The collection of sort descriptors. + + To use master-detail relation, you must define the object that describes + the relation, and add it to the Report.Dictionary.Relations collection. + + + + + Initializes the data source if it is not initialized yet. + + + + + Navigates to the first row. + + + You should initialize the datasource by the Init method before using this method. + + + + + Navigates to the next row. + + + You should initialize the datasource by the Init method before using this method. + + + + + Navigates to the prior row. + + + You should initialize the datasource by the Init method before using this method. + + + + + + + + + + + + + + Initializes a new instance of the class with default settings. + + + + + Represents the collection of objects. + + + + + Gets or sets a data source. + + The index of a data source in this collection. + The data source with specified index. + + + + Finds a datasource by its name. + + The name of a datasource. + The object if found; otherwise null. + + + + Finds a datasource by its alias. + + The alias of a datasource. + The object if found; otherwise null. + + + + Sorts data sources by their names. + + + + + Initializes a new instance of the class with default settings. + + The owner of this collection. + + + + Represents the comparer class that used for sorting the collection of data sources. + + + + + + + + Determines how to filter the data value. + + + The "Data value" is a value contained in the datasource which you filter. + The "Selected value" is a value you have entered or selected in the dialog control. + + + + + Data value is equal to selected value. + + + + + Data value is not equal to selected value. + + + + + Data value is less than selected value. + + + + + Data value is less than or equal to selected value. + + + + + Data value is greater than selected value. + + + + + Data value is greater than or equal to selected value. + + + + + Data string contains selected value. + + + + + Data string does not contain selected value. + + + + + Data string starts with selected value. + + + + + Data string does not start with selected value. + + + + + Data string ends with selected value. + + + + + Data string does not end with selected value. + + + + + This class stores all report data items such as datasources, connections, relations, parameters, + system variables. + + + You can access the report dictionary via Report.Dictionary property. + + + + + Gets a collection of connection objects available in a report. + + + + + Gets a collection of datasources available in a report. + + + Usually you don't need to use this property. It contains only datasources + registered using the RegisterData method. All other datasources are contained + in connection objects and may be accessed via property. + + + + + Gets a collection of relations. + + + + + Gets a collection of parameters. + + + Another way to access parameters is to use the Report.Parameters property + which is actually a shortcut to this property. You also may use the Report.GetParameter + and Report.GetParameterValue methods. + + + + + Gets a collection of system variables like Date, PageNofM etc. + + + Another way to access a system variable is to use the Report.GetVariableValue method. + + + + + Gets a collection of totals. + + + Another way to get a total value is to use the Report.GetTotalValue method. + + + + + Gets a collection of cubesources available in a report. + + + Usually you don't need to use this property. It contains only cubesources + registered using the RegisterData method. + + + + + Gets a list of registered items. + + + This property is for internal use only. + + + + + + + + + + + Registers a DataView. + + The DataView to register. + The name of the data object. + Determines wheter to enable the object or not. + + This method is for internal use only. + + + + + Registers a business object. + + The business object. + The name of the object. + Maximum level of data nesting. + Determines wheter to enable the object or not. + + This method is for internal use only. + + + + + Registers a CubeLink. + + The CubeLink to register. + The name of the data object. + Determines wheter to enable the object or not. + + This method is for internal use only. + + + + + Registers a data object. + + The object to register. + The name of the object. + Determines whether to enable the object or not. + + This method is for internal use only. + + + + + Unregisters the previously registered data. + + The application data. + + + + Unregisters the previously registered data. + + The application data. + The name of the data. + + You must specify the same data and name as when you call RegisterData. + + + + + Re-registers the data registered before. + + + This method is for internal use only. + + + + + Re-registers the data registered before. + + + + + + Clears all registered data. + + + + + Enables or disables relations between data tables. + + + Call this method if you create master-detail report from code. This method enables + relation between two data tables which Enabled flag is set to true. Relations + whose parent and child tables are disabled, gets disabled too. + + + + + Creates unique name for data item such as connection, datasource, relation, parameter or total. + + The base name. + The new unique name. + + Use this method to create unique name of the data item. It is necessary when you create new + items in code to avoid conflicts with existing report items. + This example show how to add a new parameter: + + Report report1; + Parameter par = new Parameter(); + par.Name = report1.Dictionary.CreateUniqueName("Parameter"); + report1.Parameters.Add(par); + + + + + + + Creates unique alias for data item such as connection, datasource or relation. + + The base alias. + The new unique alias. + + Use this method to create unique alias of the data item. It is necessary when you create new + items in code to avoid conflicts with existing report items. + This example show how to add a new table: + + Report report1; + DataConnectionBase conn = report1.Dictionary.Connections.FindByName("Connection1"); + TableDataSource table = new TableDataSource(); + table.TableName = "Employees"; + table.Name = report1.Dictionary.CreateUniqueName("EmployeesTable"); + table.Alias = report1.Dictionary.CreateUniqueAlias("Employees"); + conn.Tables.Add(table); + + + + + + + Finds a data item such as connection, datasource, relation, parameter or total by its name. + + The item's name. + The data item if found; otherwise, null. + + + + Finds a data item such as connection, datasource or relation by its alias. + + The item's alias. + The data item if found; otherwise, null. + + + + Finds a datasource that matches the specified DataTable. + + The DataTable object to check. + The DataSourceBase object if found. + + This method is for internal use only. + + + + + Finds a data component that matches the specified reference name. + + The name to check. + The DataComponentBase object if found. + + This method is for internal use only. + + + + + + + + + + + Saves the dictionary to a stream. + + Stream to save to. + + + + Saves the dictionary to a file. + + The name of a file to save to. + + + + Loads the dictionary from a stream. + + The stream to load from. + + + + Loads the dictionary from a file. + + The name of a file to load from. + + + + Merges this dictionary with another Dictionary. + + Another dictionary to merge the data from. + + + + + + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the class with default settings. + + + + + Represents the item registered in a dictionary. + + + + + Gets the item data. + + + + + Gets the item name. + + + + + Represents a report parameter that is used to pass user data to a report. + + + See for details about using parameters. + + + + + Gets or sets the name of parameter. + + + + + Gets or sets the type of parameter. + + + + + Gets or sets the value of parameter. + + + You may specify the static value in this property. Note: if the + property is not empty, it will be calculated and its value will be returned. + + + + + Gets or sets value of the parameter as a string. + + + + + Gets or sets an expression of the parameter. + + + This expression will be calculated each time you access a parameter's Value. + + + + + Gets or sets the description of a parameter. + + + + + Gets a collection of nested parameters. + + + Parameters can have child (nested) parameters. To get or set a nested + parameter's value, use the method. + + + + + Gets the full name of the parameter. This is useful to get the nested parameter's full name. + + + + + This property is not relevant to this class. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the class with default settings. + + + + + Initializes a new instance of the class with specified name. + + + + + Represents the collection of objects. + + + + + Gets or sets a parameter. + + The index of a parameter in this collection. + The parameter with specified index. + + + + Finds a parameter by its name. + + The name of a parameter. + The object if found; otherwise null. + + + + Returns an unique parameter name based on given name. + + The base name. + The unique name. + + + + Copies the parameters from other collection. + + Parameters to copy from. + + + + Initializes a new instance of the class with default settings. + + The owner of this collection. + + + + Datasource for stored procedure. + + + + + + + + + + + Query parameter for request to stored procedure. + + + + + + + + + + + + + + + + + Represents the collection of objects. + + + + + Gets or sets a relation. + + The index of a relation in this collection. + The relation with specified index. + + + + Finds a relation by its name. + + The name of a relation. + The object if found; otherwise null. + + + + Finds a relation by its alias. + + The alias of a relation. + The object if found; otherwise null. + + + + Finds a relation that is equal to specified one. + + Another relation to compare with. + The object if found; otherwise null. + + + + Initializes a new instance of the class with default settings. + + The owner of this collection. + + + + Represents a datasource based on DataView class. + + + This class is used to support FastReport.Net infrastructure, do not use it directly. + If you want to use data from DataView object, call the + method of the Report. + + + + + Represents the collection of system variables. + + + + + Represents the base class for system variables. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + + + + Returns date and time of the report's start. + + + + + + + + Returns current page number. + + + + + + + + Returns total number of pages in the report. To use this variable, you need + to enable the report's double pass. + + + + + + + + Returns a string containing the current page number in a form "Page N". + + + + + + + + Returns a string containing the current page number and total pages in a form "Page N of M". + To use this variable, you need to enable the report's double pass. + + + + + + + + Returns data row number inside the group. This value is reset at the start of a new group. + + + + + + + + Returns absolute number of data row. This value is never reset at the start of a new group. + + + + + + + + Returns current page number. + This variable is actually a macro. Its value is substituted when the component is viewed in + the preview window. That means you cannot use it in an expression. + + + + + + + + Returns the number of total pages in the report. + This variable is actually a macro. Its value is substituted when the component is viewed in + the preview window. That means you cannot use it in an expression. + + + + + + + + Returns the name of the printed copy. + This variable is actually a macro. Its value is substituted when the component is viewed in + the preview window. That means you cannot use it in an expression. + + + + + + + + Returns a level of hierarchy in the hierarchical report. + + + + + + + + Returns the row number like "1.2.1" in the hierarchical report. + + + + + + + + Represents the collection of objects. + + + + + Gets or sets a data table. + + The index of a data table in this collection. + The data table with specified index. + + + + Sorts tables by their names. + + + + + Initializes a new instance of the class with default settings. + + The owner of this collection. + + + + Specifies the total type. + + + + + The total returns sum of values. + + + + + The total returns minimal value. + + + + + The total returns maximal value. + + + + + The total returns average value. + + + + + The total returns number of values. + + + + + The total returns number of distinct values. + + + + + Represents the collection of objects. + + + + + Gets or sets a total. + + The index of a total in this collection. + The total with specified index. + + + + Finds a total by its name. + + The name of a total. + The object if found; otherwise null. + + + + Returns an unique total name based on given name. + + The base name. + The unique name. + + + + Initializes a new instance of the class with default settings. + + The owner of this collection. + + + + Represents a datasource based on DataView class. + + + This class is used to support FastReport.Net infrastructure, do not use it directly. + If you want to use data from DataView object, call the + method of the Report. + + + + + Gets the underlying DataView object. + + + + + + + + + + + + + + + + + Represents the XmlDataConnection connection string builder. + + + Use this class to parse connection string returned by the XmlDataConnection class. + + + + + Gets or sets the path to .xml file. + + + + + Gets or sets the path to .xsd file. + + + + + Initializes a new instance of the class with default settings. + + + + + Initializes a new instance of the class with + specified connection string. + + The connection string. + + + + Represents the report's designer control. + + + Usually you don't need to create an instance of this class. The designer can be called + using the method of + the instance. + This control represents pure designer surface + Objects toolbar. If you need + standard menu, statusbar, toolbars and tool windows, use the + control instead. Also you may + decide to use a designer's form () + instead of a control. + To run a designer, you need to attach a Report instance to it. This can be done via + the property. + To call the designer in MDI (Multi-Document Interface) mode, use the + property. + To set up some global properties, use the static class + or component that you can use in the Visual Studio IDE. + + + + + + + + Occurs when designer's UI state changed. + + + + + Gets or sets the edited report. + + + To initialize the designer, you need to pass a Report instance to this property. + This will create the designer's surface associated with the report. + + Designer designer = new Designer(); + designer.Parent = form1; + designer.Report = report1; + + + + + + Gets active report object. + + + May be null if Start Page selected, or no reports opened. + + + + + Gets a collection of global plugins such as menu, properties window, etc. + + + + + Gets a collection of objects on the active page of the active report. + + + + + Gets a collection of selected objects on the active page of the active report. + + + + + Gets a collection of selected objects of the ComponentBase type. + + + + + Gets a collection of selected objects of the ReportComponentBase type. + + + + + Gets a collection of selected objects of the TextObject type. + + + + + Gets or sets a value indicating that the report was modified. + + + + + Gets or sets a value that determines whether to ask user to save changes when closing the designer. + + + + + Gets the designer restrictions. + + + + + Gets or sets a value indicating that designer is run in MDI mode. + + + To call the designer in MDI (Multi-Document Interface) mode, use the following code: + + DesignerControl designer = new DesignerControl(); + designer.MdiMode = true; + designer.ShowDialog(); + + + + + + Gets or sets the visual style. + + + + + Occurs when the UIStyle property is changed. + + + + + Gets a value indicating that designer is used to edit a preview page. + + + + + Gets or sets the zoom factor. + + + + + Gets the zoom factor with respect of designer's dpi value. + + + + + The "File|New" command. + + + + + The "New Page" toolbar command. + + + + + The "New Dialog" toolbar command. + + + + + The "File|Open|Open locally." command. + + + + + The "File|Open|Open page." command. + + + + + The "File|Open|Open via Cloud." command. + + + + + The "File|Save" command. + + + + + The "File|Save to Cloud" command. + + + + + The "File|Save As..." command. + + + + + The "File|Save With Random Data..." command. + + + + + The "File|Save All" command. + + + + + The "File|Close" command. + + + + + The "Window|Close All" command. + + + + + The "File|Preview..." command. + + + + + The "File|Preview on Cloud..." command. + + + + + The "File|Printer Setup..." command. + + + + + The "File|Page Setup..." command. + + + + + The "Data|Add New Data Source..." command. + + + + + The "Data|Sort Data Sources" command. + + + + + The "Data|Choose Report Data..." command. + + + + + The "Edit|Undo" command. + + + + + The "Edit|Redo" command. + + + + + The "Edit|Cut" command. + + + + + The "Edit|Copy" command. + + + + + The "Edit|Paste" command. + + + + + The "Format Painter" toolbar command. + + + + + The "Edit|Delete" command. + + + + + The "Edit|Copy Page" command. + + + + + The "Edit|Delete Page" command. + + + + + The "Edit|Select All" command. + + + + + The "Edit|Group" command. + + + + + The "Edit|Ungroup" command. + + + + + The "Edit" command. + + + + + The "Edit|Find..." command. + + + + + The "Polygon move command" command. + + + + + The "Polygon point move" command. + + + + + The "Polygon add new point" command. + + + + + The "Polygon berier" command. + + + + + The "Polygon remove point" command. + + + + + The "Edit|Replace..." command. + + + + + The "Bring To Front" command. + + + + + The "Send To Back" command. + + + + + The "Insert" command. + + + + + The "Insert Band" command. + + + + + The "Recent Files" command. + + + + + The "File|Select Language..." command. + + + + + The "View|Start Page" command. + + + + + The "Report|Options..." command. + + + + + The "View|Options..." command. + + + + + The "Report|Styles..." command. + + + + + The "Report|Validation" command. + + + + + The "Help|Help Contents..." command. + + + + + The "Help|Account" command. + + + + + The "Help|About..." command. + + + + + The "Show welcome window..." command. + + + + + Gets or sets the layout state of the designer. + + + This property is used to store layout in Visual Studio design time. You may also use + it to save and restore the designer's layout in your code. However, consider using the + and methods that use FastReport + configuration file. + + + + + Fires when the layout is changed. + + + This event is for internal use only. + + + + + Updates UI style of the designer. + + + + + Initializes designer plugins such as toolbars and toolwindows. + + + + + Zooms the report to page width. + + + + + Zooms the report to whole page. + + + + + Cancels paste mode. + + + + + AutoSave system initialization. + + + + + Stops the AutoSave system. + + + + + Call this method if you change something in the report. + + + This method adds the current report state to the undo buffer and updates all plugins. + + + + + Call this method if you change something in the report. + + The object that was modified. + The undo action name. + + This method adds the current report state to the undo buffer and updates all plugins. + + + + + Call this method if you change something in the report. + + The object that was modified. + The undo action name. + The name of modified object. + + + + Call this method to tell the designer that current selection is changed. + + The plugin that changes the selection (may be null). + + + + Locks all plugins. + + + This method is usually called when we destroy the report to prevent unexpected + errors - such as trying to draw destroyed objects. + + + + + Unlocks all plugins. + + + Call this method after the Lock. + + + + + Call this method to refresh all plugins' content. + + The plugin that we don't need to refresh. + + + + Updates localization of the designer. + + + + + Updates layout and images on dpi change. + + The sender object. + + + + Checks if parent window can be closed. + + The cancel event args. + + Use this method in the window's FormClosing event handler if you use this control. + This method checks if the embedded preview is running and cancels it. Also if there is unsaved changes, the user will be asked to save changes. + + + + + Saves config to a FastReport configuration file. + + + + + Restores config from a FastReport configuration file. + + + Call this method to restore the designer's layout. You need to do this after the + designer's control is placed on a form. + + + + + Refresh the designer's toolbars and toolwindows layout. + + + Call this method if you use + DesignerControl. To restore + the layout that you've created in VS design time, you need to call this method in the form's + Load event handler. If you don't do this, tool windows like Properties, Data, Report Tree + will not be available. + + + + + + + + + + + Initializes the workspace after the new report is loaded. + + + + + Tries to create a new empty report. + + true if report was created successfully; false if user cancels the action. + + + + Displays a message in the "Messages" window. + + Message text. + + + + Clears the "Messages" window. + + + + + Shows the selected object's information in the designer's statusbar. + + Object's location. + Object's size. + Textual information about the selected object. + The location of the lower-right corner of the object's. + + + + Close all opened reports, ask to save changes. + + true if all tabs closed succesfully. + + Use this method to close all opened documents and save changes when you closing the main form + that contains the designer control. To do this, create an event handler for your form's FormClosing + event and call this method inside the handler. If it returns false, set e.Cancel to true. + + + + + Initializes a new instance of the class with default settings. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets storage service. + + + + + Represent ruler with guides for forms of editors + + + + + Get or set left indent position + + + + + Get or set right indent position + + + + + Gets or sets tab positiions + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Method for drawing guides on element of form. + + + + + + + Base class for elements of RulerWithGuides + + + + + Get or set bounds of object + + + + + Get or set state of object + + + + + Draw element on graphics + + + + + + Method for moving object by means of chenging bounds + + + + + + Element of RulerWithGuides presenting position of tabs + + + + + Constructor of class TabPosition + + + + + + + + + + + + Represents the standard report designer. + + + This control extends the control with + standard menu, status bar, and toolbars. + To choose toolbars and tool windows in design-time, click the "View" menu + in this control and select what you want to see. Toolbars can be reordered using the mouse. + To restore the designer layout at runtime, you need to call the + RefreshLayout method in your + form's Load event handler. + + + + + Gets the main menu. + + + + + Gets or sets a value indicating whether the main menu should be displayed or not. + + + + + Gets or sets a value indicating whether the status bar should be displayed or not. + + + + + + + + + + + + + + Initializes a new instance of the class with default settings. + + + + + Represents standard designer's form. + + + This form contains the . Use the + property to get access to this control. + Usually you don't need to create an instance of this class. The designer can be called + using the method of + the instance. + If you decided to use this class, you need: + + + create an instance of this class; + + + set the Designer.Report property to report that you need to design; + + + call either ShowModal or Show methods to display a form. + + + + + + + Gets a reference to the control which is actually a designer. + + + + + Gets a list of File menu buttons + + + + + Creates a new instance of the class with default settings. + + + + + Creates a new instance of the class with default settings. + + enables welcome window + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Represents the designer's main menu. + + + To get this menu, use the following code: + + Designer designer; + DesignerMenu menu = designer.Plugins.FindType("DesignerMenu") as DesignerMenu; + + + + + + The "File" menu. + + + + + The "File|New..." menu. + + + + + The "File|Open..." menu. + + + + + The "File|Open page..." menu. + + + + + The "File|Open via Cloud..." menu. + + + + + The "File|Recent Files" menu. + + + + + The "File|Close" menu. + + + + + The "File|Save" menu. + + + + + The "File|Save as..." menu. + + + + + The "File|Save with random data..." menu. + + + + + The "File|Save All" menu. + + + + + The "File|Save to Cloud..." menu. + + + + + The "File|Page Setup..." menu. + + + + + The "File|Printer Setup..." menu. + + + + + The "File|Preview..." menu. + + + + + The "File|Web preview..." menu. + + + + + The "File|Select Language" menu. + + + + + The "File|Exit" menu. + + + + + The "Edit" menu. + + + + + The "Edit|Undo" menu. + + + + + The "Edit|Redo" menu. + + + + + The "Edit|Cut" menu. + + + + + The "Edit|Copy" menu. + + + + + The "Edit|Paste" menu. + + + + + The "Edit|Delete" menu. + + + + + The "Edit|NewPage" menu. + + + + + The "Edit|Copy Page" menu. + + + + + The "Edit|Delete Page" menu. + + + + + The "Edit|Select All" menu. + + + + + The "Edit|Group" menu. + + + + + The "Edit|Ungroup" menu. + + + + + The "Edit|Find..." menu. + + + + + The "Edit|Replace..." menu. + + + + + The "View" menu. + + + + + The "View|Toolbars" menu. + + + + + The "View|Start Page" menu. + + + + + The "View|Options..." menu. + + + + + The "Insert" menu. + + + + + The "Report" menu. + + + + + The "Report|Validation" menu. + + + + + The "Report|Options..." menu. + + + + + The "Data" menu. + + + + + The "Data|Choose Report Data..." menu. + + + + + The "Data|Add Data Source..." menu. + + + + + The "Data|Show Data Dictionary" menu. + + + + + The "Window" menu. + + + + + The "Window|Close All" menu. + + + + + The "Help" menu. + + + + + The "Help|Help Contents..." menu. + + + + + The "Help|About..." menu. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new menu item. + + New menu item. + + + + Creates a new menu item. + + Click handler. + New menu item. + + + + Creates a new menu item. + + Item's image index. + Click handler. + New menu item. + + + + Creates a new menu item. + + Item's text. + Click handler. + New menu item. + + + + Creates a new menu item. + + Item's image index. + Item's text. + Click handler. + New menu item. + + + + Initializes a new instance of the class with default settings. + + The report designer. + + + + Represents the designer's statusbar. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Updates the information about location and size. + + The location. + The size. + + + + Updates the name and text information. + + The text. + + + + Initializes a new instance of the class with default settings. + + The report designer. + + + + Base class for all designer toolbars. + + + Use this class to write own designer's toolbar. To do this: + - in the constructor, set the Name property and create toolbar buttons. + The Name will be used to restore toolbar's state; + - override the SelectionChanged method. This method is called when current selection + is changed. In this method, you should update buttons state to reflect the current selection. + Selected objects can be accessed via Designer.SelectedObjects property; + - override the UpdateContent method. This method is called when the report + content was changed. Typically you need to do the same actions in SelectionChanged and + UpdateContent methods; + - to register a toolbar, add its type to the global collection: + + DesignerPlugins.Add(typeof(MyToolbar)); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the class with default settings. + + The report designer. + + You don't need to call this constructor. The designer will do this automatically. + + + + + Base class for all tool windows such as "Properties", "Data Dictionary" etc. + + + Use this class to create own tool window. To do this: + - in the constructor, set the Name and Image properties and create necessary controls. + The Name will be used to restore window's state; + - override the SelectionChanged method. This method is called when current selection + is changed. In this method, you should update buttons state to reflect the current selection. + Selected objects can be accessed via Designer.SelectedObjects property; + - override the UpdateContent method. This method is called when the report + content was changed. Typically you need to do the same actions in SelectionChanged and + UpdateContent methods; + - to register a toolwindow, add its type to the global collection: + + DesignerPlugins.Add(typeof(MyToolWindow)); + + + + + + + Gets the report designer. + + + + + Gets a value indicating that window is locked. + + + + + + + + Gets or sets shortcut keys used to show this toolwindow. + + + + + Gets or sets a value indicating that the toolwindow can be closed by the x button. + + + + + Gets the control collection. + + + + + Shows the toolwindow. + + + + + Hides the toolwindow. + + + + + + + + + + + + + + + + + + + + + + + + + + Implements method. + + The options page, if implemented; otherwise, null. + + + + + + + + + + Initializes a new instance of the class with default settings. + + The report designer. + + You don't need to call this constructor. The designer will do this automatically. + + + + + Represents the "Data Dictionary" window. + + + + + + + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the class with default settings. + + The report designer. + + + + Describes an item dragged from the "Data Dictionary" window. + + + + + The dragged object. + + + + + The text of dragged object. + + + + + Collection of dragged items. + + + + + Extends the class for window with filterable TreeView. + + + + + + + + This method puts data to TreeView. + + + + + Searches for matches in + based on the text entered in the text field . + + + + + The method is needed to save focus on the selected node after performing operations; works only for WinForms.
+
+ The path to the node in the DataTree tree. +
+ + + Initializes a new instance of the class with default settings. + + The report designer. + + + + + + + + + + + + + Represents the "Messages" window. + + + To get this window, use the following code: + + Designer designer; + MessagesWindow window = designer.Plugins.FindType("MessagesWindow") as MessagesWindow; + + + + + + Clears the message list. + + + + + Adds a new message. + + The message text. + The name of object related to a message. + Determines whether the message is an error or a warning. + + + + Adds a new script-related message. + + The message text. + The line of the script. + The column of the script. + + + + + + + + + + + + + Initializes a new instance of the class with default settings. + + The report designer. + + + + Represents the "Properties" window. + + + + + Gets or sets a value indicating that properties are filtered. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the class with default settings. + + The report designer. + + + + Represents the "Report Tree" window. + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the class with default settings. + + The report designer. + + + + Import RichTextFile to a report + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a specified designer. + + The report designer. + + + + + + + + + + Represents the DevExpess import plugin. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a specified designer. + + The report designer. + + + + + + + Represents the JasperReports import plugin. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a specified designer. + + The report designer. + + + + + + + + + + Represents the List and Label import plugin. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a specified designer. + + The report designer. + + + + + + + + + + + + + Represents the RDL import plugin. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a specified designer. + + The report designer. + + + + + + + + + + Represents the StimulSoft import plugin. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a specified designer. + + The report designer. + + + + + + + + + + The base class for all designer commands. + + + + + Gets a value indicating that the command is enabled. + + + If you use own controls that invoke designer commands, use this property to refresh + the Enabled state of a control that is bound to this command. + + + + + Defines a custom action for this command. + + + Using custom action, you can override the standard behavior of this designer's command. + + + This example demonstrates how to override the "New..." command behavior. + + // add an event handler that will be fired when the designer is run + Config.DesignerSettings.DesignerLoaded += new EventHandler(DesignerSettings_DesignerLoaded); + + void DesignerSettings_DesignerLoaded(object sender, EventArgs e) + { + // override "New..." command behavior + (sender as Designer).cmdNew.CustomAction += new EventHandler(cmdNew_CustomAction); + } + + void cmdNew_CustomAction(object sender, EventArgs e) + { + // show the "Label" wizard instead of standard "Add New Item" dialog + Designer designer = sender as Designer; + LabelWizard wizard = new LabelWizard(); + wizard.Run(designer); + } + + + + + + Gets a value for the Enabled property. + + true if command is enabled. + + + + Invokes the command. + + + + + Invokes the command with specified sender and event args. + + Sender. + Event args. + + This method is compatible with standard and can be passed + to the event handler constructor directly. + + + + + Represents the "File|New" command. + + + + + + + + + + + Represents the "New Page" toolbar command. + + + + + + + + + + + Represents the "New Dialog" toolbar command. + + + + + + + + + + + Represents the "File|Open..." command. Also can be used for loading a file + from the recent files list. + + + + + + + + + + + Loads a specified report file. + + File to load. + true to suppress message dialog if load is failed. + + + + Represents the "File|Open page..." command. + + + + + + + + + + + Loads report file and paginating it. + + File to load. + + + + + Represents the "File|Open from Cloud..." command. Also can be used for loading a file + from the recent files list. + + + + + + + + + + + Loads file from the recent files list. + + File name. + File ID. + + + + Represents the "File|Save" command. + + + + + + + + + + + Represents the "File|Save to Cloud" command. + + + + + + + + + + + Represents the "File|Save As..." command. + + + + + + + + + + + Represents the "File|Save With Random Data..." command. + + + + + + + + + + + Represents the "File|Save All" command. + + + + + + + + + + + Represents the "File|Close" command. + + + + + + + + + + + Represents the "Window|Close All" command. + + + + + + + + Represents the "File|Preview..." command. + + + + + + + + + + + Represents the "File|Preview on Cloud..." command. + + + + + + + + + + + Represents the "File|Page Setup..." command. + + + + + + + + + + + Represents the "Report|Options..." command. + + + + + + + + + + + Represents the "File|Printer Setup..." command. + + + + + + + + + + + Represents the "Edit|Undo" command. + + + + + + + + + + + Undo several actions. + + Number of actions to undo. + + + + Represents the "Edit|Redo" command. + + + + + + + + + + + Redo several actions. + + Number of actions to redo. + + + + Represents the "Edit|Cut" command. + + + + + + + + + + + Represents the "Edit|Copy" command. + + + + + + + + Represents the "Edit|Copy Page" command. + + + + + + + + + + + Represents the "Edit|Paste" command. + + + + + + + + + + + Represents the "Format Painter" toolbar command. + + + + + + + + + + + Represents the "Edit|Delete" command. + + + + + + + + + + + Represents the "Edit|Delete Page" command. + + + + + + + + + + + Represents the "Edit|Select All" command. + + + + + + + + + + + Represents the "Edit|Group" command. + + + + + + + + + + + Represents the "Edit|Ungroup" command. + + + + + + + + Represents the "Edit" command. + + + + + + + + + + + Represents the "Edit|Find..." command. + + + + + + + + + + + Represents the "Edit|Replace..." command. + + + + + Represents the "Bring To Front" context menu command. + + + + + + + + + + + Represents the "Send To Back" context menu command. + + + + + + + + Represents the "Insert" command. + + + This command has no default action associated with it. Check the Enabled property + to see if the insert operation is enabled. + + + + + + + + Represents the "Insert Band" command. + + + This command has no default action associated with it. Check the Enabled property + to see if the insert operation is enabled. + + + + + + + + Represents the "Data|Add Data Source..." command. + + + + + + + + + + + Represents the "Data|Sort Data Sources" command. + + + + + + + + + + + Represents the "Data|Choose Report Data..." command. + + + + + + + + + + + Represents the "Recent Files" command. + + + This command has no default action associated with it. Check the Enabled property + to see if the recent files list is enabled. + + + + + + + + Returns true if the file specified is a cloud file. + + File name to check. + true if file is a cloud file. + + + + Opens a recent file with specified name either from local PC or from cloud. + + File name to open. + + + + Represents the "File|Select Language..." command. + + + + + + + + Represents the "View|Options..." command. + + + + + + + + Represents the "View|Start Page" command. + + + + + + + + + + + Represents the "Select polygon move" command. + + + + + + + + + + + Represents the "Report|Styles..." command. + + + + + + + + + + + Represents the "Report|Validation" command. + + + + + + + + + + + Represents the "Help|Account" command. + + + + + + + + + + + Represents the "Help|Help Contents..." command. + + + + + + + + + + + Represents the "Help|About..." command. + + + + + + + + Represents the "Show welcome window..." command. + + + + + + + + + + + Provides a data for the designer ReportLoaded event. + + + + + The current report. + + + + + Represents the method that will handle the designer ReportLoaded event. + + The source of the event. + The event data. + + + + Provides a data for the designer ObjectInserted event. + + + + + Gets the inserted object. + + + + + Gets the source where the object is inserted from. + + + + + Represents the method that will handle the designer ObjectInserted event. + + The source of the event. + The event data. + + + + Provides a data for the designer's custom dialog events. + + + + + Gets or sets a file name. + + + This property contains the location of a report. If you work with files (like the + standard "Open" and "Save" dialogs do), treat this property as a file name. + + + + + Gets or sets a value indicating that the dialog was cancelled. + + + This property is used to tell the designer that the user was cancelled the dialog. + + + + + Gets or sets the custom data that is shared across events. + + + You may set the Data in the OpenDialog event and use it later in the OpenReport event. + + + + + Gets a report designer. + + + + + Represents the method that will handle the designer's custom dialogs event. + + The source of the event. + The event data. + + + + Provides a data for the designer's custom dialog events. + + + + + Gets a report. + + + Use this report in the load/save operations. + + + + + Gets a file name. + + + This property contains the location of a report that was selected by the user in the + open/save dialogs. If you work with files (like the standard "Open" and "Save" dialogs do), + treat this property as a file name. + + + + + Gets the custom data that was set in the OpenDialog event. + + + + + Represents the method that will handle the designer's custom dialogs event. + + The source of the event. + The event data. + + + + Provides data for the FilterConnectionTables event. + + + + + Gets the Connection object. + + + + + Gets the table name. + + + + + Gets or sets a value that indicates whether this table should be skipped. + + + + + Represents the method that will handle the FilterConnectionTables event. + + The source of the event. + The event data. + + + + Provides data for the CustomQueryBuilder event. + + + + + Gets the Connection object. + + + + + Gets or sets the query text. + + + + + Gets or sets the query parameters. + + + + + Represents the method that will handle the CustomQueryBuilder event. + + The source of the event. + The event data. + + + + Represents list of registered design plugins. + + + + + Adds a new plugin's type. + + The type of a plugin. + + + + Represents a set of designer's restrictions. + + + + + Gets or sets a value that enables or disables the "Open" action. + + + + + Gets or sets a value that enables or disables the "Save/Save as" actions. + + + + + Gets or sets a value that enables or disables the "New..." action. + + + + + Gets or sets a value that enables or disables the "Preview" action. + + + + + Gets or sets a value that enables or disables the recent files list. + + + + + Gets or sets a value that enables or disables the "Code" tab. + + + + + Gets or sets a value that enables or disables the "Data" menu. + + + + + Gets or sets a value that enables or disables the "Data|Add New Data Source..." menu. + + + + + Gets or sets a value that enables or disables the "Data|Sort Data Sources" menu. + + + + + Gets or sets a value that enables or disables the "Report|Options..." menu. + + + + + Gets or sets a value that enables or disables insertion of objects. + + + + + Gets or sets a value that enables or disables the insertion of bands. + + + + + Gets or sets a value that enables or disables the "Delete Page" action. + + + + + Gets or sets a value that enables or disables the creation of report/dialog pages. + + + + + Gets or set a value that enables or disbles the "Copy Page" action. + + + + + Gets or sets a value that enables or disables the "Page Setup" action. + + + + + Copies the contents of another, similar object. + + Source object to copy the contents from. + + + + Creates exact copy of this object. + + The copy of this object. + + + + This class contains settings that will be applied to the report designer. + + + + + Occurs when the designer is loaded. + + + Use this event if you want to customize some aspects of the designer, for example, + to hide some menu items. + + + This example demonstrates how to hide the "File|Select Language..." menu item. + + Config.DesignerSettings.DesignerLoaded += new EventHandler(DesignerSettings_DesignerLoaded); + + void DesignerSettings_DesignerLoaded(object sender, EventArgs e) + { + (sender as DesignerControl).MainMenu.miFileSelectLanguage.Visible = false; + } + + + + + + Occurs when the designer is closed. + + + + + Occurs when the report is loaded. + + + + + Occurs when a report page or a dialog form is added to the report. + + + Use this event if you want to customize the page properties. + + + This example demonstrates how to change the default page margins. + + Config.DesignerSettings.PageAdded += new EventHandler(DesignerSettings_PageAdded); + + void DesignerSettings_PageAdded(object sender, EventArgs e) + { + if (sender is ReportPage) + (sender as ReportPage).TopMargin = 0; + } + + + + + + Occurs when object is inserted. + + + + + Occurs when the report designer is about to show the "Open" dialog. + + Use this event to attach own "Open" dialog to the designer. In the event handler, you must + display a dialog window to allow user to choose a report file. + If dialog was executed successfully, you must return e.Cancel = false and set the + e.FileName to the selected file name. + You also need to use event to provide code that + will open the report. + + + This example shows how to attach own "Open" and "Save" dialogs to the designer. + It uses the following events: , , + , . + + private void CustomOpenDialog_Handler(object sender, OpenSaveDialogEventArgs e) + { + using (OpenFileDialog dialog = new OpenFileDialog()) + { + dialog.Filter = "Report files (*.frx)|*.frx"; + + // set e.Cancel to false if dialog was succesfully executed + e.Cancel = dialog.ShowDialog() != DialogResult.OK; + // set e.FileName to the selected file name + e.FileName = dialog.FileName; + } + } + + private void CustomSaveDialog_Handler(object sender, OpenSaveDialogEventArgs e) + { + using (SaveFileDialog dialog = new SaveFileDialog()) + { + dialog.Filter = "Report files (*.frx)|*.frx"; + // get default file name from e.FileName + dialog.FileName = e.FileName; + + // set e.Cancel to false if dialog was succesfully executed + e.Cancel = dialog.ShowDialog() != DialogResult.OK; + // set e.FileName to the selected file name + e.FileName = dialog.FileName; + } + } + + private void CustomOpenReport_Handler(object sender, OpenSaveReportEventArgs e) + { + // load the report from the given e.FileName + e.Report.Load(e.FileName); + } + + private void CustomSaveReport_Handler(object sender, OpenSaveReportEventArgs e) + { + // save the report to the given e.FileName + e.Report.Save(e.FileName); + } + + + + + + Occurs when the report designer is about to show the "Save" dialog. + + Use this event to attach own "Save" dialog to the designer. In the event handler, you must + display a dialog window to allow user to choose a report file. + If dialog was executed successfully, you must return e.Cancel = false and set the + e.FileName to the selected file name. + You also need to use event to provide code that + will save the report. + + + This example shows how to attach own "Open" and "Save" dialogs to the designer. + It uses the following events: , , + , . + + private void CustomOpenDialog_Handler(object sender, OpenSaveDialogEventArgs e) + { + using (OpenFileDialog dialog = new OpenFileDialog()) + { + dialog.Filter = "Report files (*.frx)|*.frx"; + + // set e.Cancel to false if dialog was succesfully executed + e.Cancel = dialog.ShowDialog() != DialogResult.OK; + // set e.FileName to the selected file name + e.FileName = dialog.FileName; + } + } + + private void CustomSaveDialog_Handler(object sender, OpenSaveDialogEventArgs e) + { + using (SaveFileDialog dialog = new SaveFileDialog()) + { + dialog.Filter = "Report files (*.frx)|*.frx"; + // get default file name from e.FileName + dialog.FileName = e.FileName; + + // set e.Cancel to false if dialog was succesfully executed + e.Cancel = dialog.ShowDialog() != DialogResult.OK; + // set e.FileName to the selected file name + e.FileName = dialog.FileName; + } + } + + private void CustomOpenReport_Handler(object sender, OpenSaveReportEventArgs e) + { + // load the report from the given e.FileName + e.Report.Load(e.FileName); + } + + private void CustomSaveReport_Handler(object sender, OpenSaveReportEventArgs e) + { + // save the report to the given e.FileName + e.Report.Save(e.FileName); + } + + + + + + Occurs when the report designer is about to load the report. + + This event is used together with the event. + Use this event to attach own "Open" dialog to the designer. In the event handler, you must + load the e.Report from the location specified in the e.FileName property. + For example, if you work with files: e.Report.Load(e.FileName); + + + This example shows how to attach own "Open" and "Save" dialogs to the designer. + It uses the following events: , , + , . + + private void CustomOpenDialog_Handler(object sender, OpenSaveDialogEventArgs e) + { + using (OpenFileDialog dialog = new OpenFileDialog()) + { + dialog.Filter = "Report files (*.frx)|*.frx"; + + // set e.Cancel to false if dialog was succesfully executed + e.Cancel = dialog.ShowDialog() != DialogResult.OK; + // set e.FileName to the selected file name + e.FileName = dialog.FileName; + } + } + + private void CustomSaveDialog_Handler(object sender, OpenSaveDialogEventArgs e) + { + using (SaveFileDialog dialog = new SaveFileDialog()) + { + dialog.Filter = "Report files (*.frx)|*.frx"; + // get default file name from e.FileName + dialog.FileName = e.FileName; + + // set e.Cancel to false if dialog was succesfully executed + e.Cancel = dialog.ShowDialog() != DialogResult.OK; + // set e.FileName to the selected file name + e.FileName = dialog.FileName; + } + } + + private void CustomOpenReport_Handler(object sender, OpenSaveReportEventArgs e) + { + // load the report from the given e.FileName + e.Report.Load(e.FileName); + } + + private void CustomSaveReport_Handler(object sender, OpenSaveReportEventArgs e) + { + // save the report to the given e.FileName + e.Report.Save(e.FileName); + } + + + + + + Occurs when the report designer is about to save the report. + + This event is used together with the event. + Use this event to attach own "Save" dialog to the designer. In the event handler, you must + save the e.Report to the location specified in the e.FileName property. + For example, if you work with files: e.Report.Save(e.FileName); + + + This example shows how to attach own "Open" and "Save" dialogs to the designer. + It uses the following events: , , + , . + + private void CustomOpenDialog_Handler(object sender, OpenSaveDialogEventArgs e) + { + using (OpenFileDialog dialog = new OpenFileDialog()) + { + dialog.Filter = "Report files (*.frx)|*.frx"; + + // set e.Cancel to false if dialog was succesfully executed + e.Cancel = dialog.ShowDialog() != DialogResult.OK; + // set e.FileName to the selected file name + e.FileName = dialog.FileName; + } + } + + private void CustomSaveDialog_Handler(object sender, OpenSaveDialogEventArgs e) + { + using (SaveFileDialog dialog = new SaveFileDialog()) + { + dialog.Filter = "Report files (*.frx)|*.frx"; + // get default file name from e.FileName + dialog.FileName = e.FileName; + + // set e.Cancel to false if dialog was succesfully executed + e.Cancel = dialog.ShowDialog() != DialogResult.OK; + // set e.FileName to the selected file name + e.FileName = dialog.FileName; + } + } + + private void CustomOpenReport_Handler(object sender, OpenSaveReportEventArgs e) + { + // load the report from the given e.FileName + e.Report.Load(e.FileName); + } + + private void CustomSaveReport_Handler(object sender, OpenSaveReportEventArgs e) + { + // save the report to the given e.FileName + e.Report.Save(e.FileName); + } + + + + + + Occurs when previewing a report from the designer. + + + Use this event to show own preview window. + + + + Config.DesignerSettings.CustomPreviewReport += new EventHandler(MyPreviewHandler); + + private void MyPreviewHandler(object sender, EventArgs e) + { + Report report = sender as Report; + using (MyPreviewForm form = new MyPreviewForm()) + { + report.Preview = form.previewControl1; + report.ShowPreparedReport(); + form.ShowDialog(); + } + } + + + + + + Occurs when getting available table names from the connection. + + + Use this handler to filter the list of tables returned by the connection object. + + + This example demonstrates how to hide the table with "Table 1" name from the Data Wizard. + + Config.DesignerSettings.FilterConnectionTables += DesignerSettings_FilterConnectionTables; + + private void DesignerSettings_FilterConnectionTables(object sender, FilterConnectionTablesEventArgs e) + { + if (e.TableName == "Table 1") + e.Skip = true; + } + + + + + + Occurs when the query builder is called. + + + Subscribe to this event if you want to replace the embedded query builder with your own one. + + + + + Gets or sets the icon for the designer window. + + + + + Gets or sets the default font used in a report. + + + + + Gets or sets a value indicating whether the designer window is displayed in the Windows taskbar. + + + + + Gets the designer restrictions flags. + + + + + Gets or sets the title text for the designer window. + + + If no text is set, the default text "FastReport -" will be used. + + + + + Gets or sets a value indicating whether the preview window is embedded into the designer form. + + + + + Gets or sets application-defined DbConnection object that will be used in the designer + to create a new datasource. + + + The application connection object is used in the "Data Wizard" to create new datasources. + In this mode, you can't create any other connections in the wizard; only application + connection is available. You still able to choose tables or create a new queries inside + this connection. The connection information (ConnectionString) is not stored in the report file. + + + + + Gets the toolstrip renderer. + + + + + Adds a custom connection used in the "Data Wizard" window. + + + Use this method to provide own connection strings for the "Data Wizard" dialog. To do this, you need + to pass the type of connection object and connection string associated with it. You must use one of the + connection objects registered in FastReport that inherit from the + class. + To clear the custom connections, use the method. + + + This example shows how to add own connection string. + + Config.DesignerSettings.AddCustomConnection(typeof(MsAccessDataConnection), @"Data Source=c:\data.mdb"); + + + + + + Clears the custom connections added by the AddCustomConnection method. + + + + + Initializes a new instance of the class. + + + + + Base class for all export plugins. + + + + + Gets or sets the name of plugin. + + + + + Gets or sets the filter string used in the "Save File" dialog. + + + + + Gets or sets reference to the designer. + + + + + Gets or sets reference to the report. + + + + + Initializes a new instance of the class with default settings. + + + + + Initializes a new instance of the class with a specified designer. + + The report designer. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Returns a file filter for a save dialog. + + String that contains a file filter, for example: "Bitmap image (*.bmp)|*.bmp" + + + + Saves the specified report into specified file. + + Report object. + File name. + + + + Represents the FR3 export plugin. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a specified designer. + + The report designer. + + + + + + + + + + The FR3 units converter. + + + + + Converts Color to TColor. + + Color value. + String that contains TColor value. + + + + Converts font style. + + FontStyle value. + String that contains converted value. + + + + Converts horizontal alignment of text. + + HorzAlign value. + String that contains converted value. + + + + Converts vertical alignment of text. + + VertAlign value. + String that contains coverted value. + + + + Converts font size to delphi font height. + + Font size value. + String that contains font height value. + + + + Convert line style to frame style. + + Line style value. + String that contains converted value. + + + + Converts barcode type. + + BarcodeBase instance. + String that contains converted value. + + + + Converts BorderLines value. + + BorderLines instance. + String that contains converted value. + + + + Converts CheckedSymbol value. + + CheckeSymbol instance. + String that contains converted value. + + + + Converts ScaleDock value. + + ScaleDock instance. + String that contains converted value. + + + + Converts DashStyle value. + + DashStyle instance. + String that contains converted value. + + + + Converts TotalType value. + + TotalType instance. + String that contains converted value. + + + + Converts MapLabelKind value. + + MapLabelKind instance. + String that contains converted value. + + + + Converts MapPalette value. + + MapPalette instance. + String that contains converted value. + + + + Converts ShapeKind value. + + ShapeKind instance. + String that contains coverted value. + + + + Represents the RDL export plugin. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a specified designer. + + The report designer. + + + + + + + + + + The FR units converter. + + + + + Converts the float size in pixels to string value in millimeters. + + The float value in pixels. + The string value in millimeters. + + + + Converts the float size in millimeters to string value in millimeters. + + The float value in millimeters. + The string value in millimeters. + + + + Converts the bool value to string. + + The bool value. + The string value. + + + + Converts the int size in pixels to string value in pt. + + The int value in pixels. + The string value in pt. + + + + Converts the Color value to string. + + The Color value. + The string representation of Color value. + + + + Converts the LineStyle value to RDL BorderStyle value. + + The LineStyle value. + The string with RDL BorderStyle value. + + + + Converts the GradientStyle value to RDL GradientType value. + + The GradientStyle value. + The string with RDL GradientType value. + + + + Converts the FontStyle value to RDL FontStyle value. + + The FontStyle value. + The string with RDL FontStyle value. + + + + Converts the FontFamily value to RDL FontFamily value. + + The FontFamily value. + The string with RDL FontFamily value. + + + + Converts the HorzAlign value to RDL TextAlign value. + + The HorzAlign value. + The string with RDL TextAling value. + + + + Converts the VertAling value to RDL VerticalAling value. + + The VertAling value. + The string with RDL VerticalAlign value. + + + + Converts the Angle value to RDL WritingMode value. + + The Angle value. + The string with RDL WritingMode value. + + + + Converts the FontSize value to RDL FontSize value. + + The FontSize value. + The string with RDL FontSize value. + + + + Converts the PictureBoxSizeMode value to RDL Sizing value. + + The PictureBoxSizeMode value. + The string with RDL Sizing value. + + + + Converts the SeriesChartType value to RDL Chart.Type value. + + The SeriesChartType value. + The string with RDL Chart.Type value. + + + + Converts the ChartColorPalette value to RDL Chart.Palette value. + + The ChartColorPalette value. + The string with RDL Chart.Palette value. + + + + Converts the Legend.Docking and Legend.Alignment values to RDL Chart.Legend.Position value. + + The Legend.Docking value. + The Legend.Alignment value. + The string with RDL Chart.Legend.Position value. + + + + Converts the LegendStyle value to Chart.Legend.Layout value. + + The LegendStyle value. + The string with RDL Chart.Legend.Layout value. + + + + Converts the LightStyle value to RDL Shading value. + + The LightStyle value. + The string with RDL Shading value. + + + + Converts the ChartDashStyle value to RDL BorderStyle value. + + The ChartDashStyle value. + The string with RDL ChartDahsStyle value. + + + + Converts the ContentAlignment value to RDL TextAlign value. + + The ContentAlignment value. + The string with RDL TextAlign value. + + + + Converts the ContentAlignment value to RDL VerticalAlign value. + + The ContentAlignment value. + The string with RDL VerticalAlign value. + + + + Converts the AxisEnabled value to RDL Axis.Visible value. + + The AxisEnabled value. + The string with RDL Axis.Visible value. + + + + Converts the TickMarkStyle value to RDL TickMarkStyle value. + + The TickMarkStyle value. + The string with RDL TickMarkStyle value. + + + + Converts the StringAlignment value to RDL TextAlign value. + + The StringAlignment value. + The string with RDL TextAlign value. + + + + Provides functionality required for report designer form. + + + + + Gets the designer control. + + + + + Provides functionality required for report designer plugins such as toolbars and toolwindows. + + + + + Gets the plugin name. + + + + + Saves the plugin state. + + This example shows how to save the state: + + public void SaveState() + { + XmlItem xi = Config.Root.FindItem("Designer").FindItem(Name); + xi.SetProp("ShowGrid", DialogWorkspace.ShowGrid ? "1" : "0"); + } + + + + + + Restores the plugin state. + + This example shows how to restore the state: + + public void RestoreState() + { + XmlItem xi = Config.Root.FindItem("Designer").FindItem(Name); + DialogWorkspace.ShowGrid = xi.GetProp("ShowGrid") != "0"; + } + + + + + + Updates plugin state when current selection was changed. + + + Typically you need to do the same work in the and + methods. + + + + + Updates plugin state when the report was modified. + + + Typically you need to do the same work in the and + methods. + + + + + Locks the plugin. + + + This method is called by the designer when report is loading. It may be needed to disable + some operations (like painting) that use the report. + + + + + Unlocks the plugin. + + This method is called by the designer when report is loaded. It follows the Lock + method call and must reset the lock. + + + + Localizes the plugin. + + + This method is called by the designer when current localization is changed. + + + + + Gets an options page that will be used in the Designer Options dialog to edit the plugin options. + + The options page, if implemented; otherwise, null. + + + + Updates UI style of the plugin. + + + The plugin should update its style according to the designer's UIStyle property. + + + + + Updates layout on dpi change. + + + + + Base class for all import plugins. + + + + + Gets or sets the name of plugin. + + + + + Gets or sets the filter string used in the "Open File" dialog. + + + + + Gets or sets reference to the designer. + + + + + Gets or sets reference to the report. + + + + + + + + Gets or sets reference to the import. + + + + + Initializes a new instance of the class with default settings. + + + + + Initializes a new instance of the class with a specified designer. + + The report designer. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Returns a file filter for a open dialog. + + String that contains a file filter, for example: "Bitmap image (*.bmp)|*.bmp" + + + + Loads the specified file into specified report. + + Report object. + File name. + + + + Loads the specified file into specified report from stream. + + Report object. + File stream. + + + + Represents collection of designer plugins. + + + This class is used in the Designer.Plugins property. + To register own plugin, add its type to the global collection: + + DesignerPlugins.Add(typeof(MyToolbar)); + + + + + + + Finds a plugin by its name. + + The plugin's name. + The plugin, if found; otherwise, null. + This example shows how to find a plugin. + + MessagesWindow window = designer.Plugins.Find("MessagesWindow") as MessagesWindow; + + + + + + Finds a plugin by its type name. + + The plugin's type name. + The plugin, if found; otherwise, null. + This example shows how to find a plugin. + + MessagesWindow window = designer.Plugins.FindType("MessagesWindow") as MessagesWindow; + + + + + + The "NewReportPage" menu item. + + + + + The "NewDialog" menu item. + + + + + Implements base behavior of button controls. + + + + + This property is not relevant to this class. + + + + + Gets or sets a value that indicates whether the control resizes based on its contents. + Wraps the property. + + + + + Gets or sets the image that is displayed on a button control. + Wraps the property. + + + + + Gets or sets the alignment of the image on the button control. + Wraps the property. + + + + + Gets or sets the alignment of the text on the button control. + Wraps the property. + + + + + Gets or sets the position of text and image relative to each other. + Wraps the property. + + + + + + + + + + + Represents a Windows button control. + Wraps the control. + + + + + + + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + + + + Gets an internal Button. + + + + + Gets or sets a value that is returned to the parent form when the button is clicked. + Wraps the property. + + + + + + + + Initializes a new instance of the ButtonControl class with default settings. + + + + + Represents a Windows CheckBox. + Wraps the control. + + + + + + + + Occurs when the value of the Checked property changes. + Wraps the event. + + + + + Gets an internal CheckBox. + + + + + Gets or sets the value that determines the appearance of a CheckBox control. + Wraps the property. + + + + + Gets or sets the horizontal and vertical alignment of the check mark on a CheckBox control. + Wraps the property. + + + + + Gets or set a value indicating whether the CheckBox is in the checked state. + Wraps the property. + + + + + Gets or sets the state of the CheckBox. + Wraps the property. + + + + + Gets or sets a value indicating whether the CheckBox will allow three check states rather than two. + Wraps the property. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + + + + + + + + + + + + + + + This method fires the CheckedChanged event and the script code connected to the CheckedChangedEvent. + + Event data. + + + + Initializes a new instance of the CheckBoxControl class with default settings. + + + + + Displays a ListBox in which a check box is displayed to the left of each item. + Wraps the control. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + Occurs after item's check state was changed. + Wraps the event. + + + + + Gets an internal CheckedListBox. + + + + + Gets or sets a value indicating whether the check box should be toggled when an item is selected. + Wraps the property. + + + + + Gets the items of the CheckedListBox. + Wraps the property. + + + + + Collection of checked indexes in this CheckedListBox. + Wraps the property. + + + + + Collection of checked items in this CheckedListBox. + Wraps the property. + + + + + + + + Gets or sets a script method name that will be used to handle the + event. + + + + + + + + + + + + + + + + + + + + + + + This method fires the ItemCheck event and the script code connected to the ItemCheckEvent. + + Event data. + + + + Initializes a new instance of the CheckedListBoxControl class with default settings. + + + + + Represents a Windows combo box control. + Wraps the control. + + + + + + + + + + + + + + Occurs after the selection has been changed. + Wraps the event. + + + + + Occurs each time an owner-drawn ComboBox item needs to be drawn and + when the sizes of the list items are determined. + Wraps the event. + + + + + Occurs when a visual aspect of an owner-drawn ComboBox changes. + Wraps the event. + + + + + Gets an internal ComboBox. + + + + + Gets or sets a value indicating whether your code or the operating system will handle drawing of elements in the list. + Wraps the property. + + + + + Gets or sets a value specifying the style of the combo box. + Wraps the property. + + + + + Gets or sets the width of the of the drop-down portion of a combo box. + Wraps the property. + + + + + Gets or sets the height in pixels of the drop-down portion of the ComboBox. + Wraps the property. + + + + + Gets or sets the height of an item in the combo box. + Wraps the property. + + + + + Gets a collection of the items contained in this ComboBox. + Wraps the property. + + + + + Gets or sets the maximum number of items to be shown in the drop-down portion of the ComboBox. + Wraps the property. + + + + + Gets or sets a value indicating whether the items in the combo box are sorted. + Wraps the property. + + + + + Gets or sets the string that contains all items text. + + + + + Gets or sets the index specifying the currently selected item. + Wraps the property. + + + + + Gets or sets currently selected item in the ComboBox. + Wraps the property. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + + + + + + + + + + + + + + + + + + + + + This method fires the SelectedIndexChanged event and the script code connected to the SelectedIndexChangedEvent. + + Event data. + + + + This method fires the MeasureItem event and the script code connected to the MeasureItemEvent. + + Event data. + + + + This method fires the DrawItem event and the script code connected to the DrawItemEvent. + + Event data. + + + + Initializes a new instance of the ComboBoxControl class with default settings. + + + + + Represents the control with two lists (available items and selected items). + + + The control allows to select one or several items and then filter the datasource which it is connected to. + All you need is to setup the DataColumn property. + + + + + Gets or sets a value indicating that the items must be sorted. + + + + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the DataSelectorControl class with default settings. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + Represents a Windows control that allows the user to select a date and a time and to display the date and time with a specified format. + Wraps the control. + + + + + This property is not relevant to this class. + + + + + + + + + + + + + + Occurs after the date has been changed. + Wraps the event. + + + + + Gets an internal DateTimePicker. + + + + + Gets or sets a value indicating whether the Value property has been set with a valid date/time value and the displayed value is able to be updated. + Wraps the property. + + + + + Gets or sets the custom date/time format string. + Wraps the property. + + + + + Gets or sets the alignment of the drop-down calendar on the DateTimePicker control. + Wraps the property. + + + + + Gets or sets the format of the date and time displayed in the control. + Wraps the property. + + + + + Gets or sets the maximum date and time that can be selected in the control. + Wraps the property. + + + + + Gets or sets the minimum date and time that can be selected in the control. + Wraps the property. + + + + + Gets or sets a value indicating whether a check box is displayed to the left of the selected date. + Wraps the property. + + + + + Gets or sets a value indicating whether a spin button control (also known as an up-down control) is used to adjust the date/time value. + Wraps the property. + + + + + Gets or sets the date/time value assigned to the control. + Wraps the property. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + + + + + + + + + + + + + + + This method fires the ValueChanged event and the script code connected to the ValueChangedEvent. + + Event data. + + + + Initializes a new instance of the DateTimePickerControl class with default settings. + + + + + Base class for all dialog components. + + + + + + + + + + + + + + + + + + + + Gets or sets the coordinates of the upper-left corner of the control relative to the upper-left corner of its container. + + + + + Gets or sets the height and width of the control. + + + + + + + + Initializes a new instance of the DialogComponentBase class with default settings. + + + + + Base class for all dialog controls such as ButtonControl, TextBoxControl. + + + + + Determines whether is necessary to serialize the BackColor property. + + true if serialization is necessary. + + + + Determines whether is necessary to serialize the Cursor property. + + true if serialization is necessary. + + + + Determines whether is necessary to serialize the Font property. + + true if serialization is necessary. + + + + Determines whether is necessary to serialize the ForeColor property. + + true if serialization is necessary. + + + + + + + Draws the selection point. + + Graphics object to draw on. + object. + object. + Left coordinate. + Top coordinate. + + + + + + + + + + + + + Creates the empty event handler for the ClickEvent event in the report's script. + + true if event handler was created successfully. + + + + + + + Occurs when the control is clicked. + Wraps the event. + + + + + Occurs when the control is double-clicked. + Wraps the event. + + + + + Occurs when the control is entered. + Wraps the event. + + + + + Occurs when the input focus leaves the control. + Wraps the event. + + + + + Occurs when a key is pressed while the control has focus. + Wraps the event. + + + + + Occurs when a key is pressed while the control has focus. + Wraps the event. + + + + + Occurs when a key is released while the control has focus. + Wraps the event. + + + + + Occurs when the mouse pointer is over the control and a mouse button is pressed. + Wraps the event. + + + + + Occurs when the mouse pointer is moved over the control. + Wraps the event. + + + + + Occurs when the mouse pointer is over the control and a mouse button is released. + Wraps the event. + + + + + Occurs when the mouse pointer enters the control. + Wraps the event. + + + + + Occurs when the mouse pointer leaves the control. + Wraps the event. + + + + + Occurs when the control is resized. + Wraps the event. + + + + + Occurs when the Text property value changes. + Wraps the event. + + + + + Occurs when the control is redrawn. + Wraps the event. + + + + + Gets an internal Control. + + + + + Gets or sets the background color for the control. + Wraps the property. + + + + + Gets or sets the cursor that is displayed when the mouse pointer is over the control. + Wraps the property. + + + + + Gets or sets a value indicating whether the control can respond to user interaction. + Wraps the property. + + + + + Gets or sets the font of the text displayed by the control. + Wraps the property. + + + + + Gets or sets the foreground color of the control. + Wraps the property. + + + + + Gets or sets a value indicating whether control's elements are aligned to support locales using right-to-left fonts. + Wraps the property. + + + + + Gets or sets the tab order of the control within its container. + Wraps the property. + + + + + Gets or sets a value indicating whether the user can give the focus to this control using the TAB key. + Wraps the property. + + + + + Gets or sets the text associated with this control. + Wraps the property. + + + + + Gets or sets which control borders are docked to its parent control and determines how a control is resized with its parent. + Wraps the property. + + + + + Gets or sets the edges of the container to which a control is bound and determines how a control is resized with its parent. + Wraps the property. + + + + + Gets or sets a value indicating whether the control is displayed. + Wraps the property. + + + + + Gets or sets a property that returns actual data contained in a control. This value is used + in the "Data" window. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + + + + + + + + + + + + + + + + + + Called when the control's Enabled state changed. + + + + + Attaches Control events to its event handlers. + + + Override this method if your custom control has own events. + + See the example of AttachEvents implementation used in the CheckBoxControl: + + protected override void AttachEvents() + { + base.AttachEvents(); + CheckBox.CheckedChanged += new EventHandler(CheckBox_CheckedChanged); + } + + private void CheckBox_CheckedChanged(object sender, EventArgs e) + { + if (CheckedChanged != null) + CheckedChanged(this, e); + InvokeEvent(CheckedChangedEvent, e); + } + + + + + + Detaches Control events from its event handlers. + + + Override this method if your custom control has own events. In this method, you should + detach control's events that were attached in the method. + + See the example of DetachEvents implementation used in the CheckBoxControl: + + protected override void DetachEvents() + { + base.DetachEvents(); + CheckBox.CheckedChanged -= new EventHandler(CheckBox_CheckedChanged); + } + + + + + + + + + + + + Initializes the control before display it in the dialog form. + + + This method is called when report is run. + + + + + Finalizes the control after its parent form is closed. + + + This method is called when report is run. + + + + + Sets input focus to the control. + + + + + Conceals the control from the user. + + + + + Displays the control to the user. + + + + + This method fires the Click event and the script code connected to the ClickEvent. + + Event data. + + + + This method fires the DoubleClick event and the script code connected to the DoubleClickEvent. + + Event data. + + + + This method fires the Enter event and the script code connected to the EnterEvent. + + Event data. + + + + This method fires the Leave event and the script code connected to the LeaveEvent. + + Event data. + + + + This method fires the KeyDown event and the script code connected to the KeyDownEvent. + + Event data. + + + + This method fires the KeyPress event and the script code connected to the KeyPressEvent. + + Event data. + + + + This method fires the KeyUp event and the script code connected to the KeyUpEvent. + + Event data. + + + + This method fires the MouseDown event and the script code connected to the MouseDownEvent. + + Event data. + + + + This method fires the MouseMove event and the script code connected to the MouseMoveEvent. + + Event data. + + + + This method fires the MouseUp event and the script code connected to the MouseUpEvent. + + Event data. + + + + This method fires the MouseEnter event and the script code connected to the MouseEnterEvent. + + Event data. + + + + This method fires the MouseLeave event and the script code connected to the MouseLeaveEvent. + + Event data. + + + + This method fires the Resize event and the script code connected to the ResizeEvent. + + Event data. + + + + This method fires the TextChanged event and the script code connected to the TextChangedEvent. + + Event data. + + + + This method fires the Paint event and the script code connected to the PaintEvent. + + Event data. + + + + Represents the special kind of report page that wraps the + and used to display dialog forms. + + + Use the property to add/remove controls to/from a dialog form. + If you set the Visible property to false, this dialog form will be + skippen when you run a report. + + This example shows how to create a dialog form with one button in code. + + DialogPage form = new DialogPage(); + // set the width and height in pixels + form.Width = 200; + form.Height = 200; + form.Name = "Form1"; + // create a button + ButtonControl button = new ButtonControl(); + button.Location = new Point(20, 20); + button.Size = new Size(75, 25); + button.Text = "The button"; + // add the button to the form + form.Controls.Add(button); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Occurs before a form is displayed for the first time. + Wraps the event. + + + + + Occurs after the form is closed. + Wraps the event. + + + + + Occurs before the form is closed. + Wraps the event. + + + + + Occurs whenever the form is first displayed. + Wraps the event. + + + + + Occurs when the form is resized. + Wraps the event. + + + + + Occurs when the form is redrawn. + Wraps the event. + + + + + Gets an internal Form. + + + + + Gets or sets an active state in Web application. + + + + + Gets or sets the button on the form that is clicked when the user presses the ENTER key. + Wraps the property. + + + + + Gets or sets the button control that is clicked when the user presses the ESC key. + Wraps the property. + + + + + Gets the auto scale dimensions for this form. + + + + + Gets or sets the background color for the form. + Wraps the property. + + + + + Gets or sets the font of the text displayed by the control. + Wraps the property. + + + + + Gets or sets the border style of the form. + Wraps the property. + + + + + Gets or sets a value indicating whether control's elements are aligned to support locales using right-to-left fonts. + Wraps the property. + + + + + Gets or sets the text associated with this form. + Wraps the property. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + + + Gets the collection of controls contained within the form. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Shows the form as a modal dialog box with the currently active window set as its owner. + Wraps the method. + + One of the DialogResult values. + + + + Shows the form as a modal dialog box with the currently active window set as its owner. + Wraps the method. Uses async call to ShowDialog if possible. + + One of the DialogResult values. + + + + This method fires the Load event and the script code connected to the LoadEvent. + + Event data. + + + + This method fires the FormClosed event and the script code connected to the FormClosedEvent. + + Event data. + + + + This method fires the FormClosing event and the script code connected to the FormClosingEvent. + + Event data. + + + + This method fires the Shown event and the script code connected to the ShownEvent. + + Event data. + + + + This method fires the Resize event and the script code connected to the ResizeEvent. + + Event data. + + + + This method fires the Paint event and the script code connected to the PaintEvent. + + Event data. + + + + Initializes a new instance of the DialogPage class. + + + + + Displays data in a customizable grid. + Wraps the control. + + + + + Gets an internal DataGridView. + + + + + Gets or sets the data source that the DataGridView is displaying data for. + + + + + Gets or sets a value indicating whether the option to add rows is displayed to the user. + Wraps the property. + + + + + Gets or sets a value indicating whether the user is allowed to delete rows from the DataGridView. + Wraps the property. + + + + + Gets or sets the default cell style applied to odd-numbered rows of the DataGridView. + Wraps the property. + + + + + Gets or sets a value indicating how column widths are determined. + Wraps the property. + + + + + Gets or sets a value indicating how row heights are determined. + Wraps the property. + + + + + Gets or sets the background color of the DataGridView. + Wraps the property. + + + + + Gets or sets the border style for the DataGridView. + Wraps the property. + + + + + Gets the cell border style for the DataGridView. + Wraps the property. + + + + + Gets the border style applied to the column headers. + Wraps the property. + + + + + Gets or sets the default column header style. + Wraps the property. + + + + + Gets or sets the height, in pixels, of the column headers row. + Wraps the property. + + + + + Gets or sets a value indicating whether the height of the column headers is adjustable and whether it can be adjusted by the user or is automatically adjusted to fit the contents of the headers. + Wraps the property. + + + + + Gets or sets a value indicating whether the column header row is displayed. + Wraps the property. + + + + + Gets the collection of objects that represents the grid columns. + + + + + Gets or sets the default cell style to be applied to the cells in the DataGridView if no other cell style properties are set. + Wraps the property. + + + + + Gets or sets the color of the grid lines separating the cells of the DataGridView. + Wraps the property. + + + + + Gets or sets a value indicating whether the user is allowed to select more than one cell, row, or column of the DataGridView at a time. + Wraps the property. + + + + + Gets a value indicating whether the user can edit the cells of the DataGridView control. + Wraps the property. + + + + + Gets or sets the border style of the row header cells. + Wraps the property. + + + + + Gets or sets the default style applied to the row header cells. + Wraps the property. + + + + + Gets or sets a value indicating whether the column that contains row headers is displayed. + Wraps the property. + + + + + Gets or sets the width, in pixels, of the column that contains the row headers. + Wraps the property. + + + + + Gets or sets a value indicating whether the width of the row headers is adjustable and whether it can be adjusted by the user or is automatically adjusted to fit the contents of the headers. + Wraps the property. + + + + + Gets or sets the default style applied to the row cells of the DataGridView. + Wraps the property. + + + + + Gets or sets the type of scroll bars to display for the DataGridView control. + Wraps the property. + + + + + Gets or sets a value indicating how the cells of the DataGridView can be selected. + Wraps the property. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the GridControl class with default settings. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + + + + Represents the 's column. + Wraps the class. + + + + + Gets or sets the mode by which the column automatically adjusts its width. + Wraps the property. + + + + + Gets or sets the data column attached to this column. + + + + + Gets or sets the caption text on the column's header cell. + Wraps the property. + + + + + Gets or sets the column's default cell style. + Wraps the property. + + + + + Gets or sets a value that represents the width of the column when it is in fill mode relative to the widths of other fill-mode columns in the control. + Wraps the property. + + + + + Gets or sets the current width of the column. + Wraps the property. + + + + + Gets or sets a value indicating whether the column is visible. + Wraps the property. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + + + + + + + Initializes a new instance of the GridControlColumn class with default settings. + + + + + Represents the collection of GridControl columns. + + + + + Gets or sets a column. + + The index of a column in this collection. + The column with specified index. + + + + + + + + + + Serializes the collection. + + Writer object. + + This method is for internal use only. + + + + + Deserializes the collection. + + Reader object. + + This method is for internal use only. + + + + + Initializes a new instance of the class with default settings. + + + + + Initializes a new instance of the class with default settings. + + The owner of this collection. + + + + Represents a standard Windows label. + Wraps the control. + + + + + + + + Gets an internal Label. + + + + + Gets or sets a value indicating whether the control is automatically resized to display its entire contents. + Wraps the property. + + + + + Gets or sets the alignment of text in the label. + Wraps the property. + + + + + + + + Initializes a new instance of the LabelControl class with default settings. + + + + + Base class for list box controls such as ListBoxControl, CheckedListBoxControl. + + + + + This property is not relevant to this class. + + + + + + + + + + + Occurs when the SelectedIndex property has changed. + Wraps the event. + + + + + Occurs when an owner-drawn ListBox is created and the sizes of the list items are determined. + Wraps the event. + + + + + Occurs when a visual aspect of an owner-drawn ListBox changes. + Wraps the event. + + + + + Gets or sets the width of columns in a multicolumn ListBox. + Wraps the property. + + + + + Gets or sets the drawing mode for the control. + Wraps the property. + + + + + Gets or sets the height of an item in the ListBox. + Wraps the property. + + + + + Gets the items of the ListBox. + Wraps the property. + + + + + Gets or sets a value indicating whether the ListBox supports multiple columns. + Wraps the property. + + + + + Gets or sets the method in which items are selected in the ListBox. + Wraps the property. + + + + + Gets or sets a value indicating whether the items in the ListBox are sorted alphabetically. + Wraps the property. + + + + + Gets or sets a value indicating whether the ListBox can recognize and expand tab characters when drawing its strings. + Wraps the property. + + + + + Gets or sets the string that contains all items text. + + + + + Gets or sets the zero-based index of the currently selected item in a ListBox. + Wraps the property. + + + + + Gets a collection that contains the zero-based indexes of all currently selected items in the ListBox. + Wraps the property. + + + + + Gets or sets the currently selected item in the ListBox. + Wraps the property. + + + + + Gets a collection containing the currently selected items in the ListBox. + Wraps the property. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + + + + + + + + + + + + + + + This method fires the SelectedIndexChanged event and the script code connected to the SelectedIndexChangedEvent. + + Event data. + + + + This method fires the MeasureItem event and the script code connected to the MeasureItemEvent. + + Event data. + + + + This method fires the DrawItem event and the script code connected to the DrawItemEvent. + + Event data. + + + + Represents a Windows list view control, which displays a collection of items that can be displayed using one of four different views. + Wraps the control. + + + + + Occurs when the checked state of an item changes. + Wraps the event. + + + + + Occurs when the index of the selected item in the list view control changes. + Wraps the event. + + + + + Gets an internal ListView. + + + + + Gets or sets a value indicating whether a check box appears next to each item in the control. + Wraps the property. + + + + + Gets or sets a value indicating whether multiple items can be selected. + Wraps the property. + + + + + Gets or sets a value indicating whether items are displayed in groups. + Wraps the property. + + + + + Gets or sets how items are displayed in the control. + Wraps the property. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + + + Gets the indexes of the currently checked items in the control. + Wraps the property. + + + + + Gets the currently checked items in the control. + Wraps the property. + + + + + Gets the collection of all column headers that appear in the control. + Wraps the property. + + + + + Gets the collection of ListViewGroup objects assigned to the control. + Wraps the property. + + + + + Gets a collection containing all items in the control. + Wraps the property. + + + + + Gets or sets the ImageList to use when displaying items as large icons in the control. + Wraps the property. + + + + + Gets the indexes of the selected items in the control. + Wraps the property. + + + + + Gets the items that are selected in the control. + Wraps the property. + + + + + Gets or sets the ImageList to use when displaying items as small icons in the control. + Wraps the property. + + + + + + + + + + + + + + This method fires the ItemChecked event and the script code connected to the ItemCheckedEvent. + + Event data. + + + + This method fires the SelectedIndexChanged event and the script code connected to the SelectedIndexChangedEvent. + + Event data. + + + + Initializes a new instance of the ListViewControl class with default settings. + + + + + This property is not relevant to this class. + + + + + + + + + + + Uses a mask to distinguish between proper and improper user input. + Wraps the control. + + + + + Gets an internal MaskedTextBox. + + + + + Gets or sets the input mask to use at run time. + Wraps the property. + + + + + Gets or sets a value indicating whether the user is allowed to reenter literal values. + Wraps the property. + + + + + Gets or sets how text is aligned in a masked text box control. + Wraps the property. + + + + + + + + + + + + + + Initializes a new instance of the MaskedTextBoxControl class with default settings. + + + + + + + + + + + + + + + + + Represents a Windows control that enables the user to select a date using a visual monthly calendar display. + Wraps the control. + + + + + + + + + + + + + + + + + Occurs when the date selected in the MonthCalendar changes. + Wraps the event. + + + + + Gets an internal MonthCalendar. + + + + + Gets or sets the number of columns and rows of months displayed. + Wraps the property. + + + + + Gets or sets the first day of the week as displayed in the month calendar. + Wraps the property. + + + + + Gets or sets the maximum allowable date. + Wraps the property. + + + + + Gets or sets the maximum number of days that can be selected in a month calendar control. + Wraps the property. + + + + + Gets or sets the minimum allowable date. + Wraps the property. + + + + + Gets or sets a value indicating whether the date represented by the TodayDate property is displayed at the bottom of the control. + Wraps the property. + + + + + Gets or sets a value indicating whether today's date is circled. + Wraps the property. + + + + + Gets or sets a value indicating whether the month calendar control displays week numbers (1-52) to the left of each row of days. + Wraps the property. + + + + + Gets or sets the value that is used by MonthCalendar as today's date. + Wraps the property. + + + + + Gets or sets the array of DateTime objects that determines which annual days are displayed in bold. + Wraps the property. + + + + + Gets or sets the array of DateTime objects that determines which nonrecurring dates are displayed in bold. + Wraps the property. + + + + + Gets or sets the array of DateTime objects that determine which monthly days to bold. + Wraps the property. + + + + + Gets or sets the end date of the selected range of dates. + Wraps the property. + + + + + Gets or sets the selected range of dates for a month calendar control. + Wraps the property. + + + + + Gets or sets the start date of the selected range of dates. + Wraps the property. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + + + + + + + + + + + + + + + This method fires the DateChanged event and the script code connected to the DateChangedEvent. + + Event data. + + + + Initializes a new instance of the MonthCalendarControl class with default settings. + + + + + Represents a Windows spin box (also known as an up-down control) that displays numeric values. + Wraps the control. + + + + + Occurs when the Value property has been changed in some way. + Wraps the event. + + + + + Gets an internal NumericUpDown. + + + + + Gets or sets the number of decimal places to display in the up-down control. + Wraps the property. + + + + + Gets or sets a value indicating whether the up-down control should display the value it contains in hexadecimal format. + Wraps the property. + + + + + Gets or sets the value to increment or decrement the up-down control when the up or down buttons are clicked. + Wraps the property. + + + + + Gets or sets the maximum value for the up-down control. + Wraps the property. + + + + + Gets or sets the minimum value for the up-down control. + Wraps the property. + + + + + Gets or sets a value indicating whether a thousands separator is displayed in the up-down control when appropriate. + Wraps the property. + + + + + Gets or sets the value assigned to the up-down control. + Wraps the property. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + + + + + + + + + + + + + + + + + + This method fires the ValueChanged event and the script code connected to the ValueChangedEvent. + + Event data. + + + + Initializes a new instance of the NumericUpDownControl class with default settings. + + + + + This property is not relevant to this class. + + + + + + + + + + + + + + Used to group collections of controls. + Wraps the control. + + + + + Gets an internal Panel. + + + + + Indicates the border style for the control. + Wraps the property. + + + + + + + + + + + Initializes a new instance of the PanelControl class with default settings. + + + + + This property is not relevant to this class. + + + + + Base class for controls that may contain child controls. + + + + + + + + + + + + + + + + + + + + Gets the collection of child controls. + + + + + + + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the ParentControl class with default settings. + + + + + Represents a Windows picture box control for displaying an image. + Wraps the control. + + + + + This property is not relevant to this class. + + + + + + + + Gets an internal PictureBox. + + + + + Indicates the border style for the control. + Wraps the property. + + + + + Gets or sets the image that the PictureBox displays. + Wraps the property. + + + + + Indicates how the image is displayed. + Wraps the property. + + + + + + + + Initializes a new instance of the PictureBoxControl class with default settings. + + + + + Enables the user to select a single option from a group of choices when paired with other RadioButton controls. + Wraps the control. + + + + + + + + Occurs when the value of the Checked property changes. + Wraps the event. + + + + + Gets an internal RadioButton. + + + + + Gets or sets the location of the check box portion of the RadioButton. + Wraps the property. + + + + + Gets or sets a value indicating whether the control is checked. + Wraps the property. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + + + + + + + + + + + + + + + This method fires the CheckedChanged event and the script code connected to the CheckedChangedEvent. + + Event data. + + + + Initializes a new instance of the RadioButtonControl class with default settings. + + + + + Represents a Windows rich text box control. + Wraps the control. + + + + + Gets an internal RichTextBox. + + + + + Gets or sets the text of the RichTextBox control, including all rich text format (RTF) codes. + Wraps the property. + + + + + Gets or sets the type of scroll bars to display in the RichTextBox control. + Wraps the property. + + + + + + + + Loads rtf from a file. + + File to load from. + + + + Loads rtf from a stream using specified stream type. + + Stream to load from. + Type of a stream. + + + + Loads rtf from a file using specified stream type. + + File to load from. + Type of a stream. + + + + Initializes a new instance of the RichTextBoxControl class with default settings. + + + + + Represents a Windows text box control. + Wraps the control. + + + + + + + + + + + + + + + + + Gets an internal TextBox. + + + + + Gets or sets a value indicating whether pressing ENTER in a multiline TextBox control creates a new line of text in the control or activates the default button for the form. + Wraps the property. + + + + + Gets or sets a value indicating whether pressing the TAB key in a multiline text box control types a TAB character in the control instead of moving the focus to the next control in the tab order. + Wraps the property. + + + + + Gets or sets whether the TextBox control modifies the case of characters as they are typed. + Wraps the property. + + + + + Gets or sets the maximum number of characters the user can type or paste into the text box control. + Wraps the property. + + + + + Gets or sets a value indicating whether this is a multiline TextBox control. + Wraps the property. + + + + + Gets or sets a value indicating whether text in the text box is read-only. + Wraps the property. + + + + + Gets or sets which scroll bars should appear in a multiline TextBox control. + Wraps the property. + + + + + Gets or sets how text is aligned in a TextBox control. + Wraps the property. + + + + + Gets or sets a value indicating whether the text in the TextBox control should appear as the default password character. + Wraps the property. + + + + + Indicates whether a multiline text box control automatically wraps words to the beginning of the next line when necessary. + Wraps the property. + + + + + + + + + + + + + + Initializes a new instance of the TextBoxControl class with default settings. + + + + + Displays a hierarchical collection of labeled items, each represented by a TreeNode. + Wraps the control. + + + + + Occurs after the tree node is selected. + Wraps the event. + + + + + Gets an internal TreeView. + + + + + Gets or sets a value indicating whether check boxes are displayed next to the tree nodes in the tree view control. + Wraps the property. + + + + + Gets or sets a value indicating whether lines are drawn between tree nodes in the tree view control. + Wraps the property. + + + + + Gets or sets a value indicating whether lines are drawn between the tree nodes that are at the root of the tree view. + Wraps the property. + + + + + Gets or sets the ImageList that contains the Image objects used by the tree nodes. + Wraps the property. + + + + + Gets the collection of tree nodes that are assigned to the tree view control. + Wraps the property. + + + + + Gets or sets the tree node that is currently selected in the tree view control. + Wraps the property. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + + + + + + + + + + + + This method fires the AfterSelect event and the script code connected to the AfterSelectEvent. + + Event data. + + + + Initializes a new instance of the class with default settings. + + + + + This property is not relevant to this class. + + + + + + + + + + + The base class for all controls that support the data filtering feature. + + + The data filtering allows you to bind the control to a . + It will be automatically filled by data from the datasource's column. When you select/check + item(s) and close the dialog with OK button, it will filter the datasource according to your selection. + You can set the filter operation using the property. + + + + + Occurs after the control is filled with data. + + + + + Gets or sets a value that determines whether to fill the control with data automatically. + + + The default value of this property is true. If you set it to false, + you need to call the method manually. + + + + + Gets or sets a value that determines whether to filter the datasource automatically + when you close the dialog by OK button. + + + The default value of this property is true. If you set it to false, + you need to call the method manually. + + + + + Gets or sets a data column name that will be used to fill this control with data. + + + This property must contain both datasource name and column name, for example: + Orders.OrderID. You also may use relations, for example: Orders.Customers.CompanyName. + + + + + Gets or sets name of report parameter which value will be set to value contained + in this control when you close the dialog. + + + + + Gets or sets a value that specifies the filter operation. + + + + + Gets or sets the detail control used in cascaded filtering. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + + + Fills the control with data. + + The data source. + The data column. + Here is the example of FillData method implementation: + + protected override void FillData(DataSourceBase dataSource, Column column) + { + Items.Clear(); + dataSource.First(); + while (dataSource.HasMoreRows) + { + Items.Add(dataSource[column].ToString()); + dataSource.Next(); + } + } + + + + + + Returns list of values that can be used to fill control with data. + + The data source. + The data column. + List of string values. + + This method is used by the FillData method to fill list-type controls + such as ListBox with data. The result list contains distinct values. + + + + + Returns value entered in the control. + + The value of type supported by this control. + + This method must return a value entered by the user. For example, TextBox + control must return its Text property value. If this control supports multi-selection, + return selected values in an array, for example string[] array for CheckedListBox. + + + + + Handles the cascaded filter internal logic. + + + This method should be called in your custom dialog control that supports data filtering. + Call it when the value in your control is changed. + + + + + + + + + + + + + + Fills the control with data from a datasource. + + + Call this method if you set the property to false. + + + + + Fills the control with data from a datasource. + + Parent data source + + Call this method if you need to implement cascaded filter. In the parentData parameter, + pass the parent data source that will be used to set up master-detail relationship with + data source in this control. + + + + + Fills the control with data from a datasource. + + Parent control + + Call this method if you need to implement cascaded filter. In the parentControl parameter, + pass the parent control which performs filtering on a parent data source. + + + + + Applies the filter to a datasource. + + + Call this method if you set the property to false. + + + + + Resets the filter set by this control. + + + + + This method fires the DataLoaded event and the script code connected to the DataLoadedEvent. + + Event data. + + + + Initializes a new instance of the DataFilterBaseControl class with default settings. + + + + + Represents the collection of dialog components. + + + + + Gets or sets a component. + + The index of a component in this collection. + The component with specified index. + + + + Initializes a new instance of the class with default settings. + + + + + Initializes a new instance of the class with default settings. + + The owner of this collection. + + + + Represents a Windows control that displays a frame around a group of controls with an optional caption. + Wraps the control. + + + + + Gets an internal GroupBox. + + + + + Initializes a new instance of the GroupBoxControl class with default settings. + + + + + Represents a Windows control to display a list of items. + Wraps the control. + + + + + Gets an internal ListBox. + + + + + + + + + + + Initializes a new instance of the ListBoxControl class with default settings. + + + + + Represents the report engine. + + + + + Shows band at the current position. + + Band to show. + + After the band is shown, the current position is advanced by the band's height. + + + + + Gets or sets the current X offset. + + + This property specifies the X offset where the current band will be printed. + + + + + Gets or sets the current Y offset. + + + This property specifies the Y offset where the current band will be printed. + After the band is printed, this value is incremented by the band's height. + + + + + Gets the index of currently printing column in the multi-column report. + + + This value is 0-based. + + + + + Gets or sets index of current prepared page the current band will print on. + + + Note: the page with specified index must exists. This property is used to print side-by-side + subreports and Table object. Usually you don't need to use it. + + + + + Gets the current page width, in pixels. + + + This property returns a paper width minus left and right margins. + + + + + Gets the current page height, in pixels. + + + This property returns a paper height minus top and bottom margins. + + + + + Gets the value indicating whether the page has unlimited height. + + + + + Gets the value indicating whether the page has unlimited width. + + + + + Gets or sets the current height of unlimited page. + + + + + Gets or sets the current width of unlimited page. + + + + + Gets the height of page footer (including all its child bands), in pixels. + + + + + Gets the height of column footer (including all its child bands), in pixels. + + + + + Gets the free space on the current page, in pixels. + + + This property returns the page height minus footers height minus CurY value. + + + + + Gets the current prepared page number. + + + This value is 1-based. The initial value (usually 1) is set in the Report.InitialPageNumber property. + + + + + Gets the number of total pages in a prepared report. + + + To use this property, your report must be two-pass. Set the + property to true. + + + + + Gets the string that represents the current page number. + + + This property returns a locale-based value, for example: "Page 1". + + + + + Gets the string that represents the "Page N of M" number. + + + This property returns a locale-based value, for example: "Page 1 of 10". + + + + + Gets the current row number of currently printing band. + + + This value is 1-based. It resets to 1 on each new group. + + + + + Gets the running current row number of currently printing band. + + + This value is 1-based. + + + + + Gets the date of report start. + + + + + Gets a value indicating whether the report is executing the final pass. + + + This property is true if report is one-pass, or if report is two-pass and + the second pass is executing. + + + + + Gets a value indicating whether the report is executing the first pass. + + + This property is true if report is one-pass, or if report is two-pass and + the first pass is executing. + + + + + Gets a level of hierarchy when printing hierarchical bands. + + + The first level of hierarchy has 0 index. + + + + + Gets the row number like "1.2.1" when printing hierarchical bands. + + + + + Returns true of keeping is enabled + + + + + Returns keeping position + + + + + Starts the keep mechanism. + + + Use this method along with the method if you want to keep + several bands together. Call StartKeep method before printing the first band + you want to keep, then call the EndKeep method after printing the last band you want to keep. + + + + + Ends the keep mechanism. + + + Use this method along with the method if you want to keep + several bands together. Call StartKeep method before printing the first band + you want to keep, then call the EndKeep method after printing the last band you want to keep. + + + + + Gets xml containing outline nodes. + + + + + Creates a new outline element with specified text. + + Text of element. + + After you call this method, the element will be added to the current position in the outline. + The next call to AddOutline will add new element as a child of this element. + To shift the position, use the or + OutlineUp methods. + + + + + Sets the current outline position to root. + + + + + Shifts the current outline position one level up. + + + + + Creates a new bookmark with specified name at current position. + + + + + + Gets a page number for the specified bookmark name. + + Name of bookmark. + Page number if bookmark with such name found; 0 otherwise. + + Use this method to print the table of contents in your report. Normally it can be done + using bookmarks. + + You must set your report to double pass to use this method. + + + + + + Resets the logical page numbers. + + + + + Called when the number of pages increased during DoublePass + + + + + Starts a new page. + + + + + Starts a new column. + + + + + Processes the specified text object which ProcessAt property is set to Custom. + + The text object to process. + + + + Translate RichObject to series of ReportComponentBase objects + + + + + + This code splits RichObject to report objects + + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Form for . + For internal use only. + + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Form for . + For internal use only. + + + + + Initializes a new instance of the class. + + + + + + + + + + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Form for . + For internal use only. + + + + + Initializes a new instance of the class. + + + + + + + + + + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Form for . + For internal use only. + + + + + Initializes a new instance of the class. + + + + + + + + + + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Form for . + For internal use only. + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Form for . + For internal use only. + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Form for . + For internal use only. + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Form for . + For internal use only. + + + + + + + + Initializes a new instance of the class. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Form for . + For internal use only. + + + + + + + + Initializes a new instance of the class. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Form for . + For internal use only. + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Form for . + For internal use only. + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Form for . + For internal use only. + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Form for . + For internal use only. + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Form for . + For internal use only. + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Form for . + For internal use only. + + + + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Form for . + For internal use only. + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Form for . + For internal use only. + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Form for . + For internal use only. + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Form for . + For internal use only. + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Form for . + For internal use only. + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Form for . + For internal use only. + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Form for . + For internal use only. + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Form for . + For internal use only. + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + The "Advanced Connection Properties" form. + + + + + Gets or sets the connection string builder which contains the connection properties. + + + + + Initializes a new instance of the class. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Form for barcode editor + + + + + Generated text for barcode object + + + + + Initializes a new instance of the class. + + Text data for parsing + Report object for nodes + Brackets symbols + Editor for rich barcode? + + + + + + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Base class for all dialog forms with two buttons, OK and Cancel. + + + + + + + + Initializes a new instance of the class. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + The OK button. + + + + + The Cancel button. + + + + + Base form for all export options dialog forms. + + + + + Represents the "Open after export" button visibility. + + + + + Gets a reference to the currently editing export filter. + + + + + + + + + + + Called when editing is done. + + + Override this method to pass edited values from the dialog controls to the export filter. + + See the example of this method implementation that is used in the ImageExport. + + protected override void Done() + { + base.Done(); + ImageExport imageExport = Export as ImageExport; + imageExport.ImageFormat = (ImageExportFormat)cbxImageFormat.SelectedIndex; + imageExport.Resolution = (int)udResolution.Value; + imageExport.JpegQuality = (int)udQuality.Value; + imageExport.SeparateFiles = cbSeparateFiles.Checked; + } + + + + + + + + + Initializes controls with initial values. + + The export filter to edit. + + Override this method to pass values from the export filter to the dialog controls. + + See the example of this method implementation that is used in the ImageExport. + + public override void Init(ExportBase export) + { + base.Init(export); + ImageExport imageExport = Export as ImageExport; + cbxImageFormat.SelectedIndex = (int)imageExport.ImageFormat; + udResolution.Value = imageExport.Resolution; + udQuality.Value = imageExport.JpegQuality; + cbSeparateFiles.Checked = imageExport.SeparateFiles; + } + + + + + + + + + Initializes a new instance of the class with default settings. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + "Page Range" groupbox. + + + + + "Page Numbers" label. + + + + + "Page Numbers" textbox. + + + + + "Page Numbers" radiobutton. + + + + + "Current Page" radiobutton. + + + + + "All Pages" radiobutton. + + + + + PageControl. + + + + + Pages panel. + + + + + "Open after export" checkbox. + + + + + "Export all tabs" checkbox. + + + + + Base class for all forms. + + + + + Gets the form's storage service. + + + + + Gets or sets value indicating that the form can save/restore the state such as location and size. + + + + + The event occurs on form's dpi change. + + + + + Convenience method returns an image with specified index for this form's dpi. + + Image index. + The image. + + + + Convenience method returns an image with specified name for this form's dpi. + + Image resource name. + The image. + + + + Convenience method returns an imagelist for this form's dpi. + + The imagelist. + + + + Localizes the dialog controls. + + + Use this method to set control's captions specific to the current locale. + + + + + Saves the form's state. + + + + + Restores the form's state. + + + + + + + + + + + + + + Update controls on dpi change. + + This method is called when the form's dpi is changed. Write custom logic to update + some controls (such as ListBox.ItemHeight) here. + + + + + Initializes a new instance of the class. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + The base class for designer plugin's options page. + + + Use this class if you develop a designer plugin that may be configured in the + "View|Options..." menu. You need to implement an options page for your + plugin and return it in the IDesignerPlugin.GetOptionsPage method. + + + + + The TabControl control. + + + + + The TabPage control. + + + + + Gets or sets a value indicating that restart is required. + + + + + Event is fired whenever the RestartRequired property is changed. + + + + + Initializes controls on this options page. + + + Override this method to fill options page's controls with initial values. + + + + + Finalizes the options page. + + The dialog result. + + Override this method to pass controls' values to the plugin. Do this if result is + DialogResult.OK. + + + + + Updates images used in the control. + + + + + Initializes a new instance of the DesignerOptionsPage class with default settings. + + + Usually you need to define another contructor which takes one parameter - the plugin. + + This example shows how to define own constructor which takes a plugin: + + public DialogPageOptions(DialogPageDesigner pd) : base() + { + FPageDesigner = pd; + InitializeComponent(); + } + + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Represents the FastReport exception form. + + + + + + + + Creates a new instance ofthe form. + + The exception object which data to display in the form. + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Editor for rearrangement Exports Menu elements + + + + + + + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + The form for message box with text editor + + + + + Gets or sets text + + + + + Defualt constructor + + + + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Represents a form for opening and adding pages of another report to the main report. + + + + + Designer of the main report. + + + + + Creates a new instance of the form to open the pages of another report + + Designer of the main report. + The report from which pages will be added to the main report + + + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + + + + + + Gets Aborted state + + + + + + + + + + Initialazes a new instance of the class. + + A reference to the report. + + + + Initialazes a new instance of the class. + + A reference to the report. + Specifies whether the form should be with Cancel button. + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + + + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + + + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + + + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Represents the Splash Screen showing during loading designer + + + + + Initializes a new instance of the class. + + + + + Filters mouse events. + For internal use only. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Represents the Welcome window displayed on the designer startup + + + + + Initializes a new instance of the class. + + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Excel 2003 export class + + + + + + + + Gets or sets a value that determines whether the wysiwyg mode should be used + for better results. + + + + + Gets or sets a value that determines whether to insert page breaks in the output file or not. + + + + + Gets or sets a value that determines whether to hide gridlines. + + + + + Enables or disables optimization of images for printing. + + + + + Read and parse Excel document + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Related to DRAWING group. Used once + + + + + Provides API to binary stream + + + + + + + + + + Represents the CSV export filter. + + + + + + + + Gets or set the resulting file encoding. + + + + + Gets or set the separator character used in csv format. + + + + + Gets or sets a value that determines whether to export the databand rows only. + + + + + Gets or sets a value that disable quotation marks for text. + + + + + Gets or sets a value that disable escaping quotation marks for text. + + + + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Represents the export to DBF. + + + + + + + + Gets or sets the encoding. + + + + + Gets or sets a value that determines whether to export the databand rows only. + + + + + Gets or sets a value that determines whether to export the types of fields. + + + + + Gets or sets the list of field names. + + + The field names must be separated by ";" symbol, for example: Column1;Column2;Column3 + + + + + Initializes a new instance of the class. + + + + + + + + + + + + + + + + + + + + + + + + + + Represents the record. + + + + + Types of fields. + + + + + Boolean type in DBF equal Logical marked 'L'. + + + + + DataTime type in DBF equal DataTime marked 'T'. + + + + + String type in DBF equal Character marked 'C'. + + + + + Decimal type in DBF equal Numeric marked 'N'. + + + + + Currency type 'Y' + + + + + Integer type in DBF equal Integer marked 'I'. + + + + + Gets or sets the field with a specified index. + + + + + Gets the count of a fields. + + + + + Gets the size of a fields. + + + + + Initializes a new instance of the class. + + + + + Adds the new item into a list of fields. + + + + + Clears the list of fields. + + + + + Represents the field. + + + + + Gets or sets data in field + + + + + Gets or sets type of field + + + + + + + + Gets or sets lines/polygons gap for barcodes object, in millimeters + + + + + Gets or sets the dxf objects fill mode + + + + + Initializes a new instance of the class. + + + + + Export all report objects + + + + + + + + + Export of Band + + + + + + Begin exporting of page + + + + + + End exporting + + + + + + + + + + + + + + + Add BandObject. + + + + + Add TextObject. + + + + + Save DXF file. + + + + + Save DXF stream. + + + + + Add Line. + + + + + Variants of filling + + + + + Solid filling of hatch and solid objects + + + + + Draw only borders of hatch and solid objects + + + + + Double precision 3D point value + + + + + Code range: 0-9 + String (with the introduction of extended symbol names in AutoCAD 2000, the 255-character + limit has been increased to 2049 single-byte characters not including the newline at the end + of the line) + + + + + Sets Name group + + Name (attribute tag, block name, and so on) + + + + Sets Name group + + Name (attribute tag, block name, ENDSEC, and so on) + + + + AutoCAD Color Index -> RGB Color table + + + + + RGB Color table -> AutoCAD Color Index + + + + + Get AutoCAD Color Index + + + AutoCAD Color Index + + + + Represents the email export. + + + In order to use this class, you need to set up at least the following properties: + , , . Use the + property to choose the format of an attachment. If you leave it empty, the attachment will be + in the .FRP format (FastReport prepared report). When you done with settings, call the + method to send an email. + + + This example demonstrates the bare minimum required to send an email. + + EmailExport export = new EmailExport(); + export.Account.Address = "my@address.net"; + export.Account.Host = "myhost"; + export.Address = "recipient@address.net"; + export.Subject = "Re: analysis report"; + // the report1 report must be prepared at this moment + export.SendEmail(report1); + + + + + + Displays the dialog box in which you can set up all parameters. + + true if user pressed OK button in the dialog. + + + + Gets or sets the recipient's address. + + + This property must contain value in form "john@url.com". + + + + + Gets or sets the carbon copy adresses. + + + This property must contain an array of values in form "john@url.com". + + + + + Gets or sets the subject of the message. + + + + + Gets or sets the message body. + + + + + Gets or sets the name attachment file. + + + + + Gets or sets the export filter which will be used to export a report. + + + Set this property to instance of any export filter. When you send the email, the report + will be exported using that export filter. + By default, this property is set to null. In this case the report will be send + in .FRP format. + + + + + Gets the email account settings such as host, user name, password. + + + + + Gets the parent Report object + + + + + Sends an email. + + Reports that will be sent as attachments. + + Before using this method, set up the following properties (it's a bare minimum): + , , . + The report that you pass in this method must be prepared using the Prepare method. + + + + + + + + + + + Initializes a new instance of the class with default settings. + + + + + Initializes a new instance of the class with default settings. + + + + + Form for . + For internal use only. + + + + + Hides attachment settings. + For internal use only. + + + + + + + + Initializes a new instance of the class. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Allows to send message using MAPI interface. + + + + + Sends a message. + + Parent window handle. + Files to attach. + Email subject. + Email body. + Recipient names. + Recipient addresses. + Error code. 0 if operation was completed succesfully. + + + + Returns a text describing an error. + + The error code. + The text describing an error. + + + + Contains the email account settings such as host, email address, name. + + + You have to set up at least the and properties. If your + host requires authentication, provide the and + properties as well. + Set property to true if you want to use default email client + such as Outlook to send an email. In this case, all other properties will be ignored. + + + + + Gets or sets the sender's email address. + + + This property contains your email address (for example, "john@site.com"). + + + + + Gets or sets the sender's name. + + + This property contains your name (for example, "John Smith"). + + + + + Gets or sets the template that will be used to create a new message. + + + + + Gets or sets the SMTP host name or IP address. + + + + + Gets or sets the SMTP port. + + + The default value for this property is 25. + + + + + Gets or sets the user name. + + + Specify the and properties if your host requires + authentication. + + + + + Gets or sets the password. + + + Specify the and properties if your host requires + authentication. + + + + + Gets or sets a value that determines whether to enable the SSL protocol. + + + + + Gets or sets a value that determines whether the account setting page + in the "Send Email" window is enabled. + + + + + Gets or sets a value that determines whether to use MAPI instead of SMTP when sending an email. + + + + + Copies email settings from another source. + + Source to copy settings from. + + + + Initializes a new instance of the class with default settings. + + + + + The base class for all export filters. + + + + + Exports the report to a file. + + Report to export. + Pages of open tabs. + true if report was succesfully exported. + + This method displays an export options dialog, then prompts a file name using standard "Open file" + dialog. If both dialogs were closed by OK button, exports the report and returns true. + + + + + Displays a dialog with export options. + + true if dialog was closed with OK button. + + + + Gets a report page with OverlayBand if it is a Demo or Academic. + + The prepared report page + The prepared report page with OverlayBand. + + + + Gets list of generated streams. + + + + + Zoom factor for output file + + + + + File filter that can be used in the "Save file" dialog. + + + + + Range of pages to export. + + + + + Page numbers to export. + + + Use page numbers separated by comma and/or page ranges, for example: "1,3-5,12". Empty string means + that all pages need to be exported. + + + + + Current page number. + + + Page number need to be exported if user selects "Current page" radiobutton in the export options dialog. + This property is typically set to current page number in the preview window. + + + + + Open the document after export. + + + + + Allows or disables the OpenAfterExport feature. + + + + + Gets or sets a value that determines whether to show progress window during export or not. + + + + + Gets a list of files generated by this export. + + + + + Gets a value indicating that the export may produce multiple output files. + + + + + Gets or sets a value indicating that the report bands should be shifted, if page + has any non-exportable bands + + + + + Gets or sets the initial directory that is displayed by a save file dialog. + + + + + Gets or sets a value indicating that pages will exporting from all open tabs. + + + + + Stream to export to. + + + + + File name to export to. + + + + + Array of page numbers to export. + + + + + Returns a file filter for a save dialog. + + String that contains a file filter, for example: "Bitmap image (*.bmp)|*.bmp" + + + + This method is called when the export starts. + + + + + This method is called at the start of exports of each page. + + Page for export may be empty in this method. + + + + This method is called at the end of exports of each page. + + Page for export may be empty in this method. + + + + This method is called for each band on exported page. + + Band, dispose after method compite. + + + + This method is called when the export is finished. + + + + + Gets a report page with specified index. + + Zero-based index of page. + The prepared report page. + + + + + + + + + + Exports the report to a stream. + + Report to export. + Stream to export to. + + This method does not show an export options dialog. If you want to show it, call + method prior to calling this method, or use the "Export(Report report)" method instead. + + + + + Exports the report to a file. + + Report to export. + File name to export to. + + This method does not show an export options dialog. If you want to show it, call + method prior to calling this method, or use the "Export(Report report)" method instead. + + + + + Initializes a new instance of the class. + + + + + + + + Gets or sets lines/polygons gap for barcodes object + + + + + Gets or sets the hpgl objects fill mode + + + + + Initializes a new instance of the class. + + + + + Save hpgl file. + + + + + Save hpgl stream. + + + + + Add BandObject. + + + + + Add TextObject. + + + + + + + + Begin exporting of page + + + + + + Export of Band + + + + + + End exporting + + + + + + + + + + + + + + + Export all report objects + + + + + + Add Line. + + + + + CT command + + + + + CI command + + + + + EP command + Perimeter of polygon defined as polygon buffer by PM, PA/PR, PU/PD, + AA/AR, CI, and CT command is plotted. Pen position after command and + pen up / down state will be in state before command. + + + + + EA command + Rectangle which makes diagonal coordinates (x, y) specified the present position and + here is plotted. Pen position after command and pen up / down state will be in state before command. + + + + + ER command + Rectangle which makes diagonal relative coordinate (x, y) from the present position + and the present position is plotted. Pen position after command and pen up / down state + will be in state before command. + + + + + FP command + Shading of the inside of polygon defined as polygon buffer by PM, PA/PR, + PU/PD, AA/AR, CI, and CT command is carried out. Pen position after command + and pen up / down state will be in state before command. + + + + + RA command + It is used with FT and PT command and shading of the inside of rectangle which makes + diagonal point coordinates (x, y) specified the present position and here is carried out. + Pen position after command and pen up / down state will be in state before command. + + + + + RR command + It is used with FT and PT command and shading of the inside of rectangle which makes diagonal point + relative coordinate (x, y) from the present position and there is carried out. Pen position after command + and pen up / down state will be in state before command. + + + + + Model of shading + + + + + Painting out interactive at space specified by PT command (FT command interval and angle are ignored) + + + + + It is painting out (FT command space and angle are ignored) of the single direction at space specified by PT command. + + + + + Hatching which is the single direction at space and angle which were specified by FT command + + + + + It is crossing hatching at space and angle which were specified by FT command. + + + + + None (solid) + + + + + FT command + It is used together with FP, RA, RR, and WG command, and model of shading (painting out and hatching) is specified. + + + + + IN command + Plotter is changed into initial state. + + + + + IP command + Sets origin position of system of coordinates + + + + + Line Type + + + + + Point is plotted at specifying point + + + + + Dotted line of point + + + + + Short dotted line + + + + + Long dotted line + + + + + Short dashed line + + + + + Long dashed line + + + + + Two-point phantom line + + + + + No any patterns needed + + + + + LT command + + + + + PD command + + + + + PT command + It is used together with FP, FT, RR, RA, and WG command, and space (unit mm) of painting out + is specified between 0.1 and 5.0 in accordance with thickness of pen. Initial value is 0.3mm. + + + + + PU command + + + + + PA command + + + + + PR command + + + + + Polygon Type + + + + + Polygon buffer is cleared and it is made polygon definition mode. + + + + + Polygon under definition is closed. + + + + + Polygon under definition is closed and polygon definition mode is canceled. + + + + + PM command + It is made polygon definition mode. PM command is used with + PA/PR, PU/PD, AA/AR, CI, and CT command, and can define polygon. + + + + + RO command + + + + + SC command + + + + + SP command + + + + + PT command + It is used together with FP, FT, RR, RA, and WG command, and space (unit mm) of painting out + is specified between 0.1 and 5.0 in accordance with thickness of pen. Initial value is 0.3mm. + + + + + Variants of filling + + + + + Solid filling of hatch and solid objects + + + + + Draw only borders of hatch and solid objects + + + + + Represents the HTML export filter. + + + + + + + + Draw any custom controls + + + + + Draw any custom controls. + + + + + + Types of html export + + + + + Simple export + + + + + Web preview mode + + + + + Web print mode + + + + + hash:base64Image + + + + + Gets or sets images, embedded in html (hash:base64Image) + + + + + Sets a ID of report + + + + + Sets an onclick template + + + + + Enable or disable layers export mode + + + + + For internal use only. + + + + + For internal use only. + + + + + For internal use only. + + + + + For internal use only. + + + + + For internal use only. + + + + + Enable or disable showing of print dialog in browser when html document is opened + + + + + Enable or disable a picture optimization. + + + + + Enable or disable preview in Web settings + + + + + Enable or disable the breaks between pages in print preview when single page mode is enabled + + + + + Specifies the output format + + + + + Specifies the width units in HTML export + + + + + Specifies the height units in HTML export + + + + + Enable or disable the pictures in HTML export + + + + + Enable or disable embedding pictures in HTML export + + + + + Enable or disable the WEB mode in HTML export + + + + + Gets or sets html export mode + + + + + Enable or disable the single HTML page creation + + + + + Enable or disable the page navigator in html export + + + + + Enable or disable the sub-folder for files of export + + + + + Gets or sets the WYSIWYG quality of export + + + + + Gets or sets the image format. + + + + + Gets print page data + + + + + Enable or disable saving streams in GeneratedStreams collection. + + + + + Enable or disable margins for pages. Works only for Layers-mode. + + + + + Enable or disable export of vector objects such as Barcodes in SVG format. + + + + + Not rotate landscape page when print. + + + + + + + + + + + + + + + + + Process Page with number p and real page ReportPage + + + + + + + + Process Page with number p and real page ReportPage + + + + + + + + + + + + + For internal use only. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class for WebPreview mode. + + + + + For developers only + + + + + + + + Event arguments for custom drawing of report objects. + + + + + Report object + + + + + ReportObject. + + + + + Resulting successful drawing flag. + + + + + Resulting HTML string. + + + + + Resulting CSS string. + + + + + Layers mode when true or Table mode when false. + + + + + Zoom value for scale position and sizes. + + + + + Left position. + + + + + Top position. + + + + + Width of object. + + + + + Height of object. + + + + + Represents the HTML export templates. + + + + + Page Template Title + + + + + Page Template Footer + + + + + Navigator Template + + + + + OutlineTemplate + + + + + Index Template + + + + + Initializes a new instance of the class. + + + + + Represents the HTML export format enum + + + + + Represents the message-HTML type + + + + + Represents the HTML type + + + + + Specifies the image format in HTML export. + + + + + Specifies the .bmp format. + + + + + Specifies the .png format. + + + + + Specifies the .jpg format. + + + + + Specifies the .gif format. + + + + + Specifies the units of HTML sizes. + + + + + Specifies the pixel units. + + + + + Specifies the percent units. + + + + + For internal use only. + + + + + For internal use only. + + + + + For internal use only. + + + + + For internal use only. + + + + + For internal use only. + + + + + For internal use only. + + + + + For internal use only. + + + + + For internal use only. + + + + + For internal use only. + + + + + For internal use only. + + + + + Represents the MHT export filter. + + + + + + + + Enable or disable the pictures in MHT export + + + + + Gets or sets the Wysiwyg quality of export + + + + + Gets or sets the image format. + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Represents the image export filter. + + + + + + + + Gets or sets the image format. + + + + + Gets or sets a value that determines whether to generate separate image file + for each exported page. + + + If this property is set to false, the export filter will produce one big image + containing all exported pages. Be careful using this property with a big report + because it may produce out of memory error. + And also when using Memory Stream and the value is true, an exception will be thrown. + + + + + Gets or sets image resolution, in dpi. + + + By default this property is set to 96 dpi. Use bigger values (300-600 dpi) + if you going to print the exported images. + + + + + Gets or sets horizontal image resolution, in dpi. + + + Separate horizontal and vertical resolution is used when exporting to TIFF. In other + cases, use the property instead. + + + + + Gets or sets vertical image resolution, in dpi. + + + Separate horizontal and vertical resolution is used when exporting to TIFF. In other + cases, use the property instead. + + + + + Gets or sets the jpg image quality. + + + This property is used if is set to Jpeg. By default + it is set to 100. Use lesser value to decrease the jpg file size. + + + + + Gets or sets the value determines whether to produce multi-frame tiff file. + + + + + Gets or sets a value that determines whether the Tiff export must produce monochrome image. + + + Monochrome tiff image is compressed using the compression method specified in the + property. + + + + + Gets or sets the compression method for a monochrome TIFF image. + + + This property is used only when exporting to TIFF image, and the property + is set to true. + The valid values for this property are: EncoderValue.CompressionNone, + EncoderValue.CompressionLZW, EncoderValue.CompressionRle, + EncoderValue.CompressionCCITT3, EncoderValue.CompressionCCITT4. + The default compression method is CCITT4. + + + + + Sets padding in non separate pages + + + + + Enable or disable saving streams in GeneratedStreams collection. + + + + + + + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Specifies the image export format. + + + + + Specifies the .bmp format. + + + + + Specifies the .png format. + + + + + Specifies the .jpg format. + + + + + Specifies the .gif format. + + + + + Specifies the .tif format. + + + + + Specifies the .emf format. + + + + + Represents the JSON export filter. + + + + + + + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Represents the LaTeX export filter. + + + + + + + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Base class for any ODF exports. + + + + + + + + Enum of OpenOffice formats. + + + + + OpenOffice Spreadsheet format. + + + + + OpenOffice Writer format. + + + + + Standard of ODF format. + + + + + ODF 1.0/1.1 + + + + + ODF 1.2 + + + + + XODF 1.0/1.1 + + + + + XODF 1.2 + + + + + Creator of the document + + + + + Is XODT format + + + + + Switch of page breaks + + + + + Wysiwyg mode, set for better results + + + + + Gets or sets locale for all document. + + + + + Gets or sets a value indicating that locale export are enabled. + + + + + Gets or sets ODF Compliance standard. + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + + + + Open Document Spreadsheet export (Open Office Calc). + + + + + Initializes a new instance of the class. + + + + + + + + Open Document Text export (Open Office Writer). + + + + + Initializes a new instance of the class. + + + + + + + + MS Word 2007 export class + + + + + + + + Types of table rows height + + + + + Exactly height + + + + + Minimum height + + + + + Enable or disable matrix view of document + + + + + Enable or disable Paragraph view of document + + + + + Disable section break in document + + + + + Gets or sets a value that determines whether the wysiwyg mode should be used + for better results. + + + Default value is true. In wysiwyg mode, the resulting Excel file will look + as close as possible to the prepared report. On the other side, it may have a lot + of small rows/columns, which will make it less editable. If you set this property + to false, the number of rows/columns in the resulting file will be decreased. + You will get less wysiwyg, but more editable file. + + + + + Gets or sets a value indicating whether to save the row height during export. + + + + + Gets or sets the type of height calculation. + + + + + Gets or sets the type of height calculation. + + + + + Enable or disable a resolution optimization. + + + + + Get or set a locale for all document. + + + + + Gets or sets a value indicating that locale export are enabled. + + + + + Gets or sets a value indicating that export will be used header and footer of Word page. + + + + + Gets or sets the value for adding bookmarks to each page. + + + + + Enable or disable DoNotExpandShiftReturn. + + + + + + + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the Word2007Export class. + + + + + Represents the PowerPoint 2007 export. + + + + + + + + Gets or sets the image format used when exporting. + + + + + Get or set a locale for all document. + + + + + Gets or sets a value indicating that locale export are enabled. + + + + + + + + + + + + + + + + + + + + + + + Get loacalization name. + + + + + + + + + Creates a new instance of the class with the default settings. + + + + + Excel 2007 export class + + + + + + + + Defines Print Scaling Mode. + + + + + Print sheets at thier actual size. + + + + + Shrink the printout so that it fits on one page. + + + + + Shrink the printout so that it is one page wide. + + + + + Shrink the printout so that it is one page high. + + + + + Move and modify the picture along with the cell. + + + + + Move but not resize the picture along with the cell. + + + + + Do not move or resize the picture along with the cell. + + + + + Gets or sets the Print Fit Mode. + + + + + Gets or sets the print scaling (value from 10 to 400). + + + + + Gets or sets the pinned cells in X ordinate. + + + + + Gets or sets the pinned cells in Y ordinate. + + + + + Sets or gets the flag using the preset print scale. + + + + + Gets or sets a value that determines whether the using locale data formatting. + + + + + Enable or disable show gridlines. + + + + + Gets or sets the font scale value. + Default value is 1 + + + + + Enable or disable a resolution optimization. + + + + + Each report page is placed on a new Excel page. + + + + + Each group is placed on a new Excel page. + + + + + Name of the selected group. + + + + + Gets or sets a value that determines whether the wysiwyg mode should be used + for better results. + + + Default value is true. In wysiwyg mode, the resulting Excel file will look + as close as possible to the prepared report. On the other side, it may have a lot + of small rows/columns, which will make it less editable. If you set this property + to false, the number of rows/columns in the resulting file will be decreased. + You will get less wysiwyg, but more editable file. + + + + + Gets or sets a value indicating that FileStream should be used instead of MomoryStream during export. + + + Enabling this option will reduce memory consumption, but increase the time of export. + + + + + Gets or sets a value indicating that currency should be converted to accounting format. + + + + + Gets or sets a value indicating that general should be converted to text format. + + + + + For delete temp files + + + + + Gets or sets a value that determines whether to insert page breaks in the output file or not. + + + + + Gets or sets a value that determines whether to export the databand rows only. + + + + + Enable or disable export of page footers and next page headers without table breaks. + + + + + Gets or sets a value that determines whether to export the databand rows only. + + + + + Grouping or ungrouping sheets. Grouping is enabled by default. + + + + + + + + + + + + + + + + + + + + + + + Gets the file name to export to. + + The full file name to export to. + + + + + + + Initializes a new instance of the class. + + + + + Main class of XML export + + + + + + + + PicturesCount + + + + + HumanReadable + + + + + + + + + + + + + + + + + + + + + + + Constructor of XPSExport + + + + + Destructor of XPSExport + + + + + Save + + + + + + + + + + + Padding over ridh object + + + + + This prperty keep RTF to DOC translation result, i.e. DOCX XML fragment + + + + + Checks for the presence of the necessary placeholders + + + + + + Changed text according to conditions + + + + Replaces placeholders with the required XML + + + + + + + + + + + Base class for Microsoft Office 2007 export objects + + + + + Default XML header + + + + + Base class for export Office Open objects + + + + + Core document properties + + + + + Core document properties + + + + + Power point shape + + + + + Power Point Layout Descriptor + + + + + Power Point base class for style element + + + + + Base class for styles group + + + + + Base class for slides, masters, and layouts + + + + + Slide masters object + + + + + Ordinaty slide + + + + + Slide layout object + + + + + Presentation class + + + + + PPt Application Properties class + + + + + Ppt Table styles class + + + + + Ppt Presentation properties class + + + + + Ppt View Properties class + + + + + Specifies the image format in PowerPoint export. + + + + + Specifies the .png format. + + + + + Specifies the .jpg format. + + + + + Drawing class + + + + + Share all strings in document + + + + + Share all URL in document + + + + + Document styles + + + + + Workbook + + + + + OoXMLSheet class + + + + + Picture container + + + + + List of all document fonts + + + + + Single page export + + + + + Document structure descriptor + + + + + Font container + + + + + Font obfuscation procedure + + + + + PDF export (Adobe Acrobat) + + + + + + + + Embedded File + + + + + Name of embedded file. + + + + + Description of embedded file. + + + + + Modify Date of embedded file. + + + + + Relationship between the embedded document and the PDF part. + + + + + Valid MIME type. + + + + + Stream of embedded file. + + + + + File reference. + + + + + ZUGFeRD Conformance Level. + + + + Initializes a new instance of the class. + + + + Default preview size. + + + + + Actual size + + + + + Fit Page + + + + + Fit Width + + + + + Default + + + + + 10% + + + + + 25% + + + + + 50% + + + + + 75% + + + + + 100% + + + + + 125% + + + + + 150% + + + + + 200% + + + + + 400% + + + + + 800% + + + + + Standard of PDF format. + + + + + PDF 1.5 + + + + + PDF/A-1a + + + + + PDF/A-2a + + + + + PDF/A-2b + + + + + PDF/A-2u + + + + + PDF/A-3a + + + + + PDF/A-3b + + + + + Pdf/X-3 + + + + + Pdf/X-4 + + + + + Color Space. + + + + + RGB color space + + + + + CMYK color space + + + + + Types of pdf export. + + + + + Simple export + + + + + Web print mode + + + + + Relationship between the embedded document and the PDF part. + + + + + The embedded file contains data which is used for the visual representation. + + + + + The embedded file contains the source data for the visual representation derived therefrom in the PDF part. + + + + + This data relationship should be used if the embedded data are an alternative representation of the PDF contents. + + + + + This data relationship is used if the embedded file serves neither as the source nor as the alternative representation, but the file contains additional information. + + + + + If none of the data relationships above apply or there is an unknown data relationship, this data relationship is used. + + + + + ZUGFeRD Conformance Level. + + + + + Basic level. + + + + + Comfort level. + + + + + Extended level. + + + + + Gets or sets PDF Compliance standard. + After set, do not change other settings, it may lead to fail compliance test. + + + + + Enable or disable of embedding the TrueType fonts. + + + + + Enable or disable of exporting the background. + + + + + Enable or disable export text in curves + + + + + Gets or sets PDF color space + + + + + Enables or disables saving images in their original resolution + + + + + Enables or disables optimization of images for printing + + + + + Enable or disable image jpeg compression + + + + + Sets the quality of images in the PDF + + + + + Title of the document. + + + + + Author of the document. + + + + + Subject of the document. + + + + + Keywords of the document. + + + + + Creator of the document. + + + + + Producer of the document. + + + + + Sets the owner password. + + + + + Sets the user password. + + + + + Enable or disable printing in protected document. + + + + + Enable or disable modifying in protected document. + + + + + Enable or disable copying in protected document. + + + + + Enable or disable annotating in protected document. + + + + + Enable or disable the print dialog window after opening + + + + + Enable or disable hide the toolbar. + + + + + Enable or disable hide the menu's bar. + + + + + Enable or disable hide the Windows UI. + + + + + Enable or disable of fitting the window + + + + + Enable or disable of centering the window. + + + + + Enable or disable of scaling the page for shrink to printable area. + + + + + Enable or disable of document's Outline. + + + + + Set default zoom on open document + + + + + Sets the quality of RichText objects in the PDF + + + + + Enable or disable the compression in PDF document. + + + + + Enable or disable of images transparency. + + + + + Enable or disable of displaying document's title. + + + + + Set default page on open document + + + + + Color Profile (ICC file). + If "null" then default profile will be used + + + + + Gets or sets pdf export mode + + + + + Gets pdf AcroForms compatibility, if set then EmbeddingFonts = false and PdfCompliance = PdfStandard.None + + + + + Set pattern for selection of embedding glyphs for Interactive Forms + + + + + Enable or disable using FileStream instead of MemoryStream when exporting. + Its useful when exporting huge reports on machines with small amount of RAM. + + + + + Enable or disable digital sign for pdf document + + + Be sure to specify a valid certificate for signing using the DigitalSignCertificate property. + Or using the DigitalSignCertificatePath and DigitalSignCertificatePassword properties. + + + + + Should save and serialize password for digital sign certificate. + Do not save password unless absolutely necessary!!! + + + + + Manualy sets digital sign certificate for exported documents. + + + This property is in priority, i.e. if a certificate is specified, + the DigitalSignCertificatePath and DigitalSignCertificatePassword properties will not be used. + + + + + The path for load digital sign certificate. + + + + + Sets digital sign certificate password. + + + + + Gets or sets the cpu host name or physical location of the signing + + + + + The reason for the signing, such as (I agree ...) + + + + + The information to enable the recipient to contact the signer to verify the signature + + + + + + + + + + + Begin exporting of page + + + + + + End exporting + + + + + + Export of Band + + + + + + + + + + + + Add an embedded XML file (only for PDF/A-3 standard). + + File name + Description + Modification date + File stream + + + + Add an embedded XML file (only for PDF/A-3 standard). + + File name + Description + Modification date + File stream + ZUGFeRD Conformance Level + + + + Add an embedded file (only for PDF/A-3 standard). + + File name + Description + Modification date + Relation type + MIME type + File stream + + + + Initializes a new instance of the class. + + + + + Calculates mask for image. + + + + + Calculates image bounds according to . + + + + + Writes pixels' colors without alpha to stream according to CMYK or RGB color space. + Pixels should be in the format. + + + + + Update stream position for object number, only for int value + + int value + + + + + + The pdf export + size of place for svg + + + + The interpolation of curves (svg) + + + + + The interpolation of curves (text) + + + + + Export svg object as image, not vector + + + + + Gradient interpolation, high value will lead beautiful the gradient, + but the file size will increase and the speed of work will decrease. + + + + + The quality of gradient, export as image or export as gradient grid + + + + + Added graphics path to pdf, + + size of rect for gradient filling + path, with positions in pdf scaling + Any brush + Interpolation value + + matrix for transform to pdf scale + + + + returns true if this gradient is fillable by gradient grid + + + + + + The enum of curves interpolation + + + + + Export as curves, without interpolation + + + + + Two points + + + + + Four points + + + + + Eight points + + + + + Sixteen points + + + + + The enum of gradient interpolation points + + + + + Two points + + + + + Four points + + + + + Eight points + + + + + Sixteen points + + + + + Thirty two points + + + + + Sixty four points + + + + + One hundred and twenty eight points + + + + + Two hundred and fifty six points + + + + + The quality of gradient export + + + + + Export as image + + + + + Export as low quality gradient grid, max size of interpolation points is 32 + + + + + Export as medium quality gradient grid, max size of interpolation points is 128 + + + + + Export as high quality gradient grid, max size of interpolation points is 256 + + + + + File name without extentions, for example "MetaDataX" + + + + Represents the PPML export filter. + + + + + + + + Enable or disable the pictures in PPML export + + + + + Add TextObject. + + + + + Add BandObject. + + + + + Add Line. + + + + + Add Shape. + + + + + + + + Begin exporting of page + + + + + + Export of Band + + + + + + End exporting + + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Contains Dashes enum + + + + + Specifies the Dash. + + + + + Specifies the Dot. + + + + + Specifies the DashDot. + + + + + Specifies the DashDotDot. + + + + + Specifies the Double line. + + + + + Create Window. + + + + + Add image as PPMLObject + + + + + + + + + + Save svg file. + + + + + Save svg stream. + + + + + + + + + + Represents the ps export filter. + + + + + + + + Enable or disable the pictures in PS export + + + + + Enable or disable export text in curves + + + + + Enable or disable export every page in separate file + + + + + Enable or disable saving every image in separate file + + + + + Gets or sets quality of JPEG images + + + + + Add TextObject. + + + + + Add BandObject. + + + + + Add Line. + + + + + Add Shape. + + + + + + + + Begin exporting of page + + + + + + Export of Band + + + + + + End exporting + + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Contains Dashes enum + + + + + Specifies the Dash. + + + + + Specifies the Dot. + + + + + Specifies the DashDot. + + + + + Specifies the DashDotDot. + + + + + Specifies the Double line. + + + + + Create Window. + + + + Add TextLine in curves + + + + Method for add TextObject. + + + + + Method to add rectangle. + + + + + Method for add ellips. + + + + + Method for add triangle. + + + + + Method for add Diamond. + + + + + Method for add line. + + + + + Method for add line with dash. + + + + + Add image + + + + + + + + + + + Add image as hex code + + + + + + + + + + End of each page + + + + + Save file. + + + + + Save stream. + + + + + + + + + Represents the RTF export filter. + + + + + + + + Gets or sets the quality of Jpeg images in RTF file. + + + Default value is 90. This property will be used if you select Jpeg + in the property. + + + + + Gets or sets the image format that will be used to save pictures in RTF file. + + + Default value is Metafile. This format is better for exporting such objects as + MSChartObject and ShapeObject. + + + + + Gets or sets a value indicating that pictures are enabled. + + + + + Gets or sets a value indicating that page breaks are enabled. + + + + + Get or set a locale for all document. + + + + + Gets or sets a value indicating that locale export are enabled. + + + + + Gets or sets a value that determines whether the wysiwyg mode should be used + for better results. + + + Default value is true. In wysiwyg mode, the resulting rtf file will look + as close as possible to the prepared report. On the other side, it may have a lot + of small rows/columns, which will make it less editable. If you set this property + to false, the number of rows/columns in the resulting file will be decreased. + You will get less wysiwyg, but more editable file. + + + + + Gets or sets the PrintOptimized. + + + + + Gets or sets the creator of the document. + + + + + Gets or sets a value that determines whether the rows in the resulting table + should calculate its height automatically. + + + Default value for this property is false. In this mode, each row in the + resulting table has fixed height to get maximum wysiwyg. If you set it to true, + the height of resulting table will be calculated automatically by the Word processor. + The document will be more editable, but less wysiwyg. + + + + + Gets or sets a value that determines whether the repot's RichObject will be + translated as picture or joined to generated RTF. + + + Default value for this property is false. In this mode, each RichObject + will be embedded as a picture. This is default behavior. If you set it to true, + the RichObject will be incorporated as a navive part of document. This is experimetal + feature. + + + + + + + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Specifies the image format in RTF export. + + + + + Specifies the .png format. + + + + + Specifies the .jpg format. + + + + + Specifies the .emf format. + + + + + Represents the SVG export filter. + + + + + + + + Enable or disable the pictures in SVG export + + + + + Gets or sets the image format used when exporting. + + + + + Embed images into svg + + + + + Gets or sets value indicating whether or not should to force uniform scaling of SVG document + + + + + Gets or sets value indicating whether or not should be added 'viewBox' attribute to the svg tag + + + + + Gets or sets value indicating whether or not should be added 'width' and 'height' attributes to the svg tag + + + + + Gets or sets the prefix for style classes and object ids + + + + + + + + Begin exporting of page + + + + + + + + + End exporting + + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Specifies the alignment methods + + + + + Do not force uniform scaling. Scale the graphic content of the given element non-uniformly + if necessary such that the element's bounding box exactly matches the viewport rectangle. + + + + + Force uniform scaling. Align the min-x of the element's viewBox with the smallest X value + of the viewport. Align the min-y of the element's viewBox with the smallest Y value of the viewport. + + + + + Force uniform scaling. Align the midpoint X value of the element's viewBox with the midpoint + X value of the viewport. Align the min-y of the element's viewBox with the smallest Y value + of the viewport. + + + + + Force uniform scaling. Align the min-x+width of the element's viewBox with the maximum X value + of the viewport. Align the min-y of the element's viewBox with the smallest Y value of the viewport. + + + + + Force uniform scaling. Align the min-x of the element's viewBox with the smallest X value of + the viewport. Align the midpoint Y value of the element's viewBox with the midpoint Y value + of the viewport. + + + + + The default. Force uniform scaling. Align the midpoint X value of the element's viewBox + with the midpoint X value of the viewport. Align the midpoint Y value of the element's + viewBox with the midpoint Y value of the viewport. + + + + + Force uniform scaling. Align the min-x+width of the element's viewBox with the maximum X + value of the viewport. Align the midpoint Y value of the element's viewBox with the midpoint + Y value of the viewport. + + + + + Force uniform scaling. Align the min-x of the element's viewBox with the smallest X value of + the viewport. Align the min-y+height of the element's viewBox with the maximum Y value of the viewport. + + + + + Force uniform scaling. Align the midpoint X value of the element's viewBox with the midpoint X + value of the viewport. Align the min-y+height of the element's viewBox with the maximum Y value + of the viewport. + + + + + Force uniform scaling. Align the min-x+width of the element's viewBox with the maximum X value of + the viewport. Align the min-y+height of the element's viewBox with the maximum Y value of the viewport. + + + + + Specifies the svg scale types + + + + + (the default) - Scale the graphic such that: + - aspect ratio is preserved + - the entire viewBox is visible within the viewport + - the viewBox is scaled up as much as possible, while still meeting the other criteria + + + + + Scale the graphic such that: + - aspect ratio is preserved + - the entire viewport is covered by the viewBox + - the viewBox is scaled down as much as possible, while still meeting the other criteria + + + + + Describes scaling of a svg documents + + + + + Gets the align value + + + + + Gets the meetOrSlice value + + + + + Initializes a new instance of the class. + + + + + + Initializes a new instance of the class. + + Align value + meetOrSlice value + + + + Represents the text export. + + + + + + + + Enable or disable the Data loss avoiding. + Auto calculation of ScaleX and ScaleY will be launched when dialogue window will be off. + + + + + Gets or sets the count of copies for printing of results. + + + + + Gets or sets the printer name for printing of results. + + + + + Enable or disable the printing results after export. + + + + + Gets or sets the active index of registered printer type. + + + + + Gets or sets the list of printer types. + + + + + Gets or sets the scale by X axis for correct text objects placement. + + + + + Gets or sets the scale by Y axis for correct text objects placement. + + + + + Gets or sets the encoding of resulting document. + + + Windows ANSI encoding + TextExport.Encoding = Encoding.Default; + Unicode UTF-8 encoding + TextExport.Encoding = Encoding.UTF8; + OEM encoding for current system locale sessings + TextExport.Encoding = Encoding.GetEncoding(CultureInfo.CurrentCulture.TextInfo.OEMCodePage); + + + + + Enable or disable the data only output without any headers. Default value is false. + + + + + Enable or disable the breaks of pages in resulting document. Default value is true. + + + + + Enable or disable frames in resulting document. Default value is true. + + + + + Enable or disable the text (non graphic) frames in resulting document. Default value is false. + + + + + Enable or disable the output of empty lines in resulting document. Default value is false. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Exports the page. + + + + + + + Calculates scale. + + + + + + Initializes a new instance of the class. + + + + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Represents the printer command class + + + + + Gets or sets the active state of command. Default value is false. + + + + + Gets or sets the command name. + + + + + Gets or sets the list of "on sequence". + + + + + Gets or sets the list of "off sequence". + + + + + Initializes a new instance of the class. + + + + + Represents of the printer type class. + + + + + Gets or sets the printer name. + + + + + Gets or sets the list of printer commands. + + + + + Initializes a new instance of the class. + + + + + Represents supplement class for print of any stream directly in printer. + + + + + Prints a stream. + + Printer name on which should be print. + Document title for printer spooler. + Count of copies. + Stream that will be printed. + This example demonstrates the printing of Stream. + + TextExportPrint.PrintStream("EPSON FX-1000", "My Report", 1, txtStream) + + + + + Represents the XAML export filter. + + + + + + + + Gets or sets the class name of XAML document + + + + + Enable or disable the pictures in XAML export + + + + + Gets or sets the image format used when exporting. + + + + + Get or set scrollbar settings + + + + + Get dictionary of saved images + + + + + Add TextObject. + + + + + Add BandObject. + + + + + Add Line. + + + + + Add Shape. + + + + + + + + Begin exporting of page + + + + + + Export of Band + + + + + + End exporting + + + + + + + + + + + + Gem MemoryStream what contain image + + + + + + + + + + Initializes a new instance of the class. + + + + + Contains Dashes enum + + + + + Specifies the Dash. + + + + + Specifies the Dot. + + + + + Specifies the DashDot. + + + + + Specifies the DashDotDot. + + + + + Specifies the Double line. + + + + + XAML generator + + + + + Create Window. + + + + + Create Grid. + + + + + Create Canvas. + + + + + Create StackPanel + + + + + Create StackPanel + + + + + Create Resources tag + + + + + Add resource for TextObject + + + + + Add resource for TextObject with angle + + + + + Add resource for Line + + + + + Add resource for Rectangle + + + + + Add resource for Ellipse + + + + + Add resource for Polygon + + + + + Add TextObject. + + + + + Method for add TextObject with angle + + + + + Add line. + + + + + Add line with dash. + + + + + Add rectangle. + + + + + Add ellips. + + + + + Add triangle. + + + + + Add Diamond. + + + + + Add image + + + + + + + + + + + + Add image without name + + + + + + + + + + + Add page to StackPanel + + + + + + Save xaml file. + + + + + Save xaml stream. + + + + + + + + + + + + + Specifies the image format in XAML export. + + + + + Specifies the .png format. + + + + + Specifies the .jpg format. + + + + + Represents the Excel 2003 XML export filter. + + + + + + + + Gets or sets a value that determines whether to insert page breaks in the output file or not. + + + + + + Gets or sets a value that determines whether the wysiwyg mode should be used + for better results. + + + Default value is true. In wysiwyg mode, the resulting Excel file will look + as close as possible to the prepared report. On the other side, it may have a lot + of small rows/columns, which will make it less editable. If you set this property + to false, the number of rows/columns in the resulting file will be decreased. + You will get less wysiwyg, but more editable file. + + + + + Gets or sets the name of document creator. + + + + + Gets or sets a value that determines whether to export the databand rows only. + + + + + Each report page is placed on a new Excel page. + + + + + + + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Represents the Zpl export filter. + + + + + + + + Enum of ZPL format versions. + + + + + Standart ZPL + + + + + ZPL II + + + + + Enum of densty types of Zebra printers. + + + + + 6 dpmm(152 dpi) + + + + + 8 dpmm(203 dpi) + + + + + 12 dpmm(300 dpi) + + + + + 24 dpmm(600 dpi) + + + + + Sets the density of printer. + + + + + Gets or sets the version of ZPL. + + + + + Sets the init string for sending before printing the document. + + + + + Sets the code page of document. Default is UTF-8 (^CI28). + + + + + Sets the string for sending after printing the document. + + + + + Sets the string for sending before printing each page. + + + + + Sets the scale font size. + + + + + Sets the scale barcode size. + + + + + Sets the Printer Font, default value is "A". + + + + + Enable or disable export as bitmap. + + + + + Writes the string value in stream. + + + + + + + Writes the string value in stream with CRLF. + + + + + + + Gets the left position in zpl units. + + + + + + + Gets the top position in zpl units. + + + + + + + Exports the TableObject. + + + + + + Exports the LineObject. + + + + + + Exports the ShapeObject. + + + + + + Exports the TextObject. + + + + + + Gets the position of object in ZPL code. + + + + + + + + Gets the text attributes in ZPL code. + + + + + + + + + + + Gets the text with font width and height in ZPL code. + + + + + + + + + Gets the horiz align in ZPL code. + + + + + + + Gets the rectangle in ZPL code. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + For internal use only. + + + + + Gets current page width. + + + + + + + Gets current page height. + + + + + + + + + + + + + + For developers only + + + + + Convert index to Excel column name. + + Index of column + Column name + + + + Specifies the export font class. + + + + + Return text metric structure, need to use after FillOutlineTextMetrix() + + + + + Gets or sets internal font name + + + + + Return source font used in constructor + + + + + Returns multiplier for stroke bold emulation + + + + + Gets or sets internal reference + + + + + Gets or sets internal property - save flag + + + + + True if bold style is not supported by font + + + + + True if italic style is not supported by font + + + + + Mark font as editable for InteractiveForms + + + + + Get PostScript name of font + + + + + Return font file + + + + + + Get font data and set NeedSimulateBold and NeedSimulateItalic properties. Call this method after FillOutlineTextMetrix + + + + + Returns a list of font runs from the string specified. Also adds glyphs to the used glyphs table. + + + + + + + + + Get alphabet's subset from generation of pattern. + + Regular expression with pattern generator + Use left-to-right rules + + + + Return english name of source font + + + + + + Create object of ExportTTFFont. + + + + + + Destructor + + + + + This property for internal use only. + + + + + Binary tree class + + + + + Maximal value between child and parent + + + + + Nodes count + + + + + Root node + + + + + Nodes array. Accending sorting by node value. Available after close of tree. + + + + + Acceptable inaccuracy of new values. + + + + + Recursive add value to a node. + + + + + + + + Poll right child node for correct balance. + + + + + + Poll left child for correct balance. + + + + + + Recursive indexation of node and childs. + + + + + + Add new value in tree. All equals are skipped. + + + + + + Close the tree and make index array. + + + + + Seek of value index in the tree. + + + + + + + Find of value index in sub-tree of node. + + + + + + + + Borrow values form List in the tree + + + + + + Borrow values form array in the tree + + + + + + Clear tree + + + + + Tree constructor + + + + + Tree node class + + + + + Link to left child + + + + + Link to right child + + + + + Node value + + + + + Count of nodes in left sub-tree + + + + + Count of nodes in right sub-tree + + + + + Node index + + + + + Node constructor + + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed. Otherwise, false. + + + + Represents a gauge object. + + + + + + + + + + + Gets or sets the minimal value of gauge. + + + + + Gets or sets the maximal value of gauge. + + + + + Gets or sets the current value of gauge. + + + + + Gets or sets scale of gauge. + + + + + Gets or sets pointer of gauge. + + + + + Gets or sets gauge label. + + + + + Gets or sets an expression that determines the value of gauge object. + + + + + Gets a value that specifies is gauge vertical or not. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Minimum value of gauge. + Maximum value of gauge. + Current value of gauge. + + + + Initializes a new instance of the class. + + Minimum value of gauge. + Maximum value of gauge. + Current value of gauge. + Scale of gauge. + Pointer of gauge. + + + + + + + + + + + + + Draws the gauge. + + Draw event arguments. + + + + + + + Clone Gauge Object + + clone of this object + + + + Represents a linear gauge. + + + + + Gets or sets the value that specifies inverted gauge or not. + + + + + Gets or sets gauge label. + + + + + Initializes a new instance of the class. + + + + + + + + + + + + + + + + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Represents a linear pointer. + + + + + Gets o sets the height of gauge pointer. + + + + + Gets or sets the width of a pointer. + + + + + Initializes a new instance of the + + The parent gauge object. + + + + + + + + + + + + + Represents a linear scale. + + + + + Initializes a new instance of the class. + + The parent gauge object. + + + + + + + + + + + + + Represents a linear gauge. + + + + + + + + + + + + + + Returns centr of the gauge + + + + + The number of radians in one degree + + + + + Gets or sets the Radial Gauge type + + + + + Gats or sets the Radial Gauge position. Doesn't work for Full Radial Gauge. + + + + + Gets or sets the semicircles offset + + + + + Initializes a new instance of the class. + + + + + + + + + + + + + + + + + + + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Radial Gauge types + + + + + Full sized gauge + + + + + Half of the radial gauge + + + + + Quarter of the radial gauge + + + + + Radial Gauge position types + + + + + None + + + + + Top + + + + + Bottom + + + + + Left + + + + + Right + + + + + Represents a linear pointer. + + + + + Gets or sets the value, indicating that gradient should be rotated automatically + + + + + Initializes a new instance of the + + The parent gauge object. + The scale object. + + + + + + + Represents a linear scale. + + + + + Initializes a new instance of the class. + + The parent gauge object. + + + + + + + + + + + + + Represents a simple progress gauge. + + + + + Gets or sets gauge label. + + + + + Gets scale. Should be disabled for SimpleProgressGauge + + + + + Initializes a new instance of the class. + + + + + + + + + + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + + + + Gets or sets the number of fractional digits + + + + + + + + + + + + + + SimpleProgressGauge pointer types + + + + + Full sized pointer + + + + + Small pointer + + + + + + + + Gets or sets the pointer type + + + + + Gets or sets the small pointer width ratio + + + + + + + + + + + + + + Represents a simple gauge. + + + + + Gets or sets gauge label. + + + + + Initializes a new instance of the class. + + + + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Represents a simple pointer. + + + + + Gets o sets the Left offset of gauge pointer. + + + + + Gets o sets the Top offset of gauge pointer. + + + + + Gets o sets the height of gauge pointer. + + + + + Gets or sets the width of a pointer. + + + + + Gets or sets the pointer ratio. + + + + + Gets or sets the pointer horizontal offset (cm). + + + + + Initializes a new instance of the class. + + The parent gauge object. + + + + + + + + + + + + + Represents a simple scale. + + + + + Gets or sets the first subscale (top or left). + + + + + Gets or sets the second subscale (right or bottom). + + + + + Initializes a new instance of the class. + + The parent gauge object. + + + + + + + + + + + + + Represent the subscale of simple scale. + + + + + Gets or sets a value that specifies enabled subscale or not. + + + + + Gets or sets a value that specifies show caption or not. + + + + + Initializes a new instance of the class. + + + + + Copies the contents of another SimpleSubScale. + + The SimpleSubScale instance to copy the contents from. + + + + Serializes the SimpleSubScale. + + Writer object. + SimpleSubScale property name. + Another SimpleSubScale to compare with. + + This method is for internal use only. + + + + + Represents a label of a gauge. + + + + + Gets or sets the label text + + + + + Gets or sets the label font + + + + + Gets or sets the label color + + + + + Gets or sets the label parent + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Label text + Label font + Label color + Label parent + + + + Copies the contents of another GaugeLabel. + + The GaugeLabel instance to copy the contents from. + + + + Draws the gauge label. + + Draw event arguments. + + + + Serializes the gauge label. + + Writer object. + Gauge label property name. + Another GaugeLabel to compare with. + + This method is for internal use only. + + + + + Represents a pointer of gauge. + + + + + Gets or sets the parent gauge object. + + + + + Gets or sets the color of a pointer. + + + + + Gets or sets the border width of a pointer. + + + + + Gets or sets the border color of a pointer. + + + + + Initializes a new instance of the class. + + The parent gauge object. + + + + Copies the contents of another GaugePointer. + + The GaugePointer instance to copy the contents from. + + + + Draws the gauge pointer. + + Draw event arguments. + + + + Serializes the gauge pointer. + + Writer object. + Gauge pointer property name. + Another GaugePointer to compare with. + + This method is for internal use only. + + + + + Represents a scale of a gauge. + + + + + Gets or sets major ticks of scale. + + + + + Gets or sets minor ticks of scale. + + + + + Gets or sets the parent gauge object. + + + + + Gets or sets the font of scale. + + + + + Gets or sets the scale font color + + + + + Initializes a new instance of the class. + + The parent gauge object. + + + + Copies the contents of another GaugeScale. + + The GaugeScale instance to copy the contents from. + + + + Draws the scale of gauge. + + Draw event arguments. + + + + Serializes the gauge scale. + + Writer object. + Scale property name. + Another GaugeScale to compare with. + + This method is for internal use only. + + + + + Represents a scale ticks. + + + + + Gets or sets the length of ticks. + + + + + Gets or sets the width of ticks. + + + + + Gets or sets the color of ticks. + + + + + Gets or sets the count of ticks + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Ticks length. + Ticks width. + Ticks color. + + + + Initializes a new instance of the class. + + Ticks length. + Ticks width. + Ticks color. + Ticks count. + + + + Copies the contents of another ScaleTicks. + + The ScaleTicks instance to copy the contents from. + + + + Serializes the scale ticks. + + Writer object. + Scale ticks property name. + Another ScaleTicks to compare with. + + This method is for internal use only. + + + + + Provides a user interface for editing an angle in degrees. + + + + + + + + + + + Provides a user interface for selecting a component inside the same band. + + + + + + + + + + + + + + Provides a user interface for editing a component's border. + + + + + + + + + + + Provides a user interface for choosing a color. + + + + + + + + + + + + + + + + + Provides a user interface for choosing a data source. + + + + + + + + + + + Provides a user interface for choosing a data column. + + + + + + + + + + + + + + Provides a user interface for choosing a data source. + + + + + Provides a user interface for choosing a data type. + + + + + + + + + + + Provides a user interface for editing an expression. + + + + + + + + + + + Provides a user interface for editing a fill. + + + + + + + + + + + Provides an user interface for editing a flags enumeration. + + + + + + + + + + + Provides a user interface for editing a string collection. + + + + + + + + + + + Provides a user interface for editing a text outline. + + + + + + + + + + + Provides a user interface for selecting a component inside the same page. + + + + + + + + + + + + + + Provides a user interface for choosing a relation. + + + + + Provides a user interface for selecting a component inside the report. + + + + + + + + + + + + + + + + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed. Otherwise, false. + + + + Represents a map object. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets or sets the path to folder containing shapefiles. + + + This property is used by the map editor when selecting a shapefile. + + + + + Gets or sets the map zoom. + + + + + Gets or sets minimum zoom value. + + + + + Gets or sets maximum zoom value. + + + + + Gets or sets the X offset of the map. + + + + + Gets or sets the Y offset of the map. + + + + + Gets or sets the value indicating that mercator projection must be used to view the map. + + + + + Gets the color scale settings. + + + + + Gets or sets a collection of map layers. + + + + + Gets or sets padding within the map. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Loads a map from file. + + Name of file that contains a map. + + + + Creates unique names for all contained objects such as layers, shapes, etc. + + + + + Initializes a new instance of the class. + + + + + Represents a map point. + + + + + Gets or sets the X-coordinate of the point. + + + + + Gets or sets the Y-coordinate of the point. + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Represents a polygon shape. + + + + + Holds the largest bounding rectangle of this shape. + + + + + Gets or sets a bounding box of this shape. + + + + + Gets or sets a list of polygons in this shape. + + + + + Gets or sets the shape data in binary format. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Represents four coordinates that define a bounding box. + + + + + Gets or sets the minimum X-coordinate of a bounding box. + + + + + Gets or sets the minimum Y-coordinate of a bounding box. + + + + + Gets or sets the maximum X-coordinate of a bounding box. + + + + + Gets or sets the maximum Y-coordinate of a bounding box. + + + + + Copies the contents of another instance. + + Source box to copy the contents from. + + + + Defines the palette used to display map shapes. + + + + + No palette used. + + + + + Light palette. + + + + + Pastel palette. + + + + + Grayscale palette. + + + + + Earth tones palette. + + + + + Sea green palette. + + + + + Bright pastel palette. + + + + + Represents a set of color ranges used to highlight polygons based on analytical value. + + + + + Gets the list of ranges. + + + + + Gets or sets the number of ranges. + + + + + Gets or sets the start color. + + + + + Gets or sets the middle color. + + + + + Gets or sets the end color. + + + + + Gets or sets a value indicating that the map's color scale must display data from this color ranges. + + + + + Gets or sets ranges as a string. + + + + + Copies the contents of another ColorRanges. + + The ColorRanges instance to copy the contents from. + + + + Gets a color associated with given analytical value. + + The analytical value. + The color associated with this value, or Color.Transparent if no association found. + + + + Initializes a new instance of the class. + + + + + Represents a single color range. + + + + + Gets or sets color of the range. + + + + + Gets or sets start value of the range. + + + + + Gets or sets end value of the range. + + + + + Copies the contents of another ColorRange. + + The ColorRange instance to copy the contents from. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a specified parameters. + + The color of the range. + The start value of the range. + The end value of the range. + + + + Represents the color scale. + + + + + Gets or sets that must be displayed in this color scale. + + + + + Gets or sets the format string used to format data values. + + + + + Gets or sets a value indicating whether the color scale must be hidden if there is no data in it. + + + + + Gets or sets the text displayed in the color scale if there is no data in it. + + + + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Represents a distance scale. + + + + + Initializes a new instance of the class. + + + + + Represents loading map data from dbf-file. + + + + + Gets or sets the filter string used in an open file dialog. + + + + + Initializes a new instance of the class. + + + + + Returns a file filter for an open file dialog. + + String that contains a file filter. + + + + Imports the map data from a specified file into a specfied layer. + + The MapObject for an importing map. + The name of a file that contains map. + + + + Represents the description of dBase field. + + + + + Gets the field name. + + + + + Gets the field type. + + + + + Gets the field length. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a specified parameters. + + The field name. + The field type. + The field length. + + + + Initializes a new instance of the class with a specified parameters. + + The field name. + The field type. + The field length. + + + + The type of dBase field. + + + + + Character field. + + + + + Date field. + + + + + Numeric field. + + + + + Logical field. + + + + + Memo field. + + + + + Represents a collection of objects. + + + + + Gets a layer with specified index. + + Index of a layer. + The layer with specified index. + + + + Specifies the type of objects that layer contains. + + + + + The layer contains points. + + + + + The layer contains lines. + + + + + The layer contains polygons. + + + + + Specifies the spatial source for the layer. + + + + + Source is ESRI shapefile. + + + + + Source is a latitude/longitude/name provided by an application. + + + + + Determines how map labels are displayed. + + + + + No label displayed. + + + + + The shape name is displayed. + + + + + The value is displayed. + + + + + Both name and value displayed. + + + + + Represents a map layer. + + + + + Gets or sets a type of layer. + + + + + Gets or sets the spatial source for the layer. + + + + + Gets or sets the name of ESRI shapefile. + + + + + Gets or sets the data source. + + + + + Gets or sets the datasource filter expression. + + + + + Gets or sets spatial column name. + + + This property is used if the is set to ShpFile. + + + + + Gets or sets an expression that returns spatial value. + + + This property is used if the is set to ShpFile. + + + + + Gets or sets an expression that returns latitude value. + + + This property is used if the is set to ApplicationData. + + + + + Gets or sets an expression that returns longitude value. + + + This property is used if the is set to ApplicationData. + + + + + Gets or sets an expression that returns label value. + + + This property is used if the is set to ApplicationData. + + + + + Gets or sets an expression that returns analytical value. + + + + + Gets or sets label's column name. + + + + + Gets or sets a value that determines how map labels are displayed. + + + + + Gets or sets the format of label's value. + + + + + Gets or sets the map accuracy. Lower value is better, but slower. + + + + + Gets or sets the value that determines the labels visiblity at a certain zoom value. + + + + + Gets or sets the aggregate function. + + + + + Gets or sets a value indicating that the layer is visible. + + + + + Gets or sets a bounding box of layer. + + + + + Gets a collection of map objects. + + + + + Gets the default style of shapes in this layer. + + + + + Gets or sets the palette used to highlight shapes. + + + + + Gets the color ranges used to highlight shapes based on analytical value. + + + + + Gets the size ranges used to draw points based on analytical value. + + + + + Gets or sets the expression that returns the name of polygon to zoom. + + + + + Gets or sets the bounding box as a string. + + + + + Gets a reference to the Map object. + + + + + + + + Draws the layer. + + The drawing parameters. + + + + Finds the shape under cursor. + + The cursor coordinates. + The ShapeBase object if found. + + + + + + + Creates unique names for all contained objects such as points, lines, polygons, etc. + + + + + Reduces the number of points in the shapes in this layer. + + The accuracy value. + + + + Loads the layer contents from ESRI shapefile (*.shp/*.dbf). + + The file name. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Adds application provided data. + + Latitude value. + Longitude value. + The name displayed as a label. + Analytical value. + + Use this method if the is set to ApplicationData. + + + + + Adds a spatial/analytical value pair to the list. + + The spatial value. + The analytical value. + + Use this method if the is set to ShpFile. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Represents a pair of double coordinates that defines a constituent point. + + + + + Gets or sets the X-coordinate of a point. + + + + + Gets or sets the Y-coordinate of a point. + + + + + Creates a new instance of the class with specified coordinates. + + X coordinate. + Y coordinate. + + + + Specifies the position of a scale control inside the map. + + + + + The scale is displayed at top left corner. + + + + + The scale is displayed at top center side. + + + + + The scale is displayed at top right corner. + + + + + The scale is displayed at middle left side. + + + + + The scale is displayed at middle right side. + + + + + The scale is displayed at bottom left corner. + + + + + The scale is displayed at bottom center side. + + + + + The scale is displayed at bottom right corner. + + + + + The base class for scale-type controls such as and . + + + + + Gets or sets the border. + + + + + Gets or sets the fill. + + + + + Gets or sets the title font. + + + + + Gets or sets the title text color. + + + + + Gets or sets the title text. + + + + + Gets or sets the font. + + + + + Gets or sets the text color. + + + + + Gets or sets the border color. + + + + + Gets or sets the location of the scale. + + + + + Gets or sets the visibility of a scale. + + + + + Copies the contents of another ScaleBase. + + The ScaleBase instance to copy the contents from. + + + + Serializes the scale. + + Writer object. + Scale property name. + Another ScaleBase to compare with. + + This method is for internal use only. + + + + + Gets the size of the scale, in pixels. + + The SizeF structure containing the size of the object. + + + + Draws the object. + + Draw parameters. + Parent map object. + + + + Initializes a new instance of the class. + + + + + The base class for shape objects such as , and . + + + + + Gets or sets the shape visibility. + + + + + Gets or sets a value indicating that custom shape style is used. + + + If this property is false, the layer's DefaultShapeStyle is used. + + + + + Gets a custom shape style. + + + To use this property, first set the property to true. + + + + + Gets or sets the center point X offset. + + + Use this property to adjust the label's position. + + + + + Gets or sets the center point Y offset. + + + Use this property to adjust the label's position. + + + + + Gets or sets the shape X offset. + + + Use this property to adjust the shape position. + + + + + Gets or sets the shape Y offset. + + + Use this property to adjust the shape position. + + + + + Gets or sets the scale factor for this shape. + + + Use this property to adjust the shape size. + + + + + Gets or sets the spatial data associated with this shape. + + + + + Gets or sets the value. + + + + + Gets a reference to the parent Map object. + + + + + Gets a reference to the parent Layer object. + + + + + + + + Draws the shape. + + Object that provides a data for paint event. + + + + Draws the label. + + Object that provides a data for paint event. + + + + Checks if the shape is under cursor. + + The cursor coordinates. + true if the cursor is over the shape. + + + + Reduces the number of points in the shape. + + The accuracy value. + + + + + + + Initializes a component before running a report. + + + + + Finalizes a component before running a report. + + + + + Saves the state of this component. + + + + + Restores the state of this component. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Holds the list of objects of type. + + + + + Gets or sets the element at the specified index. + + Index of an element. + The element at the specified index. + + + + Initializes a new instance of the class with default settings. + + + + + Initializes a new instance of the class with specified owner. + + + + + Represents a line shape. + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Represents the spatial data of a shape. + + + + + Copies contents from another spatial data object. + + The object to copy contents from. + + + + Compares two spatial data objects. + + The spatial object to compare with. + true if spatial objects are identical. + + + + Gets a value by its key. + + The key of value. + The value. + + + + Sets a value by its key. + + The key of value. + The value. + + + + Gets a list of keys. + + The list of keys. + + + + Creates a new instance of the class. + + + + + Represents the style of a shape. + + + + + Gets or sets the border color. + + + + + Gets or sets the border style. + + + + + Gets or sets the border width. + + + + + Gets or sets the fill color. + + + + + Gets or sets the font. + + + + + Gets or sets the text color. + + + + + Gets or sets the point size, in pixels. + + + + + Copies contents from another similar object. + + The object to copy the contents from. + + + + Initializes a new instance of the class. + + + + + Represents a set of size ranges used to draw points based on analytical value. + + + + + Gets the list of ranges. + + + + + Gets or sets the number of ranges. + + + + + Gets or sets the start size. + + + + + Gets or sets the end size. + + + + + Gets or sets ranges as a string. + + + + + Copies the contents of another SizeRanges. + + The SizeRanges instance to copy the contents from. + + + + Gets a size associated with given analytical value. + + The analytical value. + The size associated with this value, or 0 if no association found. + + + + Initializes a new instance of the class. + + + + + Represents a single size range. + + + + + Gets or sets size of the range. + + + + + Gets or sets start value of the range. + + + + + Gets or sets end value of the range. + + + + + Copies the contents of another SizeRange. + + The SizeRange instance to copy the contents from. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a specified parameters. + + The size of the range. + The start value of the range. + The end value of the range. + + + + Represents the matrix object that is used to print pivot table (also known as cross-tab). + + + The matrix consists of the following elements: columns, rows and data cells. Each element is + represented by the descriptor. The class is used + for columns and rows; the is used for data cells. + The property holds three collections of descriptors - Columns, + Rows and Cells. + To create the matrix in a code, you should perform the following actions: + + + create an instance of the MatrixObject and add it to the report; + + + create descriptors for columns, rows and cells and add it to the + collections inside the property; + + + call the method to create the matrix template + that will be used to create a result; + + + modify the matrix template (change captions, set the visual appearance). + + + To connect the matrix to a datasource, use the property. If + this property is not set, the result matrix will be empty. In this case you may use + the event handler to fill the matrix. + + This example demonstrates how to create a matrix in a code. + + // create an instance of MatrixObject + MatrixObject matrix = new MatrixObject(); + matrix.Name = "Matrix1"; + // add it to the report title band of the first report page + matrix.Parent = (report.Pages[0] as ReportPage).ReportTitle; + + // create two column descriptors + MatrixHeaderDescriptor column = new MatrixHeaderDescriptor("[MatrixDemo.Year]"); + matrix.Data.Columns.Add(column); + column = new MatrixHeaderDescriptor("[MatrixDemo.Month]"); + matrix.Data.Columns.Add(column); + + // create one row descriptor + MatrixHeaderDescriptor row = new MatrixHeaderDescriptor("[MatrixDemo.Name]"); + matrix.Data.Rows.Add(row); + + // create one data cell + MatrixCellDescriptor cell = new MatrixCellDescriptor("[MatrixDemo.Revenue]", MatrixAggregateFunction.Sum); + matrix.Data.Cells.Add(cell); + + // connect matrix to a datasource + matrix.DataSource = Report.GetDataSource("MatrixDemo"); + + // create the matrix template + matrix.BuildTemplate(); + + // change the style + matrix.Style = "Green"; + + // change the column and row total's text to "Grand Total" + matrix.Data.Columns[0].TemplateTotalCell.Text = "Grand Total"; + matrix.Data.Rows[0].TemplateTotalCell.Text = "Grand Total"; + + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Allows to fill the matrix in code. + + + In most cases the matrix is connected to a datasource via the + property. When you run a report, the matrix is filled with datasource values automatically. + Using this event, you can put additional values to the matrix or even completely fill it + with own values (if is set to null. To do this, call the + Data.AddValue method. See the + method for more details. + + This example shows how to fill a matrix with own values. + + // suppose we have a matrix with one column, row and data cell. + // provide 3 one-dimensional arrays with one element in each to the AddValue method + Matrix1.Data.AddValue( + new object[] { 1996 }, + new object[] { "Andrew Fuller" }, + new object[] { 123.45f }); + Matrix1.Data.AddValue( + new object[] { 1997 }, + new object[] { "Andrew Fuller" }, + new object[] { 21.35f }); + Matrix1.Data.AddValue( + new object[] { 1997 }, + new object[] { "Nancy Davolio" }, + new object[] { 421.5f }); + + // this code will produce the following matrix: + // | 1996 | 1997 | + // --------------+--------+--------+ + // Andrew Fuller | 123.45| 21.35| + // --------------+--------+--------+ + // Nancy Davolio | | 421.50| + // --------------+--------+--------+ + + + + + + Allows to modify the prepared matrix elements such as cells, rows, columns. + + + + + Allows to modify the prepared matrix elements such as cells, rows, columns. + + + + + Gets or sets a value that determines whether the matrix must calculate column/row sizes automatically. + + + + + Gets or sets a value that determines how to print multiple data cells. + + + This property can be used if matrix has two or more data cells. Default property value + is false - that means the data cells will be stacked. + + + + + Gets or sets a value indicating that the side-by-side cells must be kept together on the same page. + + + + + Gets or sets a data source. + + + When you create the matrix in the designer by drag-drop data columns into it, + this property will be set automatically. However you need to set it if you create + the matrix in code. + + + + + Gets the row filter expression. + + + This property can contain any valid boolean expression. If the expression returns false, + the corresponding data row will be skipped. + + + + + Gets or sets a value indicating whether to show a title row. + + + + + Gets or sets a matrix style. + + + + + Gets or sets even style priority for matrix cells. + + + + + Gets or sets need split rows. + + + + + Gets or sets a value indicating that empty matrix should be printed. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + See the event for more details. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + See the event for more details. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + See the event for more details. + + + + + Gets the object that holds the collection of descriptors used + to build a matrix. + + + See the class for more details. + + + + + Gets or sets array of values that describes the currently printing column. + + + Use this property when report is running. It can be used to highlight matrix elements + depending on values of the currently printing column. To do this: + + + select the cell that you need to highlight; + + + click the "Highlight" button on the "Text" toolbar; + + + add a new highlight condition. Use the Matrix.ColumnValues to + refer to the value you need to analyze. Note: these values are arrays of System.Object, + so you need to cast it to actual type before making any comparisons. Example of highlight + condition: (int)Matrix1.ColumnValues[0] == 2000. + + + + + + + + Gets or sets array of values that describes the currently printing row. + + + Use this property when report is running. It can be used to highlight matrix elements + depending on values of the currently printing row. To do this: + + + select the cell that you need to highlight; + + + click the "Highlight" button on the "Text" toolbar; + + + add a new highlight condition. Use the Matrix.RowValues to + refer to the value you need to analyze. Note: these values are arrays of System.Object, + so you need to cast it to actual type before making any comparisons. Example of highlight + condition: (string)Matrix1.RowValues[0] == "Andrew Fuller". + + + + + + + + Gets or sets the index of currently printing column. + + + This property may be used to print even columns with alternate color. To do this: + + + select the cell that you need to highlight; + + + click the "Highlight" button on the "Text" toolbar; + + + add a new highlight condition that uses the Matrix.ColumnIndex, + for example: Matrix1.ColumnIndex % 2 == 1. + + + + + + + + Gets or sets the index of currently printing row. + + + This property may be used to print even rows with alternate color. To do this: + + + select the cell that you need to highlight; + + + click the "Highlight" button on the "Text" toolbar; + + + add a new highlight condition that uses the Matrix.RowIndex, + for example: Matrix1.RowIndex % 2 == 1. + + + + + + + + + + + + + + + + + Creates or updates the matrix template. + + + Call this method after you modify the matrix descriptors using the + object's properties. + + + + + + + + + + + + + + + + + + + + + + + + + + This method fires the ManualBuild event and the script code connected to the ManualBuildEvent. + + Event data. + + + + This method fires the ModifyResult event and the script code connected to the ModifyResultEvent. + + Event data. + + + + This method fires the AfterTotals event and the script code connected to the AfterTotalsEvent. + + Event data. + + + + Adds a value in the matrix. + + Array of column values. + Array of row values. + Array of data values. + + This is a shortcut method to call the matrix Data.AddValue. + See the method for more details. + + + + + Gets the value of the data cell with the specified index. + + Zero-based index of the data cell. + The cell's value. + + Use this method in the cell's expression if the cell has custom totals + (the total function is set to "Custom"). The example: + Matrix1.Value(0) / Matrix1.Value(1) + will return the result of dividing the first data cell's value by the second one. + + + + + Initializes a new instance of the class. + + + + + Specifies the aggregate function used in the . + + + + + No aggregates are used. + + + + + Specifies the sum of values. + + + + + Specifies the minimum of values. + + + + + Specifies the maximum of values. + + + + + Specifies the average of values. + + + + + Specifies the count of values. + + + + + Specifies the count of distinct values. + + + + + Specifies the custom function. + + + + + Determines how matrix percents are calculated. + + + + + Do not calculate percent value. + + + + + Calculate percent of the column total value. + + + + + Calculate percent of the row total value. + + + + + Calculate percent of the grand total value. + + + + + The descriptor that is used to describe one matrix data cell. + + + The class is used to define one data cell of the matrix. + The key properties are and . + To set visual appearance of the data cell, use the + property. + The collection of descriptors used to represent the matrix data cells is stored + in the MatrixObject.Data.Cells property. + + + + + Gets or sets an aggregate function used to calculate totals for this cell. + + + + + Gets or sets a value that determines how to calculate the percent value for this cell. + + + + + + + + + + + Initializes a new instance of the class + with default settings. + + + + + Initializes a new instance of the class + with specified expression. + + The descriptor's expression. + + + + Initializes a new instance of the class + with specified expression and aggregate function. + + The descriptor's expression. + The aggregate function. + + + + Initializes a new instance of the class + with specified expression, aggregate function, and a percent. + + The descriptor's expression. + The aggregate function. + The percent setting. + + + + Represents a collection of matrix data descriptors used in the . + + + + + Gets or sets the element at the specified index. + + Index of an element. + The element at the specified index. + + + + Adds the specified descriptors to the end of this collection. + + Array of descriptors to add. + + + + Adds a descriptor to the end of this collection. + + Descriptor to add. + Index of the added descriptor. + + + + Inserts a descriptor into this collection at the specified index. + + The zero-based index at which value should be inserted. + The descriptor to insert. + + + + Removes the specified descriptor from the collection. + + Descriptor to remove. + + + + Returns the zero-based index of the first occurrence of a descriptor. + + The descriptor to locate in the collection. + The zero-based index of the first occurrence of descriptor within + the entire collection, if found; otherwise, -1. + + + + Determines whether a descriptor is in the collection. + + The descriptor to locate in the collection. + true if descriptor is found in the collection; otherwise, false. + + + + Copies the elements of this collection to a new array. + + An array containing copies of this collection elements. + + + + + + + + + + Contains a set of properties and methods to hold and manipulate the matrix descriptors. + + + This class contains three collections of descriptors such as , + and . Use collections' methods to add/remove + descriptors. When you are done, call the + method to refresh the matrix. + To fill a matrix in code, use the AddValue method. + + + + + Gets a collection of column descriptors. + + + Note: after you change something in this collection, call the + method to refresh the matrix. + + + + + Gets a collection of row descriptors. + + + Note: after you change something in this collection, call the + method to refresh the matrix. + + + + + Gets a collection of data cell descriptors. + + + Note: after you change something in this collection, call the + method to refresh the matrix. + + + + + Clears all descriptors. + + + + + Adds a value in the matrix. + + Array of column values. + Array of row values. + Array of data values. + + The number of elements in an array passed to this method must be the same as + a number of descriptors in the appropriate collection. That is, if your matrix + has one column, two row and one cell descriptors (in Columns, Rows and + Cells collections respectively), you have to pass one-element array for the + columnValues param, two-element array for the rowValues and one-element + array for the cellValues. + + This example demonstrates how to fill a simple matrix that contains one column, + row and cell. + + MatrixObject matrix; + matrix.Data.AddValue( + new object[] { 1996 }, + new object[] { "Andrew Fuller" }, + new object[] { 123.45f }); + + // this will produce the following result: + // | 1996 | + // --------------+----------+ + // Andrew Fuller | 123.45| + // --------------+----------+ + + + + + + Adds a value in the matrix. + + Array of column values. + Array of row values. + Array of data values. + Datasource row index. + + See the method for more details. + + + + + Gets a value with specified column, row and cell indicies. + + Index of a column. + Index of a row. + Index of a cell. + The value of a cell. + + + + Sets the cell's value. + + Index of a column. + Index of a row. + The new value. + + + + The base class for matrix element descriptors such as and + . + + + + + Gets or sets an expression which value will be used to fill the matrix. + + + Expression may be any valid expression. Usually it's a data column: + [DataSource.Column]. + + + + + Gets or sets the template column bound to this descriptor. + + + This property is for internal use; usually you don't need to use it. + + + + + Gets or sets the template row bound to this descriptor. + + + This property is for internal use; usually you don't need to use it. + + + + + Gets or sets the template cell bound to this descriptor. + + + Using this property, you may access the matrix cell which is bound to + this descriptor. It may be useful to change the cell's appearance. + + Before using this property, you must initialize the matrix descriptors by + calling the method. + + + + + MatrixObject matrix; + // change the fill color of the first matrix cell + matrix.Data.Cells[0].TemplateCell.Fill = new SolidFill(Color.Red); + + + + + + Assigns values from another descriptor. + + Descriptor to assign values from. + + + + + + + + + + Represents a collection of matrix header descriptors used in the . + + + + + Gets or sets the element at the specified index. + + Index of an element. + The element at the specified index. + + + + Adds the specified descriptors to the end of this collection. + + Array of descriptors to add. + + + + Adds a descriptor to the end of this collection. + + Descriptor to add. + Index of the added descriptor. + + + + Inserts a descriptor into this collection at the specified index. + + The zero-based index at which value should be inserted. + The descriptor to insert. + + + + Removes the specified descriptor from the collection. + + Descriptor to remove. + + + + Returns the zero-based index of the first occurrence of a descriptor. + + The descriptor to locate in the collection. + The zero-based index of the first occurrence of descriptor within + the entire collection, if found; otherwise, -1. + + + + Determines whether a descriptor is in the collection. + + The descriptor to locate in the collection. + true if descriptor is found in the collection; otherwise, false. + + + + Copies the elements of this collection to a new array. + + An array containing copies of this collection elements. + + + + Gets the list of indices of terminal items of this header. + + The list of indices. + + + + Gets the list of indices of terminal items of the header with specified address. + + The address of a header. + The list of indices. + + + + Removes a header item with the address specified. + + The address of a header. + + + + Gets an index of header with the address specified. + + The address of a header. + The index of header. + + + + Gets an index of header with the address specified. If there is no such header item, it will be created. + + The address of a header. + The index of header. + + + + + + + + + + The descriptor that is used to describe one element of the matrix header. + + + The class is used to define one header element of the matrix + (either the column element or row element). The key properties are + , and . + To set visual appearance of the element, use the + property. To set visual appearance of the "total" element, use the + property. + The collection of descriptors used to represent the matrix header is stored + in the MatrixObject.Data.Columns and MatrixObject.Data.Rows properties. + + + + + Gets or sets the sort order of header values. + + + This property determines how the values displayed in this element are sorted. The default sort + is ascending. + + + + + Gets or sets a value indicating that this element has associated "total" element. + + + To access the matrix cell that is bound to the "Total" element, use the + property. It may be useful to change the + "Total" text by something else. + + This example shows how to change the "Total" text of the total element. + + MatrixObject matrix; + matrix.Data.Rows[0].TemplateTotalCell.Text = "Grand Total"; + + + + + + Gets or sets the value indicating whether the total values must be printed before the data. + + + + + Gets or sets a value indicating that the page break must be printed before this element. + + + Page break is not printed before the very first element. + + + + + Gets or sets a value that determines whether it is necessary to suppress totals + if there is only one value in a group. + + + + + Gets or sets the template column bound to the "total" element of this descriptor. + + + This property is for internal use; usually you don't need to use it. + + + + + Gets or sets the template row bound to the "total" element of this descriptor. + + + This property is for internal use; usually you don't need to use it. + + + + + Gets or sets the template cell bound to the "total" element of this descriptor. + + + This property may be useful to change the "Total" text by something else. + + Before using this property, you must initialize the matrix descriptors by + calling the method. + + + This example shows how to change the "Total" element. + + MatrixObject matrix; + matrix.Data.Rows[0].TemplateTotalCell.Text = "Grand Total"; + matrix.Data.Rows[0].TemplateTotalCell.Fill = new SolidFill(Color.Green); + + + + + + + + + + + + Initializes a new instance of the class with + default settings. + + + + + Initializes a new instance of the class with + specified expression. + + The descriptor's expression. + + + + Initializes a new instance of the class with + specified expression and totals. + + The descriptor's expression. + Indicates whether to show the "total" element. + + + + Initializes a new instance of the class with + specified expression, sort order and totals. + + The descriptor's expression. + Sort order used to sort header values. + Indicates whether to show the "total" element. + + + + Updates HeaderWidth, HeaderHeight, BodyWidth, BodyHeight properties. + + + + + Describes how the even style is applied to a matrix. + + + + + The even style is applied to matrix rows. + + + + + The even style is applied to matrix columns. + + + + + The DIGEST-MD5 SASL authentication mechanism. + + + + + The mechanism name. + + + + + Initializes a new instance of the class. + + The username. + The user's password. + + + + + + + The PLAIN SASL authentication mechanism. + + + + + The mechanism name. + + + + + Initializes a new instance of the class. + + The username. + The user's password. + + + + Computes the client response for server challenge. + + The challenge from server. Usually empty for PLAIN mechanism. + The response from client. + + + + The base abstarct class for all SASL mechanisms. + + + + + Gets or sets the name of mechanism. + + + + + Gets or sets the username. + + + + + Gets or sets the user's password. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with specified parameters. + + The username. + The user's password. + + + + Computes client response for server challenge. + + The server challenge. + The client response. + + + + Gets the base64-encoded client response fo the server challenge. + + The base64-string containing server challenge. + The base64-string containing client response. + + + + Gets the client response for the server challenge. + + Byte array containing server challenge. + Byte array containing client response. + + + + The base class for all messengers. + + + + + Gets the filename. + + + + + Gets or sets the proxy settings. + + + + + Initializes a new instance of the class. + + + + + Authorizes the user. + + True if user has been successfully authorized. + + + + Prepares the report before it will be send. + + The report template. + The export filter. + Memory stream that contains prepared report. + + + + Sends the report. + + The report template that should be sent. + The export filter that should export template before. + True if report has been successfully sent. + + + + Represents form of messenger. + + + + + Gets or sets the report template. + + + + + Gets or sets the list of exports. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The report template. + + + + Initializes the list of exports. + + + + + Gets the proxy settings. + + The proxy settings. + + + + Initializes the component. + + + + + Checks is the string numeric. + + The checking string. + True if string is numeric, otherwise false. + + + + Finishes the form work. + + Returns true if work has been successfully finished, otherwise false. + + + + + + + SelectedIndexChanged event handler for ComboBox File Type. + + Event sender. + Event args. + + + + Click event handler for Button Settings. + + Event sender. + Event args. + + + + FormClosing event handler for CloudStorageClientForm. + + Event sender. + Event args. + + + + Click event handler for button OK. + + Event sender. + Event args. + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Page File. + + + + + Page Proxy. + + + + + ComboBox File Type. + + + + + Label File Type. + + + + + Buttons Settings. + + + + + Label Colon. + + + + + Label Password. + + + + + Label Username. + + + + + Label Server. + + + + + TextBox Username. + + + + + TextBox Port. + + + + + TextBox Server. + + + + + TextBox Password. + + + + + PageControl pageControl1. + + + + + Represents proxy settings of the messenger. + + + + + Gets or sets the proxy server. + + + + + Gets or sets the port number of proxy server. + + + + + Gets or sets the username. + + + + + Gets or sets the user's password. + + + + + Gets or sets the type of proxy. + + + + + Initializes a new instance of the class. + + The proxy server. + The port number of server. + The username. + The user's password. + The type of proxy. + + + + Represents the type of rpoxy. + + + + + The HTTP proxy type. + + + + + The SOCKS4 proxy type. + + + + + The SOCKS5 proxy type. + + + + + Represents the IQ stanza. + + + + + Gets or sets the type of iq. + + + + + Initializes a new instance of the class with specified parameters. + + The namespace of the iq. + The type of iq. + The JID of the sender. + The JID of the recipient. + The ID of the iq. + The language of the iq. + The data of the iq. + + + + Initializes a new instance of the class using specified XmlElement instance. + + The XmlElement instance using like a data. + + + + Represents the XMPP message. + + + + + Gets or sets the type of message. + + + + + Initializes a new instance of the class with specified parameters. + + The namespace of the message. + The type of message. + The JID of the sender. + The JID of the recipient. + The ID of the message. + The language of the message. + The data of the message. + + + + Initializes a new instance of the class using specified XmlElement instance. + + The XmlElement instance using like a data. + + + + Represents the XMPP Presence. + + + + + Initializes a new instance of the class with specified parameters. + + The namespace of the presence. + The JID of the sender. + The JID of the recipient. + The ID of the presence. + The language of the presence. + The data of the presence. + + + + Initializes a new instance of the class using specified XmlElement instance. + + The XmlElement instance using like a data. + + + + Represents the base class for XML stanzas used in XMPP. + + + + + Gets the data of the stanza. + + + + + Gets or sets the JID of the sender. + + + + + Gets or sets the JID of the recipient. + + + + + Gets or sets the ID of the stanza. + + + + + Gets or sets the language of the stanza. + + + + + Initializes a new instance of the class with specified parameters. + + The namespace of the stanza. + The JID of the sender. + The JID of the recipient. + The ID of the stanza. + The language of the stanza. + The data of the stanza. + + + + Initializes a new instance of the class using specified XmlElement instance. + + The XmlElement instance using like a data. + + + + Converts stanza to string. + + String containing stanza value. + + + + The parser for XMPP XML-streams. + + + + + Initializes a new instance of the class. + + The stream for parsing. + True to leave the stream opened after closing the StreamReader instance. + + + + Read the XML stream up to opening "stream:stream" tag. + + + + + Reads the next XML element from the stream. + + The list of XML elements that are expected. + The XML element. + + + + Closes the stream parser. + + + + + Releases all resources used by the current instance of the class. + + + + + Represents a static class to simplify the work with XmlElement instance. + + + + + Creates a new XmlElement instance. + + The name of the element. + The namespace of the element. + A new instance of the class. + + + + Adds the specified child to the end of child nodes of element. + + The element for add the child to. + The child node to add. + A XmlElement instance. + + + + Adds the attribute to XmlElement with spefied name and value. + + The element for add the attribute to. + The name of attribute. + The value of attribute. + A XmlElement instance. + + + + Adds the specified text to the end of child nodes of element. + + The element for add the text to. + The text for add. + A XmlElement instance. + + + + Converts the XmlElement instance to a string. + + The element to convert to. + True if needed to include XML declaration. + True if needed to leave the tag of an empty element open. + The XmlElement instance as string. + + + + Represents the XMPP messenger. + + + + + Gets or sets the username. + + + + + Gets or sets the user's password. + + + + + Gets or sets the hostname of XMPP server. + + + + + Gets or sets the port number of the XMPP service of the server. + + + + + Gets or sets the username to send file to. + + + + + Gets or sets the JID to send from. + + + + + Gets or set the JID to send to. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with specified parameters. + + Username. + Password. + Hostname. + Port. + Username to send file to. + Send to user's resource. + + + + Initializes a new instance of the class with specified parameters. + + User's JID without resource. + User's password. + JID to send to with resource. + + + + Sends the specified string to the server. + + The string to send. + + + + Initiates the stream to the server. + + The hostname. + The features response of the server. + + + + Validates the server certificate. + + The sender object. + X509 certificate. + The X509 chain. + The SSL policy errors. + True if successfull. + + + + Secures the stream by TLS. + + The hostname. + The features response of the server. + + + + Selects the SASL authentication mechanism. + + List of mechanisms. + The string containing mechanism name. + + + + Authenticates the user on the server using Plain mechanism. + + + + + Authenticates the user on the server using Digest-MD5 mechanism. + + + + + Authenticates the user on the server. + + The SASL mechanisms list. + + + + Setups the connection with the server. + + + + + Binds resource and gets the full JID that will be associated with current session. + + The full session JID. + + + + Opens session between client and server. + + The id of the opened session. + + + + Connects to the server. + + + + + Sends the message. + + The text of the message. + True if message has been successfully sent. + + + + Sends the presence. + + The text of the presence. + True if presence has been successfully sent. + + + + Initiates the In Band Bytestream for sending the file (XEP-0047). + + True if bytestream has been successfully initiated. + + + + Sends the chunk to the XMPP server. + + The data of the chunk. + The number of the chunk. + + + + Sends the file using In Band Bytestream. + + The memory stream containing data of the file. + True if file has been successfully sent. + + + + Sends the file using FastReport Cloud as a proxy server. + + The report template. + The export filter to export report before sending. + True if file has been successfully sent. + + + + Disconnects from the server. + + + + + + + + + + + Closes the connection. + + + + + Releases all the resources used by the XMPP messenger. + + + + + Represents the form of the XMPP messenger. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with specified parameters. + + User's JID without resource. + User's password. + Send to user's JID. + Report template. + + + + + + + + + + + + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Represents the chart object based on Microsoft Chart control. + + + FastReport uses Microsoft Chart library to display charts. This library is included + in .Net Framework 4.0. For .Net 3.5 it is available as a separate download here: + http://www.microsoft.com/downloads/details.aspx?FamilyID=130f7986-bf49-4fe5-9ca8-910ae6ea442c + This library requires .Net Framework 3.5 SP1. + To access Microsoft Chart object, use the property. It allows you + to set up chart appearance. For more information on available properties, refer to the + MS Chart documentation. + Chart object may contain one or several series. Each series is represented by two objects: + + + the Series that is handled by MS Chart. It is stored in the + Chart.Series collection; + + + the object that provides data for MS Chart series. + It is stored in the collection. + + + Do not operate series objects directly. To add or remove series, use + the and methods. These methods + handle Series and MSChartSeries in sync. + If you have a chart object on your Form and want to print it in FastReport, use + the method. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + + + + + + + + + + + + + + + + + + + Gets the collection of objects. + + + + + Gets a reference to the MS Chart object. + + + + + Gets or set Force automatically created series. + + + + + Gets or sets the data source. + + + + + Gets or sets the filter expression. + + + This filter will be applied to all series in chart. You may also use the series' + property to filter each series individually. + + + + + Gets or sets a value indicating that all series' data point should be aligned by its X value. + + + Using this property is necessary to print stacked type series. These series must have + equal number of data points, and the order of data points must be the same for all series. + + + + + Gets or set the data column or expression for automatically created series. + + + In order to create auto-series, you need to define one series that will be used as a + template for new series, and set up the property. + The value of this property will be a name of new series. If there is no series + with such name yet, the new series will be added. + + + + + Gets or set the color for auto-series. + + + If no color is specified, the new series will use the palette defined in the chart. + + + + + Gets or sets sort order for auto-series. + + + + + + + + Adds a new series. + + The type of series. + The new MSChartSeries object. + + + + Deletes a series at a specified index. + + Index of series. + + + + Assigns chart appearance, series and data from the + System.Windows.Forms.DataVisualization.Charting.Chart object. + + Chart object to assign data from. + + Use this method if you have a chart in your application and want to print it in FastReport. + To do this, put an empty MSChartObject in your report and execute the following code: + + report.Load("..."); + MSChartObject reportChart = report.FindObject("MSChart1") as MSChartObject; + reportChart.AssignChart(applicationChart); + report.Show(); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the with default settings. + + + + + Represents the small chart object (called sparkline) fully based on MSChartObject. + + + + + + + + + + + Initializes a new instance of the with default settings. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Specifies how the series points are sorted. + + + + + Points are not sorted. + + + + + Points are sorted by X value. + + + + + Points are sorted by Y value. + + + + + Specifies the direction in which the series points are sorted. + + + + + Points are sorted in ascending order. + + + + + Points are sorted in descending order. + + + + + Specifies how the series points are grouped. + + + + + Points are not grouped. + + + + + Points are grouped by X value. + + + + + Points are grouped by number specified in the . + + + + + Points are grouped by Years. + + + + + Points are grouped by Months. + + + + + Points are grouped by Weeks. + + + + + Points are grouped by Days. + + + + + Points are grouped by Hours. + + + + + Points are grouped by Minutes. + + + + + Points are grouped by Seconds. + + + + + Points are grouped by Milliseconds. + + + + + Specifies which pie value to explode. + + + + + Do not explode pie values. + + + + + Explode the biggest value. + + + + + Explode the lowest value. + + + + + Explode the value specified in the property. + + + + + Specifies which data points to collect into one point. + + + + + Do not collect points. + + + + + Show top N points (N value is specified in the + property), collect other points into one. + + + + + Show bottom N points (N value is specified in the + property), collect other points into one. + + + + + Collect points which have Y value less than specified + in the property. + + + + + Collect points which have Y value less than percent specified + in the property. + + + + + Collect points which have Y value greater than specified + in the property. + + + + + Collect points which have Y value greater than percent specified + in the property. + + + + + Represents a MS Chart series wrapper. + + + This class provides a data for MS Chart series. The series itself is stored inside the + MS Chart and is accessible via the property. + You don't need to create an instance of this class directly. Instead, use the + method. + + + + + Gets os sets the data filter expression. + + + The filter is applied for this series only. You can also use the + property to set a filter that will be applied to all + series in a chart. + + + + + Gets or set the data column or expression for automatically created series. + + + In order to create auto-series, you need to define one series that will be used as a + template for new series, and set up the property. + The value of this property will be a name of new series. If there is no series + with such name yet, the new series will be added. + + + + + Gets or sets the sort method used to sort data points. + + + You have to specify the property as well. Data points in this series + will be sorted according selected sort criteria and order. + + + + + Gets or set Force automatically created series. + + + + + Gets or sets the sort order used to sort data points. + + + You have to specify the property as well. Data points in this series + will be sorted according selected sort criteria and order. + + + + + Gets or sets the group method used to group data points. + + + This property is mainly used when series is filled with data with several identical X values. + In this case, you need to set the property to XValue. All identical data points will be + grouped into one point, their Y values will be summarized. You can choose the summary function + using the property. + + + + + Gets or sets the group interval. + + + This value is used if property is set to Number. + + + + + Gets or sets the function used to group data points. + + + + + Gets or sets the collect method used to collect several data points into one. + + + This instrument for data processing allows to collect several series points into one point. + The collected point will be displaed using the text specified in the + property and color specified in the property. + For example, to display top 5 values, set this property to TopN and specify + N value (5) in the property. + + + + + Gets or sets the collect value used to collect several data points into one. + + + This property is used if the property is set to any value other than None. + + + + + Gets or sets the text for the collected value. + + + + + Gets or sets the color for the collected value. + + + If this property is set to Transparent (by default), the default palette color + will be used to display a collected point. + + + + + Gets or sets the method used to explode values in pie-type series. + + + + + Gets or sets the value that must be exploded. + + + This property is used if property is set + to SpecificValue. + + + + + Gets or sets the data column or expression that returns the X value of data point. + + + + + Gets or sets the data column or expression that returns the first Y value of data point. + + + + + Gets or sets the data column or expression returns the second Y value of data point. + + + + + Gets or sets the data column or expression returns the third Y value of data point. + + + + + Gets or sets the data column or expression returns the fourth Y value of data point. + + + + + Gets or sets the data column or expression that returns the color of data point. + + + + + Gets or sets the data column or expression returns the label value of data point. + + + + + Gets a reference to MS Chart Series object. + + + Use this property to set many options available for the Series object. These options + include: visual appearance, labels, marks, value types. Refer to the Microsoft Chart control + documentation to learn more. + + + + + Gets a number of Y value per data point. + + + Number of Y values depends on series type. Most of series have only one Y value. Financial + series such as Stock and Candlestick, use four Y values. + + + + + This property is not relevant to this class. + + + + + + + + + + + + + + Clears all data points in this series. + + + + + Adds a data point with specified X and Y values. + + X value. + Array of Y values. + + Note: number of values in the yValues parameter must be the same as value returned + by the property. + + + + + + + + Creates a new instance of the class with default settings. + + + + + Represents a collection of objects. + + + + + Gets the element at the specified index. + + Index of an element. + The element at the specified index. + + + + Resets series data. + + + + + Processes the current data row. + + + + + Finishes the series data. + + + + + Initializes a new instance of the OutlineControl class with default settings. + + + + + Represents a Windows Forms control used to preview a report. + + + To use this control, place it on a form and link it to a report using the report's + property. To show a report, call + the Report.Show method: + + report1.Preview = previewControl1; + report1.Show(); + + Use this control's methods such as , etc. to + handle the preview. Call method to clear the preview. + You can specify whether the standard toolbar is visible in the + property. The property allows you to hide/show the statusbar. + + + + + + Occurs when current page number is changed. + + + + + Occurs when Print button clicked. + + + + + Occurs when Export button clicked. + + + + + Gets a reference to the report. + + + + + Obsolete. Gets or sets the color of page border. + + + + + Gets or sets the color of active page border. + + + + + Gets or sets the first page offset from the top left corner of the control. + + + + + Gets a reference to the TabControl + + + + + Gets or sets a value indicating whether the toolbar is visible. + + + + + Gets or sets a value indicating whether the statusbar is visible. + + + + + Gets or sets a value indicating whether the outline control is visible. + + + + + Specifies the set of buttons available in the toolbar. + + + + + Specifies the set of exports that will be available in the preview's "save" menu. + + + + + Specifies the set of exports in clouds that will be available in the preview's "save" menu. + + + + + Gets or sets a value indicating whether the fast scrolling method should be used. + + + If you enable this property, the gradient background will be disabled. + + + + + Gets or sets the visual style. + + + + + Gets or sets a value indicating that the BackColor property must be used to draw the background area. + + + By default, the background area is drawn using the color defined in the current UIStyle. + + + + + Gets the preview window's toolbar. + + + + + Gets the preview window's statusbar. + + + + + Gets or sets the initial directory that is displayed by a save file dialog. + + + + + Opens Cloud form and shows selected prepared report. + + + + + Updates the control appearance and layout on dpi change. + + + + + + + + Adds a new report tab to the preview control. + + The Report object that contains the prepared report. + The title for the new tab. + + Prepare the report using its Prepare method before you pass it to the report parameter. + + + + + Adds a new report tab to the preview control. + + The Report object that contains the prepared report. + The title for the new tab. + If true, makes the new tab active. + + Prepare the report using its Prepare method before you pass it to the report parameter. + + + + + Switches to the tab with specified text. + + Text of the tab. + true if the tab with specified text exists, or false if there is no such tab. + + + + Deletes the report tab with specified text. + + The text of the tab. + + + + Checks if the tab with specified text exists. + + The text of the tab. + true if the tab exists. + + + + Displays the text in the status bar. + + Text to display. + + + + Sets the focus to the preview control. + + + + + Prints the current report. + + true if report was printed; false if user cancels the "Print" dialog. + + + + Saves the current report to a .fpx file using the "Save FIle" dialog. + + + + + Saves the current report to a specified .fpx file. + + + + + Saves the current report to a stream. + + + + + Loads the report from a .fpx file using the "Open File" dialog. + + + + + Loads the report from a specified .fpx file. + + + + + Load the report from a stream. + + The stream to load from. + + + + Sends an email. + + + + + Finds the text in the current report using the "Find Text" dialog. + + + + + Finds the specified text in the current report. + + Text to find. + A value indicating whether the search is case-sensitive. + A value indicating whether the search matches whole words only. + true if text found. + + + + Finds the next occurence of text specified in the Find method. + + true if text found. + + + + Navigates to the first page. + + + + + Navigates to the previuos page. + + + + + Navigates to the next page. + + + + + Navigates to the last page. + + + + + Gets or sets the current page number. + + + This value is 1-based. + + + + + Gets the pages count in the current report. + + + + + Gets or sets the zoom factor. + + + 1 corresponds to 100% zoom. + + + + + Zooms in. + + + + + Zooms out. + + + + + Zooms to fit the page width. + + + + + Zooms to fit the whole page. + + + + + Edits the current page in the designer. + + + + + Copies the current page in preview. + + + + + Removes the current page in preview. + + + + + Edits the current report in the designer. + + + + + Edits the watermark. + + + + + Edits the page settings. + + + + + Navigates to the specified position inside a specified page. + + The page number (1-based). + The position inside a page, in pixels. + + + + Clears the preview. + + + + + Refresh the report. + + + + + Initializes a new instance of the class. + + + + + Required designer variable. + + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Specifies an action that will be performed on PreparedPages.AddPage method call. + + + + + Do not add the new prepared page if possible, increment the CurPage instead. + + + + + Add the new prepared page. + + + + + Represents the pages of a prepared report. + + + Prepared page is a page that you can see in the preview window. Prepared pages can be + accessed via property. + The common scenarios of using this object are: + + + Working with prepared pages after the report is finished: load + () or save () pages + from/to a .fpx file, get a page with specified index to work with its objects + (); modify specified page (). + + + + Using the , , + methods while report is generating to produce an output. + + + + + + + + + Gets the number of pages in the prepared report. + + + + + Gets the XML for rendering the outline of the report + + + + + Specifies an action that will be performed on method call. + + + + + Gets or sets a value indicating whether the prepared pages can be uploaded to the file cache. + + + This property is used while report is generating. + Default value for this property is true. That means the prepared pages may be uploaded to + the file cache if needed. To prevent this (for example, if you need to access some objects + on previously generated pages), set the property value to false. + + + + + + + + Adds a source page to the prepared pages dictionary. + + The template page to add. + + Call this method before using AddPage and AddBand methods. This method adds + a page to the dictionary that will be used to decrease size of the prepared report. + + + + + Adds a new page. + + The original (template) page to add. + + Call the method before adding a page. This method creates + a new output page with settings based on page parameter. + + + + + Prints a band with all its child objects. + + The band to print. + true if band was printed; false if it can't be printed + on current page due to its PrintOn property value. + + Call the method before adding a band. + + + + + Gets a page with specified index. + + Zero-based index of page. + The page with specified index. + + + + Gets the size of specified page, in pixels. + + Index of page. + the size of specified page, in pixels. + + + + Replaces the prepared page with specified one. + + The index of prepared page to replace. + The new page to replace with. + + + + Modify the prepared page with new sizes. + + The name of prepared page to reSize. + + + + Removes a page with the specified index. + + The zero-based index of page to remove. + + + + Creates a copy of a page with specified index and inserts it after original one. + + The zero-based index of original page. + + + + Saves prepared pages to a stream. + + The stream to save to. + + + + Saves prepared pages to a .fpx file. + + The name of the file to save to. + + + + Loads prepared pages from a stream. + + The stream to load from. + + + + Loads prepared pages from a .fpx file. + + The name of the file to load from. + + + + Clears the prepared report's pages. + + + + + Creates the pages of a prepared report + + + + + + Gets or sets the initial directory that is displayed by a save file dialog. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + read current token, returns next + + + + + + + + read current token, returns next + + + + + + + + ignore current token, read from next, returns current i.e not next + + + + + + + + Represents a RFID label. + + + + + + + + + + + Specifies lock type on write\rewrite bank of data. + + + + + Unlock. + + + + + Lock. + + + + + Permanently unlock. + + + + + Permanently lock. + + + + + Specifies action on error printing of RFID label. + + + + + Skip label. + + + + + Place printer in Pause mode. + + + + + Place printer in Error mode. + + + + + + + + + + + + + + + + + + + + Gets or sets Tag ID memory bank. + + + + + Gets or sets User memory bank. + + + + + Gets or sets EPC memory bank. + + + + + Gets or sets EPC format. + + + + + Gets or sets access password. + + + + + Gets or sets kill password. + + + + + Gets or sets the name of the data column used to set the access password. + + + + + Gets or sets the name of the data column used to set the kill password. + + + + + Gets or sets the lock type for the kill password. + + + + + Gets or sets the lock type for the access password. + + + + + Gets or sets the lock type for the EPC bank. + + + + + Gets or sets the lock type for the user bank. + + + + + Gets or sets the start section for permanent lock of user bank. + + + + + Gets or sets the count of section for permanent lock of user bank. + + + + + Gets or sets the read power level for the label. + + + + + Gets or sets the write power level for the label. + + + + + Gets or sets a value that determines whether the using auto adjust of bits when write EPC bank. + + + + + Gets or sets a value that determines whether the entire EPC bank will be overwritten. + + + + + Gets or sets error handle mode. + + + + + Gets or sets a value that determines whether to use the adaptive antenna property. + + + + + + + + + + + + + + + + + Specifies the data format of a RFID label bank. + + + + + Gets or sets a data of bank. + + + + + Gets or sets a data column name to this bank. + + + + + Gets or sets a data offset of bank. Offset measured in 16-bit blocks. + + + + + Gets or sets a data format of bank. + + + + + Gets count byte of data. + + + + + Serializes the object. + + + + + Copies the contents of another, similar object. + + + + + Represents a RichText object that can display formatted text. + + + Use the property to set the object's text. The text may include + the RTF formatting tags. + + + + + + + + + + + + + + Gets or sets the object's text. + + + This property returns the formatted text with rtf tags. + + + + + Gets or sets a name of the data column bound to this control. + + + Value must contain the datasource name, for example: "Datasource.Column". + + + + + Gets the actual text start. + + + This property is for internal use only; you should not use it in your code. + + + + + Gets the actual text length. + + + This property is for internal use only; you should not use it in your code. + + + + + Gets or sets the break style. + + + Set this property to true if you want editable rich text when you edit the prepared report page. + + + + + Experimental feature for translation of RichText into report objects + + + + + This property not described + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the class with default settings. + + + + + Called from RichObject.CalcHeight() + + + + + + SVG object + + + + + + + + + + + + + + Invokes the object's editor. + + true if object was edited succesfully. + + + + Gets or sets svg document + + + + + Gets or sets ViewBox value + + + + + Gets or sets AspectRatio value + + + + + + + + Gets or sets grayscale svg document + + + + + Gets or sets a value indicating that the image should be displayed in grayscale mode. + + + + + Returns SVG string + + + + + + + + + + + + + + + + + + + + + + + Returns clone of this object + + + + + + Sets svg object by SvgDocument + + SVG document + + + + Sets svg object from specified path + + path to SVG file + + + + Sets svg object from svg string + + SVG string + + + + Initializes a new instance of the class with default settings. + + + + + The base class for table-type controls such as and + . + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + + + + This property is not relevant to this class. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets a collection of table rows. + + + + + Gets a collection of table columns. + + + + + Gets or sets the number of fixed rows that will be repeated on each page. + + + + + Gets or sets the number of fixed columns that will be repeated on each page. + + + + + Gets or sets the value that determines whether to print the dynamic table (or matrix) on its parent band directly. + + + By default the dynamic table (matrix) is printed on its own band and is splitted on pages if necessary. + + + + + Gets or sets a value that determines whether is necessary to repeat table header on each page. + + + To define a table header, set the and + properties. + + + + + Gets or sets a value that determines whether is necessary to repeat table Row header on each page. + + + To define a table Row header, set the + properties. + + + + + Gets or sets a value that determines whether is necessary to repeat table Column header on each page. + + + To define a table Column header, set the + properties. + + + + + Gets or sets the table layout. + + + This property affects printing the big table that breaks across pages. + + + + + Gets or sets gap between parts of the table in wrapped layout mode. + + + This property is used if you set the property to Wrapped. + + + + + Gets or sets a value that determines whether to adjust the spanned cell's width when breaking the table across pages. + + + If set to true, the spanned cell's width will be adjusted to accomodate all contained text. + + + + + Gets or sets the table cell. + + Column index. + Row index. + The TableCell object that represents a cell. + + + + Gets or sets a number of columns in the table. + + + + + Gets or sets a number of rows in the table. + + + + + Gets a table which contains the result of rendering dynamic table. + + + Use this property to access the result of rendering your table in dynamic mode. + It may be useful if you want to center or right-align the result table on a page. + In this case, you need to add the following code at the end of your ManualBuild event handler: + + // right-align the table + Table1.ResultTable.Left = Engine.PageWidth - Table1.ResultTable.CalcWidth() - 1; + + + + + + + + + + + + + + + Gets data of the table cell with specified column and row numbers. + + The column number. + The row number. + TableCellData instance containing data of the table cell. + + + + Creates unique names for all table elements such as rows, columns, cells. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Calculates and returns the table width, in pixels. + + + + + + + + + + + Calculates a sum of values in a specified cell. + + The cell. + The object that contains calculated value. + + This method can be called from the ManualBuild event handler only. + + + + + Calculates a minimum of values in a specified cell. + + The cell. + The object that contains calculated value. + + This method can be called from the ManualBuild event handler only. + + + + + Calculates a maximum of values in a specified cell. + + The cell. + The object that contains calculated value. + + This method can be called from the ManualBuild event handler only. + + + + + Calculates an average of values in a specified cell. + + The cell. + The object that contains calculated value. + + This method can be called from the ManualBuild event handler only. + + + + + Calculates number of repeats of a specified cell. + + The cell. + The object that contains calculated value. + + This method can be called from the ManualBuild event handler only. + + + + + Initializes a new instance of the class. + + + + + Represents a table cell. + + + Use , properties to set the cell's + column and row spans. To put an object inside the cell, use its property: + + TableCell cell1; + PictureObject picture1 = new PictureObject(); + picture1.Bounds = new RectangleF(0, 0, 32, 32); + picture1.Name = "Picture1"; + cell1.Objects.Add(picture1); + + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets a collection of objects contained in this cell. + + + + + Gets or sets the column span for this cell. + + + + + Gets or sets the row span for this cell. + + + + + + + + Gets or sets a value that determines how to display duplicate values in the cells of the same group. + + + + + Ges or sets data associated with this cell. For internal use only. + + + + + Gets the address of this cell. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + + + + + + + Gets the TableBase object which this cell belongs to. + + + + + + + + Creates the exact copy of this cell. + + The copy of this cell. + + + + Determines if two cells have identical settings. + + Cell to compare with. + true if cells are equal. + + + + + + + Changes the cell's style. + + The new style. + + Each cell in a dynamic table object (or in a matrix) has associated style. + Several cells may share one style. If you try to change the cell's appearance directly + (like setting cell.TextColor), it may affect other cells in the table. + To change the single cell, use this method. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Represents a table column. + + + Use the property to set the width of a column. If + property is true, the column will calculate its width automatically. + You can also set the and properties + to restrict the column's width. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + + + + + + + + + + Gets or sets a width of the column, in pixels. + + + The column width cannot exceed the range defined by the + and properties. + To convert between pixels and report units, use the constants defined + in the class. + + + + + Gets or sets the minimal width for this column, in pixels. + + + + + Gets or sets the maximal width for this column, in pixels. + + + + + Gets or sets a value determines if the column should calculate its width automatically. + + + The column width cannot exceed the range defined by the + and properties. + + + + + Gets the index of this column. + + + + + + + + Gets or sets the page break flag for this column. + + + + + Gets or sets the number of columns to keep on the same page. + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Represents a table object that consists of several rows and columns. + + + To add/remove columns, use the collection. To add/remove + rows, use the collection. To initialize a table with specified number of + columns and rows, use and properties. + To print a table in code, use the event. In the manual build + mode, you can use aggregate functions. The following functions available: + + + Aggregate function + Description + + + Sum(cell) + Calculates the sum of values in specified table cell. + + + Min(cell) + Calculates the minimum of values in specified table cell. + + + Max(cell) + Calculates the maximum of values in specified table cell. + + + Avg(cell) + Calculates the average of values in specified table cell. + + + Count(cell) + Calculates the number of repeats of a specified table cell. + + + To print aggregate value, place the aggregate function call in the table cell: + [Count(Cell2)]. + + + + + + + + + + + + + + + + + + + + + + + + + + Represent expanding tags for add a new row/column. + + + + + Draw expanding tag. + + + + + + Allows to print table rows/columns dynamically. + + + This event is used to handle the table print process in a code. Using special methods + like , you can print specified rows/columns. + + First way is to repeat specified row(s) to get a table that will grow downwards. + To do this, you have to call the PrintRow method followed by the PrintColumns method. + + Another way is to repeat the specified column(s) to get a table that grows sidewards. + To do this, call the PrintColumn method followed by the PrintRows method. + + Finally, the third way is to repeat rows and columns. The table will grow downwards and + sidewards. To do this, call the PrintRow method followed by the PrintColumn + method (or vice versa). + + + + When you print a table row-by-row, you must call one of the PrintColumn, + PrintColumns methods right after the PrintRow method. + In the same manner, when you print a table column-by-column, call one of the + PrintRow, PrintRows methods right after the PrintColumn method. + If you ignore this rule you will get an exception. + + + + In this example, we will consider all three ways to print a table which has 3 rows and 3 columns. + Case 1: print a table downwards. + + // print table header (the first row) + Table1.PrintRow(0); + Table1.PrintColumns(); + // print table body (the second row) + for (int i = 0; i < 10; i++) + { + Table1.PrintRow(1); + Table1.PrintColumns(); + } + // print table footer (the third row) + Table1.PrintRow(2); + Table1.PrintColumns(); + + + Case 2: print a table sidewards. + + // print table header (the first column) + Table1.PrintColumn(0); + Table1.PrintRows(); + // print table body (the second column) + for (int i = 0; i < 10; i++) + { + Table1.PrintColumn(1); + Table1.PrintRows(); + } + // print table footer (the third column) + Table1.PrintColumn(2); + Table1.PrintRows(); + + + Case 3: print a table downwards and sidewards. + + // print the first row with all its columns + Table1.PrintRow(0); + // print header column + Table1.PrintColumn(0); + // print 10 data columns + for (int i = 0; i < 10; i++) + { + Table1.PrintColumn(1); + } + // print footer column + Table1.PrintColumn(2); + + // print table body (the second row) + for (int i = 0; i < 10; i++) + { + // print data row with all its columns + Table1.PrintRow(1); + Table1.PrintColumn(0); + for (int j = 0; j < 10; j++) + { + Table1.PrintColumn(1); + } + Table1.PrintColumn(2); + } + + // print table footer (the third row) + Table1.PrintRow(2); + // again print all columns in the table footer + Table1.PrintColumn(0); + for (int i = 0; i < 10; i++) + { + Table1.PrintColumn(1); + } + Table1.PrintColumn(2); + + + + + + Gets or sets a script method name that will be used to handle the + event. + + + If you use this event, you must handle the table print process manually. + See the event for details. + + + + + Determines whether to manage cell spans automatically during manual build. + + + The default value for this property is true. If you set it to false, you need to manage + spans in your ManualBuild event handler. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This method fires the ManualBuild event and the script code connected to the ManualBuildEvent. + + Event data. + + + + Prints a row with specified index. + + Index of a row to print. + + See the event for more details. + + + + + Prints rows with specified indices. + + Indices of rows to print. + + See the event for more details. + + + + + Prints all rows. + + + See the event for more details. + + + + + Prints a column with specified index. + + Index of a column to print. + + See the event for more details. + + + + + Prints columns with specified indices. + + Indices of columns to print. + + See the event for more details. + + + + + Prints all columns. + + + See the event for more details. + + + + + Adds a page before rows or columns. + + + Call this method to insert a page break before the next row or column that you intend to print + using PrintRow(s) or PrintColumn(s) methods. + See the event for more details. + + + + + Initializes a new instance of the class. + + + + + Represents a table row. + + + Use the property to set the height of a row. If + property is true, the row will calculate its height automatically. + You can also set the and properties + to restrict the row's height. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + + + + + + + + + + Gets or sets a height of the row, in pixels. + + + The row height cannot exceed the range defined by the + and properties. + To convert between pixels and report units, use the constants defined + in the class. + + + + + Gets or sets the minimal height for this row, in pixels. + + + + + Gets or sets the maximal height for this row, in pixels. + + + + + Gets or sets a value determines if the row should calculate its height automatically. + + + The row height cannot exceed the range defined by the + and properties. + + + + + Gets or sets a value that determines if the component can break its contents across pages. + + + + + Gets the index of this row. + + + + + + + + Gets or sets the cell with specified index. + + Column index. + The TableCell object. + + + + Gets or sets the page break flag for this row. + + + + + Gets or sets the number of rows to keep on the same page. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Specifies the layout that will be used when printing a big table. + + + + + The table is printed across a pages then down. + + + + + The table is printed down then across a pages. + + + + + The table is wrapped. + + + + + Specifies how to display the duplicate values. + + + + + The TableCell can show duplicate values. + + + + + The TableCell with duplicate value will be shown but with no text. + + + + + Several TableCell objects with the same value will be merged into one object. + + + + + Several TableCell objects with the same non-empty value will be merged into one object. + + + + + Represents data of the table cell. + + + + + Gets or sets parent table of the cell. + + + + + Gets or sets objects collection of the cell. + + + + + Gets or sets text of the table cell. + + + + + Gets or sets value of the table cell. + + + + + Gets or sets hyperlink value of the table cell. + + + + + Gets or sets column span of the table cell. + + + + + Gets or sets row span of the table cell. + + + + + Gets or sets the address of the table cell. + + + + + Gets the table cell. + + + + + Gets style of table cell. + + + + + Gets original the table cell. + + + + + Gets width of the table cell. + + + + + Gets height of the table cell. + + + + + Initializes a new instance of the class. + + + + + Attaches the specified table cell. + + The table cell instance. + This method is called when we load the table. + + + + Assigns another instance. + + The table cell data that used as a source. + This method is called when we copy cells or clone columns/rows in a designer. + + + + Assigns another instance at run time. + + The table cell data that used as a source. + This flag shows should children be copied or not. + This method is called when we print a table. We should create a copy of the cell and set the style. + + + + Sets style of the table cell. + + The new style of the table cell. + + + + Disposes the instance. + + + + + Calculates width of the table cell. + + The value of the table cell width. + + + + Calculates height of the table cell. + + The width of the table cell. + The value of the table cell height. + + + + Represents a collection of objects. + + + + + Gets a column with specified index. + + Index of a column. + The column with specified index. + + + + + + + + + + Represents a result table. + + + Do not use this class directly. It is used by the and + objects to render a result. + + + + + Occurs after calculation of table bounds. + + + You may use this event to change automatically calculated rows/column sizes. It may be useful + if you need to fit dynamically printed table on a page. + + + + + + + + + + + Creates a new instance of the class. + + + + + Represents a collection of objects. + + + + + Gets a row with specified index. + + Index of a row. + The row with specified index. + + + + + + + + + + Provides a type converter for a property representing a value measured in the current report units. + + + + + + + + + + + + + + + + + Provides a type converter for a property representing a reference to another component in a report. + + + + + + + + + + + + + + + + + Provides a type converter for a property representing a data type. + + + + + + + + + + + + + + + + + Blocks keyboard editing, you need to select a value from the drop-down list for editing + + + + + Provides a type converter for a property representing an expandable object. + + + + + + + + + + + + + + + + + Contains some configuration properties and settings that will be applied to the FastReport.Net + environment, including Report, Designer and Preview components. + + + + + Gets an english culture information for localization purposes + + + + + Gets dictionary of shortcut key. + + + + + Gets or sets a value indicating whether hotkeys should be disabled. + + + + + Gets or sets a value indicating saving last formatting should be disabled. + + + + + Gets or sets a value indicating that UI library must use high dpi compatible rendering. + + This flag is false by default. Turn it on at the application start if you need + better appearance of custom drawn UI items in high dpi mode. This however may result in + wrong appearance on multi-monitor setup. + /// + + + + Gets or sets the settings for the report designer window. + + + + + Gets or sets the UI style. + + + This property affects both designer and preview windows. + + + + + Gets or sets a value indicating whether the Ribbon UI should be used + + + + + Gets or sets a value indicating whether the designer window should use the compact menu (Visual Studio - alike). + + + The compact menu is currently supported in WPF only. + + + + + Gets or sets a value indicating of displaying the connection string. + If false, the connection string is hidden from the interface. + + + + + Gets or set the current icon pack index. Default is 0 (classic). + + Set this property at the application start. + + + + Gets or sets a value indicating whether SplashScreen should be displayed while loading designer + + + + + Gets or sets a value indicating whether Welcome window feature enabled. + If false, interface elements associated with the Welcome window will not be visible. + + + + + Gets or sets a value indicating whether Welcome window shoud be displayed on startup + + + + + Gets the folder to store auto save files + + + + + Gets or sets the default folder for SaveFileDialog. + + + + + Gets the autosaved report + + + + + Gets the autosaved report path + + + + + Is necessary to process abort and some other events in parallel + + + + + Gets a value indicating that the ASP.NET hosting permission level is set to full trust. + + + + + Gets or sets a value that determines whether to disable some functionality to run in web mode. + + + Use this property if you use FastReport in ASP.Net. Set this property to true before + you access any FastReport .NET objects. + + + + + Gets or sets the settings for the "Send Email" window. + + + + + Gets or sets a value that determines whether to paint designer surface on a separate (render) thread. + + + Default value is false. + + + + + Restores the form state from the configuration file. + + The form to restore. + Obsolete. Use either BaseForm.Storage or . + + + + Saves the form state to the configuration file. + + The form to save. + Obsolete. Use either BaseForm.Storage or . + + + + Create a dictionary of default keyboard shortcuts. + + + + + + Save default settings and user tokens. + Is user have to consent to save data, clear the data in the config file. + + + + + Save default settings and user tokens. + By default internal use only, it is able to be a public + + + + + Gets or sets the settings for the preview window. + + + + + Gets a value indicating that the Mono runtime is used. + + + + + Gets or sets a value indicating is it impossible to specify a local data path in Xml and Csv. + + + + + Gets or sets the optimization of strings. Is experimental feature. + + + + + Enable or disable the compression in files with prepared reports (fpx). + + + + + Gets or sets the application folder. + + + + + Gets or sets the path used to load/save the configuration file. + + + By default, the configuration file is saved to the application local data folder + (C:\Documents and Settings\User_Name\Local Settings\Application Data\FastReport\). + Set this property to "" if you want to store the configuration file in the application folder. + + + + + Gets or sets the path used to font.list file. + + + By default, the font.list file is saved to the FastReport.config folder + If WebMode enabled (or config file path is null), then file is saved in the application folder. + + + + + Gets or sets the settings for the Report component. + + + + + Gets or sets a value indicating whether RTL layout should be used. + + + + + Gets the root item of config xml. + + + + + Gets or sets the path to the temporary folder used to store temporary files. + + + The default value is null, so the system temp folder will be used. + + + + + Gets the path to the system temporary folder used to store temporary files. + + + + + Gets FastReport version. + + + + + Called on script compile + + + + + Gets a PrivateFontCollection instance. + + + + + Enable report script validation. For WebMode only + + + + + Throws when property EnableScriptSecurity has been changed + + + + + Properties of report script validation + + + + + Settings of report compiler. + + + + + Warms up the Roslyn compiler asynchronously. + + + Call this method at an application start to warm up the Roslyn compiler (used in NetCore). + + + + + Properties of ScriptSecurity + + + + + Add stubs for the most dangerous classes (in System.IO, System.Reflection etc) + + + + + List of keywords that shouldn't be declared in the report script + + + + + Throws when has changed + + + + + Sets default value for + + + + + Get access to font collection + + + + + Additional check FamilyName in function FastReport.Utils.FromString(Type type, string value); + By default option is set to FALSE value and engine works in classic mode. + If option is set to TRUE value, then engine checks family name of report's font and trying to find correct font within PrivateFontCollection. + + + + + Contains methods that peform string to object and vice versa conversions. + + + + + Converts an object to a string. + + The object to convert. + The string that contains the converted value. + + + + Converts a value to a string using the specified converter. + + The object to convert. + The type of converter. + The string that contains the converted value. + + + + Converts a string value to the specified data type. + + The data type to convert to. + The string to convert from. + The object of type specified in the type parameter that contains + a converted value. + + + + Converts a string to an object using the specified converter. + + The string to convert. + The type of converter. + The object that contains the converted value. + + + + Converts a string containing special symbols to the xml-compatible string. + + The string to convert. + The result string. + + This method replaces some special symbols like <, > into xml-compatible + form: &lt;, &gt;. To convert such string back to original form, use the + method. + + + + + Converts a string containing special symbols to the xml-compatible string. + + The string to convert. + Determines whether it is necessary to convert cr-lf symbols to xml form. + The result string. + + + + Converts a value to xml-compatible string. + + The value to convert. + The result string. + + + + Convert the xml-compatible string to the regular one. + + The string to convert. + The result string. + + This is counterpart to the method. + + + + + Decreases the precision of floating-point value. + + The initial value. + The number of decimal digits in the fraction. + The value with lesser precision. + + + + Converts a string value to the float. + + The string value to convert. + The float value. + + Both "." or "," decimal separators are allowed. + + + + + Converts a string value to the float. + + The string value to convert. + Indicates whether to ignore non-digit symbols. + The float value. + + + + Converts a string value to the float. + + The string value to convert. + Decimal separator. + The float value. + + + + Converts a string value to the float. + + The string value to convert. + Decimal separator. + Indicates whether to ignore non-digit symbols. + The float value. + + + + Converts the string containing several text lines to a collection of strings. + + The string to convert. + The collection instance. + + + + Converts a collection of strings to a string. + + The collection to convert. + The string that contains all lines from the collection. + + + + Converts null value to 0, false, empty string, depending on type. + + The data type. + The value of the type data type. + + + + Converts string value to byte[]. + + The string to convert + The value of the byte[] data type. + + + + Converts a string to NameValueCollection. + + The string to convert. + The NameValueCollection that contains the name/value pairs. + + + + Convert &amp;&Tab;&quot; etc to symbol and return result as string + + String for processing + Position for processing + Result of processing + True if successful + + + + Convert &amp;&Tab;&quot; etc to symbol and return result as string + + String for processing + Position for processing + Append result of processing to FastString + True if successful + + + + Draws control to a bitmap. + + Control to draw. + Determines whether to draw control's children or not. + The bitmap. + + + + The method adjusts the dotted line style for the in a graphical context. + + Collection of values for custom dash pattern. + Pen for lines. + Border around the report object. + + If a DashPattern pattern is specified and contains elements, the method checks each element. + If the element is less than or equal to 0, it is replaced by 1.
+ Then the resulting array of patterns is converted to the type and set as a dotted line pattern for the .
+ If the pattern is empty or not specified, + the method sets the style of the dotted line of the equal to the style of the dotted line of the object. +
+
+ + + Contains methods to call common editors. + + + Use this class if you are writing a new component for FastReport. + + + + + Invokes the expression editor. + + A reference to the report. + The expression to edit. + The new expression. + + + + Invokes the border editor. + + The Border to edit. + The new border. + + + + Invokes the data band columns editor. + + The data band columns to edit. + + + + + Invokes the fill editor. + + The fill to edit. + The new fill. + + + + Invokes the outline editor. + + The outline to edit. + The new outline. + + + + Invokes the text editor. + + A reference to the report. May be null + The text to edit. + True to hide data tree part. + The new text. + + + + Class for handling Exports visibility in the Preview control. + + + + + All cloud exports available in the preview. + + + + + All messengers exports available in the preview. + + + + + Resets the export nodes to default state. + + + + + Exports menu node. + + + + + Returns true if the node is a category. + + + + + Returns true if the node is an export. + + + + + Returns true if the node is a cloud export. + + + + + Returns true if the node is a category. + + + + + Adds a cloud export and registers it. + + The export type. + The display text. + The image index. + Returns this object to allow method chaining. + + + + Adds a messenger and registers it. + + The export type. + The display text. + The image index. + Returns this object to allow method chaining. + + + + + + + Gets or sets the name. + + + + + Gets child nodes. + + + + + Gets the parent node. + + + + + Gets the root node. + + + + + Gets or sets the type of the export. + + + + + Gets or sets the display text. + + + + + Gets or sets the image index. + + + + + Gets or sets the image. + + + + + Gets or sets the tag. + + + + + Gets or sets a value that indicates whether the node is enabled. + + + + + Adds a category. + + The category key name. + The image index. + The category node. + + + + Adds a category. + + The category key name. + The category display text. + The image. + The category node. + + + + Adds an export and registers it. + + The export type. + The display text. + The image index. + Returns this object to allow method chaining. + + + + Adds an export and registers it. + + The export type. + The display text. + The image. + Returns this object to allow method chaining. + + + + Represents a collection of nodes. + + + + + + + + + + + Gets an instance of ExportOptions. + + An ExportOptions instance. + + + + All exports available in the Preview control. + + + + + Occurs once right before restore exports state. + + + Use this event to configure the default exports state or add your own exports. + + + + + Occurs once right after restore exports state. + + + You may use this event to disable some exports, for example: + Config.PreviewSettings.Exports &= ~PreviewExports.PDFExport; + Doing so before state is restored may not take an effect. + + + + + Sets Export category visibility. + + Export category name. + Visibility state. + + + + Sets Export visibility. + + Export type. + Visibility state. + + + + Provides the message functions. + + + + + Shows the Message Box with error message. + + The message. + + + + Shows Message Box with confirmation. + + The message. + The dialog buttons. + The dialog result. + + + + Shows information Message Box. + + The message. + + + + Shows the Message Box with warning message. + + The message. + + + + The profiler. + + + + + Starts the profiler. + + + + + Finishes the profiler and displays results. + + + + + Holds the information about the registered object. + + + + + Image index. + + + + + Button index. + + + + + Flags that will be used to create an object instance in the designer. + + + + + Indicates whether this object can be inserted several times simultaneously. + + + This is applied to Line object only. + + + + + Name of object or category. + + + + + The registered object. + + + + + The registered function. + + + + + Tooltip text. + + + + + Gets or sets the enabled flag for the object. + + + + + Enumerates all objects. + + List that will contain enumerated items. + + + + + + + + + + + + + + + + + + + Contains all registered report items such as objects, export filters, wizards. + + + Use this class to register own components, wizards, export filters or another items that + need to be serialized to/from a report file. + + + + // register own wizard + RegisteredObjects.AddWizard(typeof(MyWizard), myWizBmp, "My Wizard", true); + // register own export filter + RegisteredObjects.AddExport(typeof(MyExport), "My Export"); + // register own report object + RegisteredObjects.Add(typeof(MyObject), "ReportPage", myObjBmp, "My Object"); + + + + + + Registers a new cloud storage client. + + Type of cloud storage client. + Text for cloud storage client's menu item. + + The obj must be of type. + + + + // register own cloud storage client + RegisteredObjects.AddCloud(typeof(MyCloud), "My Cloud"); + + + + + + Registers a new messenger. + + Type of messenger. + Text messenger's menu item. + + The obj must be of type. + + + + // register own messenger + RegisteredObjects.AddMessenger(typeof(MyMessenger), "My Messenger"); + + + + + + Registers a new wizard. + + Type of wizard. + Image for wizard item. + Text for wizard item. + true if this wizard creates some items in existing report. + + The obj must be of type. + + This example shows how to register own wizard that is used to create some items in the + current report. If you want to register a wizard that will be used to create a new report, + set the isReportItemWizard to false. + + // register own wizard + RegisteredObjects.AddWizard(typeof(MyWizard), myWizBmp, "My Wizard", true); + + + + + + Root object for all registered objects. + + + + + Root object for all registered exports. + + + + + Root object for all registered DataConnections + + + + + Root object for all registered functions. + + + + + Checks whether the specified type is registered already. + + Type to check. + true if such type is registered. + + + + Registers a category that may contain several report objects. + + Category name. + Image for category button. + Text for category button. + + Category is a button on the "Objects" toolbar that shows context menu with nested items + when you click it. Consider using categories if you register several report objects. It can + save space on the "Objects" toolbar. For example, FastReport registers one category called "Shapes" + that contains the LineObject and different types of ShapeObject. + The name of category must starts either with "ReportPage," or "DialogPage," depending on + what kind of controls do you need to regiter in this category: report objects or dialog controls. + After the comma, specify the category name. So the full category name that you need to specify + in the name parameter, must be something like this: "ReportPage,Shapes". + + When register an object inside a category, you must specify the full category name in the + category parameter of the Add method. + + + + + Obsolete. Use api instead. + + + + + Obsolete. Use api instead. + + + + + Obsolete. Use api instead. + + + + + Registers custom data connection. + + Type of connection. + Name of connection. + + The obj must be of type. + + + + // register data connection + RegisteredObjects.AddConnection(typeof(MyDataConnection), "My Data Connection"); + + + + + + Registers an object in the specified category. + + Type of object to register. + Name of category to register in. + Index of image for object's button. + Index of object's button in toolbar. + + + + Registers an object in the specified category with button's image, text, object's flags and multi-insert flag. + + Type of object to register. + Name of category to register in. + Image for object's button. + Text for object's button. + Integer value that will be passed to object's OnBeforeInsert method. + Specifies whether the object may be inserted several times until you + select the "arrow" button or insert another object. + + You must specify either the page type name or existing category name in the category parameter. + The report objects must be registered in the "ReportPage" category or custom category that is + registered in the "ReportPage" as well. The dialog controls must be registered in the "DialogPage" + category or custom category that is registered in the "DialogPage" as well. + If you want to register an object that needs to be serialized, but you don't want + to show it on the toolbar, pass empty string in the category parameter. + + To learn about flags, see the method. + + + + // register the report object + RegisteredObjects.Add(typeof(MyReportObject), "ReportPage", myReportObjectBmp, "My Report Object"); + // register the dialog control + RegisteredObjects.Add(typeof(MyDialogControl), "DialogPage", myDialogControlBmp, "My Dialog Control"); + // add a category and register an object inside it + RegisteredObjects.AddCategory("ReportPage,MyCategory", myCategoryBmp, "My Category"); + // register another report object in MyCategory + RegisteredObjects.Add(typeof(MyReportObject), "ReportPage,MyCategory", + anotherReportObjectBmp, "Another Report Object"); + + + + + + Adds a new function category. + + Short name of category. + Display name of category. + + Short name is used to reference the category in the subsequent + method call. It may be any value, for example, "MyFuncs". Display name of category is displayed + in the "Data" window. In may be, for example, "My Functions". + The following standard categories are registered by default: + + + "Math" + + + "Text" + + + "DateTime" + + + "Formatting" + + + "Conversion" + + + "ProgramFlow" + + + + + This example shows how to register a new category: + + RegisteredObjects.AddFunctionCategory("MyFuncs", "My Functions"); + + + + + + Adds a new function into the specified category. + + MethodInfo containing all necessary information about the function. + The name of category to register the function in. + + Your function must be a static, public method of a public class. + The following standard categories are registered by default: + + + "Math" + + + "Text" + + + "DateTime" + + + "Formatting" + + + "Conversion" + + + "ProgramFlow" + + + You may use one of the standard categories, or create a new category by the + method call. + FastReport uses XML comments to display your function's description. + To generate XML comments, enable it in your project's properties + ("Project|Properties..." menu, "Build" tab, enable the "XML documentation file" checkbox). + + + The following example shows how to register own functions: + + public static class MyFunctions + { + /// <summary> + /// Converts a specified string to uppercase. + /// </summary> + /// <param name="s">The string to convert.</param> + /// <returns>A string in uppercase.</returns> + public static string MyUpperCase(string s) + { + return s == null ? "" : s.ToUpper(); + } + + /// <summary> + /// Returns the larger of two 32-bit signed integers. + /// </summary> + /// <param name="val1">The first of two values to compare.</param> + /// <param name="val2">The second of two values to compare.</param> + /// <returns>Parameter val1 or val2, whichever is larger.</returns> + public static int MyMaximum(int val1, int val2) + { + return Math.Max(val1, val2); + } + + /// <summary> + /// Returns the larger of two 64-bit signed integers. + /// </summary> + /// <param name="val1">The first of two values to compare.</param> + /// <param name="val2">The second of two values to compare.</param> + /// <returns>Parameter val1 or val2, whichever is larger.</returns> + public static long MyMaximum(long val1, long val2) + { + return Math.Max(val1, val2); + } + } + + // register a category + RegisteredObjects.AddFunctionCategory("MyFuncs", "My Functions"); + + // obtain MethodInfo for our functions + Type myType = typeof(MyFunctions); + MethodInfo myUpperCaseFunc = myType.GetMethod("MyUpperCase"); + MethodInfo myMaximumIntFunc = myType.GetMethod("MyMaximum", new Type[] { typeof(int), typeof(int) }); + MethodInfo myMaximumLongFunc = myType.GetMethod("MyMaximum", new Type[] { typeof(long), typeof(long) }); + + // register simple function + RegisteredObjects.AddFunction(myUpperCaseFunc, "MyFuncs"); + + // register overridden functions + RegisteredObjects.AddFunction(myMaximumIntFunc, "MyFuncs,MyMaximum"); + RegisteredObjects.AddFunction(myMaximumLongFunc, "MyFuncs,MyMaximum"); + + + + + + Finds the registered object's info. + + The type of object to find. + The object's info. + This method can be used to disable some objects, for example: + RegisteredObjects.FindObject(typeof(PDFExport)).Enabled = false; + + + + + Register and override the method with method name in the type. + For property use the property name and _Get or _Set suffix. + + Type for registering method + Name of method fir registering + Method for registering + + + + Gets the method or null if method is not found + + Type for method finding + Name for method finfing + Use True value for inheritance the method from base type, use false for get the method only from the this type + + + + + Used to get localized values from the language resource file. + + + The resource file used by default is english. To load another locale, call + the method. It should be done at application start + before you use any FastReport classes. + + + + + Adds user image to 96 dpi images. + + User image (16x16 pixels). + Image index in the image list. + + + + Gets the standard images used in FastReport as an ImageList. + + ImageList object that contains standard images. + + FastReport contains about 240 truecolor images of 16x16 size that are stored in one + big image side-by-side. This image can be found in FastReport resources (the "buttons.png" resource). + + + + + Gets an image with specified index. + + Image index (zero-based). + Dpi value (96 for base dpi). + The image with specified index. + + FastReport contains about 240 truecolor images of 16x16 size that are stored in one + big image side-by-side. This image can be found in FastReport resources (the "buttons.png" resource). + + + + + Gets an image with specified name from resources. + + The name of image resource. + Dpi value (96 for base dpi). + The image. + + + + Gets an image with specified index and converts it to Icon. + + Image index (zero-based). + Dpi value (96 for base dpi). + The Icon object. + + + + Gets or set the folder that contains localization files (*.frl). + + + + + Returns the current UI locale name, for example "en". + + + + + Loads the locale from a file. + + The name of the file that contains localized strings. + + + + Loads and caches the locale from information. + Notes: *.frl the localization file is looked for in + To work correctly, it is recommended to install FastReport.Localization package + + + + + + Loads the locale from a stream. + + The stream that contains localized strings. + + + + Loads the english locale. + + + + + Gets a string with specified ID. + + The resource ID. + The localized string. + + Since the locale file is xml-based, it may contain several xml node levels. For example, + the file contains the following items: + + <Objects> + <Report Text="Report"/> + <Bands Text="Bands"> + <ReportTitle Text="Report Title"/> + </Bands> + </Objects> + + To get the localized "ReportTitle" value, you should pass the following ID + to this method: "Objects,Bands,ReportTitle". + + + + + Get builtin string. + + + + + + + Replaces the specified locale string with the new value. + + Comma-separated path to the existing locale string. + The new string. + + Use this method if you want to replace some existing locale value with the new one. + + + + Res.Set("Messages,SaveChanges", "My text that will appear when you close the designer"); + + + + + + Tries to get a string with specified ID. + + The resource ID. + The localized value, if specified ID exists; otherwise, the ID itself. + + + + Tries to get builtin string with specified ID. + + + + + + + Checks if specified ID exists. + + The resource ID. + true if specified ID exists. + + + + Resource loader class. + + + + + Gets a bitmap from specified assembly resource. + + Assembly name. + Resource name. + Bitmap object. + + + + Gets a bitmap from specified FastReport assembly resource. + + Resource name. + Bitmap object. + + + + Gets a cursor from specified assembly resource. + + Assembly name. + Resource name. + Cursor object. + + + + Gets a cursor from specified FastReport assembly resource. + + Resource name. + Cursor object. + + + + Gets an icon from specified assembly resource. + + Assembly name. + Resource name. + Icon object. + + + + Gets an icon from specified FastReport assembly resource. + + Resource name. + Icon object. + + + + Gets a stream from specified assembly resource. + + Assembly name. + Resource name. + Stream object. + + + + Gets a stream from FastReport assembly resource. + + Resource name. + Stream object. + + + + Gets a stream from specified assembly resource and unpacks it. + + Assembly name. + Resource name. + Stream object. + + + + Gets a stream from specified FastReport assembly resource and unpacks it. + + Resource name. + Stream object. + + + + The style of FastReport user interface. + + + + + Specifies the Microsoft Office 2003 style (blue). + + + + + Specifies the Microsoft Office 2007 style (blue). + + + + + Specifies the Microsoft Office 2007 style (silver). + + + + + Specifies the Microsoft Office 2007 style (black). + + + + + Specifies the Office 2010 (Blue) style. + + + + + Specifies the Office 2010 (Silver) style. + + + + + Specifies the Office 2010 (Black) style. + + + + + Specifies the Office 2013 style. + + + + + Specifies the Microsoft Visual Studio 2005 style. + + + + + Specifies the Visual Studio 2010 style. + + + + + Specifies the Visual Studio 2012 (Light) style. + + + + + Specifies the Microsoft Vista style (black). + + + + + Contains conversion methods between FastReport's UIStyle to various enums. + + + + + Contains visual style names. + + + + + Converts FastReport's UIStyle to eDotNetBarStyle. + + Style to convert. + Value of eDotNetBarStyle type. + + + + Converts FastReport's UIStyle to eTabStripStyle. + + Style to convert. + Value of eTabStripStyle type. + + + + Converts FastReport's UIStyle to eTabStripStyle. + + Style to convert. + Value of eTabStripStyle type. + + + + Converts FastReport's UIStyle to eOffice2007ColorScheme. + + Style to convert. + Value of eOffice2007ColorScheme type. + + + + Returns app workspace color for the given style. + + UI style. + The color. + + + + Returns control color for the given style. + + UI style. + The color. + + + + A static class that contains methods to auto-convert rtl layout. + + + + + Changes control's layout to rtl. + + + + + + Draws an image and a text. + + The control which is used to determine RTL and DPI settings. + The draw event args. + The image. + The text. + This method is used to draw items in an owner-drawn listboxes and comboboxes. It respects RTL and DPI settings of a control. + + + + Draws control's border. + + The control. + The graphics. + The bounds. + + + + Gets current dpi value for the control. + + The control. + The dpi value. + + + + Gets current dpi multiplier for the control (1.0 for 96dpi). + + The control. + The dpi multiplier. + + + + Gets current font dpi multiplier for the control (1.0 for 96dpi). + + The return value depends on the base resolution of the main screen. + The control. + The font dpi multiplier. + + + + Converts logical units to device units (pixels). + + The control. + Logical units. + Device units. + + + + Converts logical units to device units (pixels). + + The control. + Logical units. + Device units. + + + + Converts logical units to device units (pixels). + + The control. + Logical units. + Device units. + + + + Converts logical units to device units (pixels). + + The control. + Logical units. + Device units. + + + + Converts logical units to device units (pixels). + + The control. + Logical units. + Device units. + + + + Converts logical font to device font. + + The control. + Logical font. + Determines whether to dispose the original font or not. + Device font. + + + + Returns an image from resources using control's dpi value. + + The control. + Image index. + An image with specified index from "buttons.png" resource. + + + + Returns an image from resources using control's dpi value. + + The control. + Image name. + An image with specified index from "buttons.png" resource. + + + + Returns an imagelist from resources using control's dpi value. + + The control. + An imagelist from "buttons.png" resource. + + + + Base class for plugin's assembly initializer. + + + FastReport has an open architecture. That means you can extend it with own classes + such as report objects, wizards, export filters. Usually such classes are + placed in separate dlls (plugins). FastReport has mechanism to load plugin dlls. You can specify + which plugins to load at first start, in the FastReport configuration file (by default it is located in the + C:\Documents and Settings\User_Name\Local Settings\Application Data\FastReport\FastReport.config file). + To do this, add an xml item with your plugin name inside the <Plugins> item: + + <?xml version="1.0" encoding="utf-8"?> + <Config> + <Plugins> + <Plugin Name="c:\Program Files\MyProgram\MyPlugin.dll"/> + </Plugins> + </Config> + + When you run your application and use the Report object first time, all plugins will be loaded. + To register objects contained in a plugin, FastReport searches for classes of type + AssemblyInitializerBase and instantiates them. + Use this class to register custom report objects, controls, wizards, exports that + are contained in the assembly. To do this, make your own class of the AssemblyInitializerBase + type and override its default constructor. In the constructor, call RegisteredObjects.Add + methods to register all necessary items. + + + + + Registers plugins contained in this assembly. + + + This constructor is called automatically when the assembly is loaded. + + This example show how to create own assembly initializer to register own items. + + public class MyAssemblyInitializer : AssemblyInitializerBase + { + public MyAssemblyInitializer() + { + // register own wizard + RegisteredObjects.AddWizard(typeof(MyWizard), myWizBmp, "My Wizard", true); + // register own export filter + RegisteredObjects.AddExport(typeof(MyExport), "My Export"); + // register own report object + RegisteredObjects.Add(typeof(MyObject), "ReportPage", myObjBmp, "My Object"); + } + } + + + + + + Source of image, only for inline img tag + + + + + Class helper for compile source code with path of assemblies + + + + + Generate a assembly in memory with some source code and several path for additional assemblies + + + + + + + + Specifies the behaviour of compiler when exception is thrown. + + + + + Default behaviour. Throw exception. + + + + + Show exception message and replace incorrect expression by Placeholder. + + + + + Replace expression with exception message. Don't show any messages. + + + + + Replace exception with Placeholder value. Don't show any messages. + + + + + Contains compiler settings. + + + + + Gets or set the string that will be used for replacing incorrect expressions. + + + + + Gets or sets the behaviour of compiler when exception is thrown. + + + + + Get or sets number of recompiles + + + Report compiler can try to fix compilation errors and recompile your report again. This property sets the number of such attempts. + + + + + Initializes a new instance of the class. + + + + + Calc the Crc32 checksum + + + + + Caclulate Streams checksum. + + + + + + + Calculate byte array checksum. + + + + + + + Calculate string checksum. + + + + + + + Begin the checksum + + + + + + Update the checksum + + + + + + + + + + End the checksum. + + + + + + + Contains methods used to crypt/decrypt a data. + + + + + Sets the password that is used to crypt connection strings stored in a report. + + + See the property for more details. + + + + + Crypts a stream using specified password. + + The destination stream that will receive the crypted data. + The password. + The stream that you need to write to. + + Pass the stream you need to write to, to the dest parameter. Write your data to the + stream that this method returns. When you close this stream, the dest stream will be + closed too and contains the crypted data. + + + + + Decrypts a stream using specified password. + + Stream that contains crypted data. + The password. + The stream that contains decrypted data. + + You should read from the stream that this method returns. + + + + + Checks if the stream contains a crypt signature. + + Stream to check. + true if stream is crypted. + + + + Encrypts the string using the default password. + + String to encrypt. + The encrypted string. + + The password used to encrypt a string can be set via property. + You also may use the method if you want to + specify another password. + + + + + Encrypts the string using specified password. + + String to encrypt. + The password. + The encrypted string. + + + + Decrypts the string using the default password. + + String to decrypt. + The decrypted string. + + The password used to decrypt a string can be set via property. + You also may use the method if you want to + specify another password. + + + + + Decrypts the string using specified password. + + String to decrypt. + The password. + The decrypted string. + + + + Computes hash of specified stream. Initial position in stream will be saved. + + Initial stream + + + + + Computes hash of specified array. + + Initial array + + + + + Computes hash of specified array. + + Initial array + + + + + MurmurHash is a non-cryptographic hash function suitable for general hash-based lookup. + It was created by Austin Appleby in 2008 and is currently hosted on Github along with its test suite named 'SMHasher'. + It also exists in a number of variants, all of which have been released into the public domain. + The name comes from two basic operations, multiply (MU) and rotate (R), used in its inner loop. + https://en.wikipedia.org/wiki/MurmurHash + Implementation of Murmur3 Hash by Adam Horvath + http://blog.teamleadnet.com/2012/08/murmurhash3-ultra-fast-hash-algorithm.html + + + + + READ_SIZE + + + + + ComputeHash function + + + + + + + Gets the Hash + + + + + The exception that is thrown when the user tried to set object's name that is already exists. + + + + + The exception that is thrown when the user tried to rename an object that is introduced in the ancestor report. + + + + + The exception that is thrown when the user tried to rename an object that is introduced in the ancestor report. + + + + + The exception that is thrown when loading bad formed xml report file. + + + + + The exception that is thrown when loading an encrypted report with wrong password. + + + + + The exception that is thrown if there is an error in the report's script code. + + + + + The exception that is thrown when trying to set an object's Parent property to + an object that not accepts children of this type. + + + + + The exception that is thrown when trying to load a report file that contains reference to an + unknown object type. + + + + + The exception that is thrown when initializing a table datasource which + TableName or Alias is not set properly. + + + + + The exception that is thrown when trying to access a row of a datasource that is not initialized yet. + + + + + The exception that is thrown if an error occurs in the TableObject.ManualBuild event. + + + + + The exception that is thrown if an error occurs in the MatrixObject.ManualBuild event. + + + + + The exception that is thrown if a report object's Name property is set to wrong value. + + + + + The exception that is thrown if an unknown value is supplied to some methods dealing with totals, variables etc. + + + + + throws this exception if an error occurs in the SaveReport method. + See inner exception for detailed information. + + + + + The exception that is thrown when the Group Header has no group condition. + + + + + The exception that is thrown when the image cannot be loaded. + + + + + The helper class used to create unique component names using the fastest method. + + + Note: you can create unique component's name using its CreateUniqueName method. + However, it is very slow and can't be used in some situations (when you create a report + layout in a code and have a lot of objects on a page). + + This example demonstrates how to use this class. + + FastNameCreator nameCreator = new FastNameCreator(Report.AllObjects); + foreach (Base c in Report.AllObjects) + { + if (c.Name == "") + nameCreator.CreateUniqueName(c); + } + + + + + + Creates the unique name for the given object. + + The object to create name for. + + + + Initializes a new instance of the FastNameCreator class with collection of + existing report objects. + + The collection of existing report objects. + + + + Fast alternative of StringBuilder. + + + + + Gets the Length of string. + + + + + Gets or sets the chars of string. + + + Char value + + + + Gets StringBuilder + + + + + Initialize the new array for chars. + + Length of initial array. + + + + Checks the empty array. + + True if string is empty. + + + + Converts the array in string. + + String value. + + + + Clears the string. + + FastString object. + + + + Appends the string by string value. + + String value. + FastString object. + + + + Appends the string by string value. + + String value. + FastString object. + + + + Append formatted string. + + + + + + + + Appends new line. + + FastString object. + + + + Appends the string by char value. + + Char value. + FastString object. + + + + Appends the another FastString object. + + FastString object. + FastString object. + + + + Appends the string by object data. + + Object value. + FastString object. + + + + Copies the substring in char array. + + Start index in source. + Destination array. + Destination index. + Count of chars + + + + Removes substring. + + Start index of removed string. + Length of removed string. + FastString object. + + + + Inserts string. + + Start index in existing string. + Value of inserting string. + FastString object. + + + + Replacing the substring on other. + + Old string value. + New string value. + FastString object. + + + + Index of substring. + + Substring for search. + Sarting position for search. + Position of substring. + + + + Compare of substring in position. + + Starting index for comparsion. + Value for compare. + True if substring is identical in position. + + + + Returns the substring. + + Starting index. + Length of substring. + Substring. + + + + Creates the new FastString object with initial capacity. + + Initial capacity. + + + + Creates the new FastString object with default capacity. + + + + + Creates the new FastString object from initial string. + + + + + + Represents a collection of float values. + + + + + Gets or sets the value at the specified index. + + Index of a value. + The value at the specified index. + + + + Adds the specified values to the end of this collection. + + + + + + Adds a value to the end of this collection. + + Value to add. + Index of the added value. + + + + Inserts a value into this collection at the specified index. + + The zero-based index at which value should be inserted. + The value to insert. + + + + Removes the specified value from the collection. + + Value to remove. + + + + Returns the zero-based index of the first occurrence of a value. + + The value to locate in the collection. + The zero-based index of the first occurrence of value within the entire collection, if found; + otherwise, -1. + + + + Determines whether a value is in the collection. + + The value to locate in the collection. + true if value is found in the collection; otherwise, false. + + + + Copies values from another collection. + + Collection to copy from. + + + + Represents a collection of FastReport base objects. + + + + + Gets an owner of this collection. + + + + + Adds the specified elements to the end of this collection. + + Range of elements. + + + + Adds the specified elements to the end of this collection. + + Collection of elements. + + + + Adds an object to the end of this collection. + + Object to add. + Index of the added object. + + + + Inserts an object into this collection at the specified index. + + The zero-based index at which value should be inserted. + The object to insert. + + + + Removes the specified object from the collection. + + Object to remove. + + + + Returns the zero-based index of the first occurrence of an object. + + The object to locate in the collection. + The zero-based index of the first occurrence of value within the entire collection, if found; + otherwise, -1. + + + + Determines whether an element is in the collection. + + The object to locate in the collection. + true if object is found in the collection; otherwise, false. + + + + Returns an array of collection items. + + + + + + Determines whether two collections are equal. + + The collection to compare with. + true if collections are equal; false otherwise. + + + + Copies the content to another collection. + + The collection to copy to. + + + + + + + + + + + + + Initializes a new instance of the FRCollectionBase class with default settings. + + + + + Initializes a new instance of the FRCollectionBase class with specified owner. + + The owner of this collection. + + + + Provides a data for paint event. + + + + + Gets a Graphics object to draw on. + + + + + Gets the X scale factor. + + + + + Gets the Y scale factor. + + + + + Gets the cache that contains graphics objects. + + + + + Initializes a new instance of the FRPaintEventArgs class with specified settings. + + IGraphicsRenderer object to draw on. + X scale factor. + Y scale factor. + Cache that contains graphics objects. + + + + Initializes a new instance of the FRPaintEventArgs class with specified settings. + + Graphics object to draw on. + X scale factor. + Y scale factor. + Cache that contains graphics objects. + + + + A wrapper around PrivateFontCollection. + + + + + The pseudo-random generator. + + + + + Gets a random letter in same case that source character. + + The source character. + The random character. + + + + Gets random int value from 0 to 9. + + Random int value. + + + + Gets random int value from 0 to max. + + The maximum for random digit. + Random int value. + + + + Gets random int value from min to max. + + The minimum for random digit. + The maximum for random digit. + Random int value. + + + + Gets number of random digits from 0 to 9. + + The number of digits. + Number of random digits. + + + + Gets the random byte value. + + Random byte value. + + + + Gets random byte array with specified number of elements. + + The number of elements in array. + Random byte array. + + + + Gets the randomized char value. + + Random char value. + + + + Gets the random day from start to DataTime.Today. + + The starting DateTime value. + Random DateTime value. + + + + Gets the randomized TimeSpan value beetwin specified hours. + + The starting hour (0 - 24). + The ending hour (0 - 24). + Random TimeSpan value. + + + + Gets the randomized decimal value with same number of digits that in source value. + + The source decimal value. + Random decimal value based on source. + + + + Gets the randomized double value with same number of digits that in source value. + + The source double value. + Random double value based on source. + + + + Gets the randomized Int16 value with same number of digits that in source value. + + The source Int16 value. + Random Int16 value based on source. + + + + Gets the randomized Int32 value with same number of digits that in source value. + + The source Int32 value. + Random Int32 value based on source. + + + + Gets the randomized Int64 value with same number of digits that in source value. + + The source Int64 value. + Random Int64 value based on source. + + + + Gets the randomized SByte value with same number of digits that in source value. + + The source SByte value. + Random SByte value based on source. + + + + Gets the randomized Single value with same number of digits that in source value. + + The source Single value. + Random Single value based on source. + + + + Gets the randomized string with same length and same whitespaces that in source string. + + The source string. + Random string based on source string. + + + + Gets the randomized UInt16 value with same number of digits that in source value. + + The source UInt16 value. + Random UInt16 value based on source. + + + + Gets the randomized UInt32 value with same number of digits that in source value. + + The source UInt32 value. + Random UInt32 value based on source. + + + + Gets the randomized UInt64 value with same number of digits that in source value. + + The source UInt64 value. + Random UInt64 value based on source. + + + + Gets randomized object based on the source object. + + The source object. + The type of object. + Random object based on source. + + + + Randomizes datasources. + + Collection of datasources. + + + + Initializes a new instance of the class. + + + + + Represents information about column. + + + + + Gets or sets the type of column. + + + + + Gets or sets the length of column. + + + + + Initializes a new instance of the class. + + The type of column. + The lenght of column. + + + + Represents random value of field. + + + + + Gets or sets the original value of field. + + + + + Gets or sets the random value of field. + + + + + Initializes a new instance of the class. + + The original value of field. + The random value of field. + + + + Represents collection of random values of field. + + + + + Initializes a new instance of the class. + + + + + Adds an object to the end of this collection. + + Object to add. + + + + Determines whether an element with the same origin value is in the collection. + + The object to locate in the collection. + true if object is found in the collection; otherwise, false. + + + + Determines whether an element with the same random value is in the collection. + + The object to locate in the collection. + true if object is found in the collection; otherwise, false. + + + + Gets the random value for specified origin. + + The origin value. + The random value. + + + + The reader used to deserialize object's properties from a report file. + + + + + Gets a string that contains errors occured during the load. + + + + + Gets the current item name. + + + + + Gets or sets a value indicating whther is necessary to read the object's children. + + + + + Returns Root element for this reader + + + + + Gets or sets target of serialization. + + + + + Reads the specified object. + + The object to read. + + The object must implement the interface. This method + invokes the Deserialize method of the object. + + This example demonstrates the use of ReadProperties, ReadChildren, + NextItem, Read methods. + + public void Deserialize(FRReader reader) + { + // read simple properties like "Text", complex properties like "Border.Lines" + reader.ReadProperties(this); + + // moves the current reader item + while (reader.NextItem()) + { + // read the "Styles" collection + if (String.Compare(reader.ItemName, "Styles", true) == 0) + reader.Read(Styles); + else if (reader.ReadChildren) + { + // if read of children is enabled, read them + Base obj = reader.Read(); + if (obj != null) + obj.Parent = this; + } + } + } + + + + + + Reads an object from current xml node. + + The object. + + This method creates an instance of object described by the current xml node, then invokes + its Deserialize method. + + This example demonstrates the use of ReadProperties, ReadChildren, + NextItem, Read methods. + + public void Deserialize(FRReader reader) + { + // read simple properties like "Text", complex properties like "Border.Lines" + reader.ReadProperties(this); + + // moves the current reader item + while (reader.NextItem()) + { + // read the "Styles" collection + if (String.Compare(reader.ItemName, "Styles", true) == 0) + reader.Read(Styles); + else if (reader.ReadChildren) + { + // if read of children is enabled, read them + Base obj = reader.Read(); + if (obj != null) + obj.Parent = this; + } + } + } + + + + + + Reads properties of specified object. + + The object to read. + + This method reads simple properties like "Text", "Border.Lines" etc. for specified object. + To read nested properties like collections, you should override the + method of an object. + + This example demonstrates the use of ReadProperties, ReadChildren, + NextItem, Read methods. + + public void Deserialize(FRReader reader) + { + // read simple properties like "Text", complex properties like "Border.Lines" + reader.ReadProperties(this); + + // moves the current reader item + while (reader.NextItem()) + { + // read the "Styles" collection + if (String.Compare(reader.ItemName, "Styles", true) == 0) + reader.Read(Styles); + else if (reader.ReadChildren) + { + // if read of children is enabled, read them + Base obj = reader.Read(); + if (obj != null) + obj.Parent = this; + } + } + } + + + + + + Moves the current xml item. + + false if there is no more items to move on; true otherwise. + + This method is used to read child objects. + + This example demonstrates the use of ReadProperties, ReadChildren, + NextItem, Read methods. + + public void Deserialize(FRReader reader) + { + // read simple properties like "Text", complex properties like "Border.Lines" + reader.ReadProperties(this); + + // moves the current reader item + while (reader.NextItem()) + { + // read the "Styles" collection + if (String.Compare(reader.ItemName, "Styles", true) == 0) + reader.Read(Styles); + else if (reader.ReadChildren) + { + // if read of children is enabled, read them + Base obj = reader.Read(); + if (obj != null) + obj.Parent = this; + } + } + } + + + + + + Checks if current item has specified property. + + The property name to check. + true if current item has specified property. + + + + Reads the string property. + + Name of property. + Property value. + + + + Reads the boolean property. + + Name of property. + Property value. + + + + Reads the integer property. + + Name of property. + Property value. + + + + Reads the float property. + + Name of property. + Property value. + + + + Reads the double property. + + Name of property. + Property value. + + + + Reads the enum property. + + Name of property. + Type of property. + Property value. + + + + Reads the standalone property value. + + Property value. + + + + Disposes the reader, fixups the property references. + + + + + Loads the xml items from a stream. + + The stream to load from. + + + + Initializes a new instance of the FRReader class with specified report. + + Reference to a report. + + + + Initializes a new instance of the FRReader class with specified report and xml item with + contents to read. + + Reference to a report. + Xml item with contents to read. + + + + Specifies the target for the serialize operation. + + + + + Serialize to the report file. + + + + + Serialize to the preview pages. + + + + + Serialize to the source pages of a preview. + + + + + Serialize to the designer's clipboard. + + + + + Serialize to the designer's undo/redo buffer. + + + + + The writer used to serialize object's properties to a report file. + + + + + Gets or sets current xml item name. + + + + + Gets or sets target of serialization. + + + + + Gets the ethalon object to compare with. + + + + + Gets or sets a value that determines whether is necessary to serialize child objects. + + + + + Gets or sets a value that determines whether is necessary to add xml header. + + + + + Serializes the specified object. + + The object to serialize. + + The object must implement the interface. This method + invokes the Serialize method of the object. + + This example demonstrates the use of writer. + + public void Serialize(FRWriter writer) + { + // get the etalon object. It will be used to write changed properties only. + Base c = writer.DiffObject as Base; + + // write the type name + writer.ItemName = ClassName; + + // write properties + if (Name != "") + writer.WriteStr("Name", Name); + if (Restrictions != c.Restrictions) + writer.WriteValue("Restrictions", Restrictions); + + // write child objects if allowed + if (writer.SaveChildren) + { + foreach (Base child in ChildObjects) + { + writer.Write(child); + } + } + } + + + + + + Serializes the object using specified etalon. + + The object to serialize. + The etalon object. + + + + Writes a string property. + + Property name. + Property value. + + + + Writes a boolean property. + + Property name. + Property value. + + + + Writes an integer property. + + Property name. + Property value. + + + + Writes a float property. + + Property name. + Property value. + + + + Writes a double property. + + Property name. + Property value. + + + + Writes an enumeration property. + + Property name. + Property value. + + + + Writes an object reference property. + + Property name. + Property value. + + + + Writes a standalone property value. + + Name of property. + Property value. + + This method produces the following output: + <PropertyName>PropertyValue</PropertyName> + + + + + Determines if two objects are equal. + + The first object. + The second object. + true if objects will be serialized to the same value. + + + + Disposes the writer. + + + + + Saves the writer output to a stream. + + Stream to save to. + + + + Initializes a new instance of the FRWriter class with default settings. + + + + + Initializes a new instance of the FRWriter class with specified xml item that will + receive writer's output. + + The xml item that will receive writer's output. + + + + Context of HTML rendering + It is better to put this structure instead of class' private fields. + For future optimization. Then we can avoid constructor with dozen arguments + + + + + Contexted version of HTML renderer + + + + + + Returns splited string + + text for splitting + index of first character of second string + second part of string + returns true if ends on enter + first part of string + + + + Check the line, and if last word is able to move next line, move it. + e.g. white space won't move to next line. + If word is not moved return current line. + else return new line + + the paragraph for lines + the line with extra words + the index of start last word in this line + width to place words + ref to current line width + ref to current word + + + + + Get start position of line. + + + if this parameter is true, the starting position of the line in the new paragraph will be returned + + + + + + Represents character placement. + + + + + Be care generates dictionary only one time + + + + + Return true if read char + + + + + + Represents a style used in HtmlTags mode. Color does not affect the equals function. + + + + + returns true if objects realy equals + + + + + + + Class that converts strings with Wingdings characters to Unicode strings. + + + + + Converts string with Wingdings characters to its Unicode analog. + + The string that should be converted. + + + + + Interface allows to load images with custom format or custom type + + + + + Returns true if image can be loaded + + + + + + + Returns true if image can be loaded + + + + + + + Try to load the image, must not throw exception! + + + + + + + + Try to load the image, must not throw exception! + + + + + + + + Internal calss for image processing + + + + + Register a new custom loader + + + + + + Load the image from bytes, Internal only method + + + + + + + Converts a PNG image to a icon (ico) + + The input image + The output stream + Preserve the aspect ratio + Wether or not the icon was succesfully generated + + + + Returns an Image format. + + + + + Tooltip text. + + + + + List of subitems. + + + + + Enumerates all objects. + + List that will contain enumerated items. + + + + Name of object or category. + + + + + Tooltip text. + + + + + The registered function. + + + + + Enumerates all objects. + + List that will contain enumerated items. + + + + The registered data connection. This type is subclass of + + + + + Tooltip text. + + + + + Used to access to resource IDs inside the specified branch. + + + Using the method, you have to specify the full path to your resource. + Using this class, you can shorten the path: + + // using the Res.Get method + miKeepTogether = new ToolStripMenuItem(Res.Get("ComponentMenu,HeaderBand,KeepTogether")); + miResetPageNumber = new ToolStripMenuItem(Res.Get("ComponentMenu,HeaderBand,ResetPageNumber")); + miRepeatOnEveryPage = new ToolStripMenuItem(Res.Get("ComponentMenu,HeaderBand,RepeatOnEveryPage")); + + // using MyRes.Get method + MyRes res = new MyRes("ComponentMenu,HeaderBand"); + miKeepTogether = new ToolStripMenuItem(res.Get("KeepTogether")); + miResetPageNumber = new ToolStripMenuItem(res.Get("ResetPageNumber")); + miRepeatOnEveryPage = new ToolStripMenuItem(res.Get("RepeatOnEveryPage")); + + + + + + + Gets a string with specified ID inside the main branch. + + The resource ID. + The localized value. + + + + Initializes a new instance of the class with spevified branch. + + The main resource branch. + + + + Localized CategoryAttribute class. + + + + + + + + Initializes a new instance of the SRCategory class. + + The category name. + + + + Script security event arguments. + + + + + Gets the report language. + + The report language. + + + + Gets the report. + + The report. + + + + Gets the report script. + + The report script. + + + + Gets the references of script. + + Script references + + + + Gets or sets value if script is allowed to compile + + true if is valid; otherwise, false. + + + + Initializes a new instance of the class. + + Report. + Report's script. + Report's references. + + + + Storage service that replaces direct manipulations with Config.Root xml storage. + + + + + Determines if the key has a value. + + The key to check. + True if the key has a non-empty value. + + + + Determines if the storage is not empty. + + + + + Gets a string value. + + The key. + Default value. + The value associated with a key, or default value. + + + + Gets a bool value. + + The key. + Default value. + The value associated with a key, or default value. + + + + Gets an int value. + + The key. + Default value. + The value associated with a key, or default value. + + + + Gets a float value. + + The key. + Default value. + The value associated with a key, or default value. + + + + Gets an enum value. + + The key. + Default value. + The value associated with a key, or default value. + + + + Reads a serializable object. + + The object to read. + + + + Sets a string value. + + The key. + Value associated with a key. + + + + Sets a bool value as a 0/1. + + The key. + Value associated with a key. + + + + Sets a bool value as a False/True. + + The key. + Value associated with a key. + + + + Sets an int value. + + The key. + Value associated with a key. + + + + Sets a float value. + + The key. + Value associated with a key. + + + + Sets an enum value. + + The key. + Value associated with a key. + + + + Writes a serializable object. + + The object to write. + + + + Initializes a new instance of a storage. + + The comma-separated path. + + + + Advanced text renderer is used to perform the following tasks: + - draw justified text, text with custom line height, text containing html tags; + - calculate text height, get part of text that does not fit in the display rectangle; + - get paragraphs, lines, words and char sequence to perform accurate export to such + formats as PDF, TXT, RTF + + Here is how one may operate the renderer items: + + foreach (AdvancedTextRenderer.Paragraph paragraph in renderer.Paragraphs) + { + foreach (AdvancedTextRenderer.Line line in paragraph.Lines) + { + foreach (AdvancedTextRenderer.Word word in line.Words) + { + if (renderer.HtmlTags) + { + foreach (AdvancedTextRenderer.Run run in word.Runs) + { + using (Font f = run.GetFont()) + using (Brush b = run.GetBrush()) + { + g.DrawString(run.Text, f, b, run.Left, run.Top, renderer.Format); + } + } + } + else + { + g.DrawString(word.Text, renderer.Font, renderer.Brush, word.Left, word.Top, renderer.Format); + } + } + } + } + + + + + + The scale for font tag + + + + + Paragraph represents single paragraph. It consists of one or several . + + + + + Line represents single text line. It consists of one or several . + Simple line (that does not contain tabs, html tags, and is not justified) has + single which contains all the text. + + + + + Word represents single word. It may consist of one or several , in case + when HtmlTags are enabled in the main class. + + + + + Represents character placement. + + + + + Represents a style used in HtmlTags mode. + + + + + Represents sequence of characters that have the same . + + + + + Represents inline Image. + + + + + Standard text renderer uses standard DrawString method to draw text. It also supports: + - text rotation; + - fonts with non-standard width ratio. + In case your text is justified, or contains html tags, use the + class instead. + + + + + Cache for rendering img tags in textobject. + You can use only HTTP[s] protocol with absolute urls. + + + + + Is serialized + + + + + Get or set WebClient for downloading imgs by url + + + + + Occurs before image load + + + + + Occurs after image load + + + + + Enumerates all values + + + + + + Return CacheItem by src + + Src attribute from img tag + + + + + + + + + + + + Set CacheItem by src + + Src attribute from img tag + CacheItem + + + + + Validate src attribute from image + + Src attribute from img tag + return true if src is valid + + + + + + + + + + + + Item of image cache Dictionary + + + + + Get Base64 string + + + + + Return true if has some error with Image + + + + + Get Image + + + + + Get byte array + + + + + Return error image and set true to error property + + + + + + Set value for cache item + + Image encoded base64 string + + + + Set value for cache item + + Image + + + + Set value for cache item + + Image + + + + + + + + + + WebClientEventArgs + + + + + Gets a cache + + + + + Gets or sets a value indicating whether the event was handled. + + + + + Gets or sets a url from src attribue of img tag + + + + + + + + + + + The report page units. + + + + + Specifies the units measured in millimeters. + + + + + Specifies the units measured in centimeters. + + + + + Specifies the units measured in inches. + + + + + Specifies the units measured in hundreths of inch. + + + + + Defines the constants used to convert between report units and screen pixels. + + + To convert pixels to millimeters, use the following code: + valueInMillimeters = valueInPixels / Units.Millimeters; + To convert millimeters to pixels, use the following code: + valueInPixels = valueInMillimeters * Units.Millimeters; + + + + + The number of pixels in one millimeter. + + + + + The number of pixels in one centimeter. + + + + + The number of pixels in one inch. + + + + + The number of pixels in 1/10 of ich. + + + + + The number of pixels in 1/100 of inch. + + + + + File size units. + + + + + Bytes. + + + + + Kilobytes. + + + + + Megabytes. + + + + + Gigabytes. + + + + + Terobytes. + + + + + Convert numbers to file size (example 1 MB). + + + + + + + Contains methods used for validation of report. + + + + + Validate report. + + + Need set false if enabled backlight intersecting objects and report is designing. + Token for cancelling method if it execute in thread. + List of errors. + + + + Represents a xml property. + + + + + Represents a property key. + + + + + Represents a property value. + + + + + Creates new property and assigns value + + Property key + Property value + + + + Represents a xml node. + + + + + Gets a number of children in this node. + + + + + Gets a list of children in this node. + + + + + Gets a child node with specified index. + + Index of node. + The node with specified index. + + + + Gets or sets the node name. + + + This property will return "Node" for a node like <Node Text="" Left="0"/> + + + + + Gets or sets a list of properties in this node. + + + + + Gets or sets the parent for this node. + + + + + Gets or sets the node value. + + + This property will return "ABC" for a node like <Node>ABC</Node> + + + + + Gets the root node which owns this node. + + + + + Clears the child nodes of this node. + + + + + Adds a new child node to this node. + + The new child node. + + + + Adds a specified node to this node. + + The node to add. + + + + Inserts a specified node to this node. + + Position to insert. + Node to insert. + + + + Finds the node with specified name. + + The name of node to find. + The node with specified name, if found; null otherwise. + + + + Finds the node with specified name. + + The name of node to find. + The node with specified name, if found; the new node otherwise. + + This method adds the node with specified name to the child nodes if it cannot find the node. + Do not dispose items, which has been created by this method + + + + + Gets the index of specified node in the child nodes list. + + The node to find. + Zero-based index of node, if found; -1 otherwise. + + + + Gets a property with specified name. + + The property name. + The value of property, if found; empty string otherwise. + + This property will return "0" when you request the "Left" property for a node + like <Node Text="" Left="0"/> + + + + + Removes all properties. + + + + + Sets the value for a specified property. + + The property name. + Value to set. + + For example, you have a node like <Node Text="" Left="0"/>. When you set the + "Text" property to "test", the node will be <Node Text="test" Left="0"/>. + If property with specified name is not exist, it will be added. + + + + + Removes a property with specified name. + + The property name. + Returns true if property is removed, false otherwise. + + + + Disposes the node and all its children. + + + + + Initializes a new instance of the XmlItem class with default settings. + + + + + Represents a xml document that contains the root xml node. + + + Use Load and Save methods to load/save the document. To access the root node + of the document, use the property. + + + + + Gets or sets a value indicating whether is necessary to indent the document + when saving it to a file/stream. + + + + + Gets or sets a value indicating whether is necessary to add xml header. + + + + + Gets or sets a value indicating whether is necessary to read xml header. + + + + + Gets the root node of the document. + + + + + Clears the document. + + + + + Saves the document to a stream. + + Stream to save to. + + + + Saves the document to a string. + + Writer to save to. + + + + Loads the document from a stream. + + Stream to load from. + + + + Saves the document to a file. + + The name of file to save to. + + + + Loads the document from a file. + + The name of file to load from. + + + + Disposes resources used by the document. + + + + + Initializes a new instance of the XmlDocument class with default settings. + + + + + + + + + + + + + Clear all files in archive. + + + + + Check for exisiting file in archive. + + + + + + + Adds the file form disk to the archive. + + + + + + Adds all files from directory (recursive) on the disk to the archive. + + + + + + Adds the stream to the archive. + + + + + + + Creates the zip and writes it to rhe Stream + + + + + + Creates the ZIP archive and writes it to the file. + + + + + + Gets or sets the Root Folder. + + + + + Gets or sets the errors. + + + + + Gets or sets the commentary to the archive. + + + + + Gets count of files in archive. + + + + + Creates the new zip archive. + + + + + Class for ACMYK color conversions + + + + + Alpha transparency 0..255 + + + + + Cyan 0..100 + + + + + Magenta 0..100 + + + + + Yellow 0..100 + + + + + Black 0..100 + + + + + Returns ACMYK as string. + + + + + + Gets CMYKA from string. + + + + + + Converts Color value to ACMYK + + + + + + Converts separate ARGB values in ACMYK + + + + + + + + + Returns ARGB color value + + + + + + Creates CMYKColor from ARGB values + + + + + + + + + Creates CMYKColor from ACMYK values + + + + + + + + + + Creates CMYKColor from string (comma separated values) + + + + + + Creates CMYKColor from Color value + + + + + + Color Utilities + + + + + Return true for CMYK Jpeg image + + + + + + + Used to draw a text with non-standard angle or justification. + + + + + Draws a string. + + String to draw. + Graphics object to draw on. + Font that used to draw text. + Brush that determines the color and texture of the drawn text. + RectangleF structure that specifies the location of the drawn text. + StringFormat that specifies formatting attributes, such as line spacing and alignment, that are applied to the drawn text. + Horizontal alignment of the text. + Width ratio of the font used to draw a string. + Line height, in pixels. + Angle of the text, in degrees. + Indicates whther to draw string close to the printout. + Force justify for the last line. + + + + Initializes a new instance of the DrawText class with default settings. + + + + + Specifies the main mode of the designer's workspace. + + + + + Specifies selection mode. + + + + + Specifies insertion mode. + + + + + Specifies drag-drop mode. + + + + + Specifies the additional mode of the designer's workspace. + + + + + Specifies default mode. + + + + + Indicates that user moves the selected objects. + + + + + Indicates that user resizes the selected objects. + + + + + Indicates that user draw the selection rectangle. + + + + + Specifies a custom mode handled by the object. + + + + + Provides a data for mouse events. + + + + + The X mouse coordinate. + + + + + The Y mouse coordinate. + + + + + Current state of mouse buttons. + + + + + Current keyboard state. + + + + + Indicates that current object was handled the mouse message. + + + + + The delta of the mouse movement. + + + + + The mouse wheel delta. + + + + + Current cursor shape. + + + + + Additional mode of the designer's workspace. + + + + + Current sizing point if Mode is set to Size. + + + + + Current selection rectangle if mode is set to SelectionRect. + + + + + Active object that handles the mouse event. + + + + + The source object of drag-drop operation. + + + + + Multiple sources objects of drag-drop operation. + + + + + The target object of drag-drop operation. + + + + + The message to show when drag source is over the object. + + + + + Additional data supplied and handled by report objects. + + + + + Specifies the sizing point used to resize an object by mouse. + + + + + No sizing point. + + + + + Specifies left-top sizing point. + + + + + Specifies left-bottom sizing point. + + + + + Specifies right-top sizing point. + + + + + Specifies right-bottom sizing point. + + + + + Specifies top-center sizing point. + + + + + Specifies bottom-center sizing point. + + + + + Specifies left-center sizing point. + + + + + Specifies right-center sizing point. + + + + + Specifies a selection point used to resize an object. + + + + + The X coordinate of the point. + + + + + The Y coordinate of the point. + + + + + The size mode. + + + + + Initializes a new instance of the SelectionPoint class with specified location and size mode. + + The X coordinate. + The Y coordinate. + Size mode. + + + + Storage service for form's controls. + + + + + Use device independent pixels (measured in 96dpi mode). + + + + + Gets value in device-independent pixels (dips) and converts it to pixels. Takes property into account. + + The key. + Default value. + Minimum value. + Maximum value. + Value in dips. + + + + Stores value in device-independent pixels (dips). Takes property into account. + + The key. + Value. + + + + Gets font from font storage. + + Path to font storage. + Default value. + The font object. + + + + Initializes a new instance of storage class. + + The control which dpi setting is used to save/restore dips. + The root path. + + + + Storage service for forms. + + + + + Saves the form state to the configuration file. + + + + + Restores the form state from the configuration file. + + + + + Gets font from font storage. + + Element name from font storage. + Default value. + The font object. + + + + Initializes a new instance of storage class. + + The form which state will be saved/restored. + + + + Starts Windows process correctly for CoreWin, Net, Mono + + + + + Represents the "Blank Report" wizard. + + + + + + + + Represents the "Control identification sign" wizard. + + + + + + + + Initializes a new instance of the class with the default settings. + + + + + Represents the "Inherited Report" wizard. + + + + + + + + Represents the "Label" wizard. + + + + + Gets a selected label manufacturer. + + + + + Gets a selected label name. + + + + + Gets the XML item containing a selected label parameters. + + + + + + + + Initializes a new instance of the class with the default settings. + + + + + Represents the "New Data Source" wizard. + + + + + + + + Represents the "New Dialog" wizard. + + + + + + + + Represents the "New Page" wizard. + + + + + + + + Represents the "Standard Report" wizard. + + + + + + + + The base class for all report wizards. + + + To create own wizard, use this class as a base. All you need is to override + the method. To register a wizard, use the + method. + + + + + Runs the wizard. + + Report designer. + true if wizard was executed succesfully. + + This method is called when you select a wizard in the "Add New Item" window and + click "Add" button. You should do the work in this method. + + + + + The FastReport.dll assembly initializer. + + + + + Registers all core objects, wizards, export filters. + + + + + Base class for all bands. + + + + + This event occurs before the band layouts its child objects. + + + + + This event occurs after the child objects layout was finished. + + + + + Gets or sets a value indicating that the band should be printed from a new page. + + + New page is not generated when printing very first group or data row. This is made to avoid empty + first page. + + + + + Gets or sets a value that determines the number of repetitions of the same band. + + + + + Gets or sets a value indicating that the first row can start a new report page. + + + Use this property if is set to true. Normally the new page + is not started when printing the first data row, to avoid empty first page. + + + + + Gets or sets a value indicating that the band should be printed on the page bottom. + + + + + Gets or sets a value indicating that the band should be printed together with its child band. + + + + + Gets or sets an outline expression. + + + + Outline is a tree control displayed in the preview window. It represents the prepared report structure. + Each outline node can be clicked to navigate to the item in the prepared report. + + + To create the outline, set this property to any valid expression that represents the outline node text. + This expression will be calculated when band is about to print, and its value will be added to the + outline. Thus, nodes' hierarchy in the outline is similar to the bands' hierarchy + in a report. That means there will be the main and subordinate outline nodes, corresponding + to the main and subordinate bands in a report (a report with two levels of data or with groups can + exemplify the point). + + + + + + Gets or sets a child band that will be printed right after this band. + + + Typical use of child band is to print several objects that can grow or shrink. It also can be done + using the shift feature (via property), but in some cases it's not possible. + + + + + Gets a collection of report objects belongs to this band. + + + + + Gets a value indicating that band is reprinted on a new page. + + + This property is applicable to the DataHeaderBand and GroupHeaderBand only. + It returns true if its RepeatOnAllPages property is true and band is + reprinted on a new page. + + + + + Gets or sets a script event name that will be fired before the band layouts its child objects. + + + + + Gets or sets a script event name that will be fired after the child objects layout was finished. + + + + + + + + + + + Gets or sets collection of guide lines for this band. + + + + + Gets a row number (the same value returned by the "Row#" system variable). + + + This property can be used when running a report. It may be useful to print hierarchical + row numbers in a master-detail report, like this: + 1.1 + 1.2 + 2.1 + 2.2 + To do this, put the Text object on a detail data band with the following text in it: + [Data1.RowNo].[Data2.RowNo] + + + + + Gets an absolute row number (the same value returned by the "AbsRow#" system variable). + + + + + Gets a value indicating that this is the first data row. + + + + + Gets a value indicating that this is the last data row. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This method fires the BeforeLayout event and the script code connected to the BeforeLayoutEvent. + + Event data. + + + + This method fires the AfterLayout event and the script code connected to the AfterLayoutEvent. + + Event data. + + + + Initializes a new instance of the class with default settings. + + + + + + + + + + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + + + + This property is not relevant to this class. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents a collection of bands. + + + + + Gets or sets the element at the specified index. + + Index of an element. + The element at the specified index. + + + + Initializes a new instance of the class with default settings. + + + + + Initializes a new instance of the class with specified owner. + + Owner that owns this collection. + + + + The layout of the data band columns. + + + + + Print columns across then down. + + + + + Print columns down then across. + + + + + This class holds the band columns settings. It is used in the property. + + + + + Gets or sets the number of columns. + + + Set this property to 0 or 1 if you don't want to use columns. + + + + + The column width, in pixels. + + + + + Gets or sets the layout of the columns. + + + + + Gets or sets the minimum row count that must be printed. + + + This property is used if the Layout property is set to DownThenAcross. 0 means that + FastReport should calculate the optimal number of rows. + + + + + Assigns values from another source. + + Source to assign from. + + + + Initializes a new instance of the BandColumns class with default settings. + + + + + Specifies a set of actions that cannot be performed on the object in the design mode. + + + + + Specifies no restrictions. + + + + + Restricts moving the object. + + + + + Restricts resizing the object. + + + + + Restricts modifying the object's properties. + + + + + Restricts editing the object. + + + + + Restricts deleting the object. + + + + + Hides all properties of the object. + + + + + Specifies a set of actions that can be performed on the object in the design mode. + + + + + Specifies no actions. + + + + + Allows moving the object. + + + + + Allows resizing the object. + + + + + Allows deleting the object. + + + + + Allows editing the object. + + + + + Allows changing the Z-order of an object. + + + + + Allows moving the object to another parent. + + + + + Allows copying the object to the clipboard. + + + + + Allows drawing the object. + + + + + Allows grouping the object. + + + + + Allows write children in the preview mode by itself. + + + + + Allows write object's bounds into the report stream. + + + + + Allows the "smart tag" functionality. + + + + + Specifies that the object's name is global (this is true for all report objects + such as Text, Picture and so on). + + + + + Specifies that the object can display children in the designer's Report Tree window. + + + + + Specifies that the object supports mouse wheel in the preview window. + + + + + Represents the root class of the FastReport object's hierarchy. + + + + + Gets or sets the name of the object. + + + Name of the report object must contain alpha, digit, underscore symbols only. + Data objects such as Variable, TableDataSource + etc. can have any characters in they names. Each component must have unique + name. + + The following code demonstrates how to find an object by its name: + + TextObject text1 = report1.FindObject("Text1") as TextObject; + + + Another object with such name exists. + Rename an object that was introduced in the ancestor report. + + + + Gets or sets the flags that restrict some actions in the designer. + + + Use this property to restrict some user actions like move, resize, edit, delete. For example, if + Restriction.DontMove flag is set, user cannot move the object in the designer. + + + + + Gets the flags that allow some functionality in the designer. + + + Use this property only if you developing a new FastReport object. + + + + + Gets or sets the parent of the object. + + + Each report object must have a parent in order to appear in the report. Parent must be able to + contain objects of such type. + Another way (preferred) to set a parent is to use specific properties of the parent object. + For example, the object has the collection. + To add a new page to the report, use the following code: report1.Pages.Add(new ReportPage()); + + + + Report report1; + ReportPage page = new ReportPage(); + page.Parent = report1; + + Parent object cannot contain this object. + + + + The base part of the object's name. + + + This property is used to automatically create unique object's name. See + + + + + Gets the short type name. + + + Returns the short type name, such as "TextObject". + + + + + Gets reference to the parent object. + + + + + Gets reference to the parent object. + + + + + Gets the collection of this object's child objects. + + + This property returns child objects that belongs to this object. For example, Report.ChildObjects + will return only pages that contains in the report, but not page childs such as bands. To return all + child objects, use property. + + + + + Gets the collection of all child objects. + + + This property returns child objects that belongs to this object and to child objects of this object. + For example, Report.AllObjects will return all objects that contains in the report - such as + pages, bands, text objects. + + + + + Gets or sets the Z-order of the object. + + + The Z-order is also called "creation order". It is the index of an object in the parent's objects list. + For example, put two text objects on a band. First object will have ZOrder = 0, second = 1. Setting the + second object's ZOrder to 0 will move it to the back of the first text object. + + + + + Gets a value indicating whether the object was introduced in the ancestor report. + + + + + Gets a value indicating whether the object is in the design state. + + + + + Gets a value indicating whether the object is currently printing. + + + + + Gets a value indicating whether the object is currently processed by the report engine. + + + + + Gets a value indicating whether the object is currently processed by the report engine. + + + + + Gets an original component for this object. + + + This property is used in the preview mode. Each object in the prepared report is bound to its + original (from the report template). This technique is used to minimize the prepared report's size. + + + + + Helper method, helps to set a reference-type value to the property. + + Old property value. + New property value. + + This method is used widely to set a new value to the property that references another FastReport object. + Method deals with the property. + + This is example of the DataBand.Header property: + public DataHeaderBand Header + { + get { return FHeader; } + set + { + SetProp(FHeader, value); + FHeader = value; + } + } + + + + + Checks if two float values are different. + + First value. + Second value. + true if values are not equal. + + This method is needed to compare two float values using some precision (0.001). It is useful + to compare objects' locations and sizes for equality. + + + + + Deserializes nested object properties. + + Reader object. + + Typically the object serializes all properties to the single xml item: + + <TextObject Name="Text2" Left="18.9" Top="37.8" Width="283.5" Height="28.35"/> + + Some objects like have child objects that serialized in subitems: + + <DataBand Name="Data1" Top="163" Width="718.2" Height="18.9"> + <TextObject Name="Text3" Left="18.9" Top="37.8" Width="283.5" Height="28.35"/> + </DataBand> + + To read such subitems, the DeserializeSubItems method is used. Base + implementation reads the child objects. You may override it to read some specific subitems. + + The following code is used to read report's styles: + + protected override void DeserializeSubItems(FRReader reader) + { + if (String.Compare(reader.ItemName, "Styles", true) == 0) + reader.Read(Styles); + else + base.DeserializeSubItems(reader); + } + + + + + + Replaces the macros in the given string and returns the new string. + + The text containing macros. + The text with macros replaced with its values. + + + + + + + Set object's flags. + + Flag to set. + true to set the flag, false to reset. + + + + Sets the reference to a Report. + + Report to set. + + + + Sets the object's name. + + + This method is for internal use only. It just sets a new name without any checks + (unlike the property setter). + + Name Property + New name. + + + + Sets the object's parent. + + + This method is for internal use only. You can use it if you are developing a new + component for FastReport. Override it to perform some actions when the parent of an + object is changing. This method checks that parent can contain a child. + + Parent object cannot contain this object. + New parent. + + + + Sets the object's parent. + + New parent. + + This method is for internal use only. You can use it if you are developing a new component for FastReport. + This method does not perform any checks, it just sets the new parent. + + + + + Searches for an object with given name. + + Name of the object to find. + Returns a null reference if object is not found + The following code demonstrates how to find an object by its name: + + TextObject text1 = report1.FindObject("Text1") as TextObject; + if (text1 != null) + { + // object found + } + + + + + + Creates the unique object's name. + + + Note: you have to set object's parent before calling this method. Method uses the + property to create a name. + Note: this method may be very slow on a report that contains lots of objects. Consider + using own naming logic in this case. + + + + TextObject textObj = new TextObject(); + dataBand1.Objects.Add(textObj); + textObj.CreateUniqueName(); + + + + + + Clears the object's state. + + + This method also disposes all object's children. + + + + + Serializes the object. + + + Do not call this method directly. You should override it if you are + developing a new component for FastReport. + This method is called when the object needs to save the state. It may happen + when: + + + saving the report to the file or stream; + + + saving the report to the designer's undo buffer; + + + + assigning the object to another object using the + or AssignAll methods; + + + + saving the object to the designer's clipboard; + + + saving the object to the preview (when run a + report). + + + + Writer object. + + + + Deserializes the object. + + + Do not call this method directly. You should override it if you are + developing a new component for FastReport. + This method is called when the object needs to restore the state. It may + happen when: + + + loading the report from a file or stream; + + + loading the report from the designer's undo + buffer; + + + assigning another object to this object using the + or AssignAll methods; + + + loading the object from the designer's + clipboard; + + loading the object from the preview pages. + + + Reader object. + + + + Assigns values from another source. + + + Note: this method is relatively slow because it serializes + an object to the xml and then deserializes it. + + Source to assign from. + + + Copies the contents of another, similar object. + + Call Assign to copy the properties from another object of the same type. + The standard form of a call to Assign is + destination.Assign(source); + + which tells the destination object to copy the contents of the + source object to itself. In this method, all child objects are + ignored. If you want to copy child objects, use the + AssignAll method. + + + + Report report1; + Report report2 = new Report(); + // copy all report settings, do not copy report objects + report2.Assign(report1); + + AssignAll Method + Source object to copy the contents from. + + + Copies the contents (including children) of another, similar object. + + + This method is similar to method. It copies child + objects as well. + + + + Report report1; + Report report2 = new Report(); + // copy all report settings and objects + report2.AssignAll(report1); + + + Source object to copy the state from. + + + + Gets a value indicating whether the object has the specified parent in its parent hierarchy. + + Parent object to check. + Returns true if the object has given parent in its parent hierarchy. + + + + Gets a value indicating whether the object has a specified flag in its property. + + Flag to check. + true if Flags property contains specified flag. + + + + Gets a value indicating whether the object has a specified restriction + in its property. + + Restriction to check. + true if Restrictions property contains specified restriction. + + + + Invokes script event. + + Name of the event to invoke. + Event parameters. + + Do not call this method directly. You should use it if you are developing a new component + for FastReport. + Use this method to call an event handler that is located in the report's script. + + Example of the OnBeforePrint method: + public void OnBeforePrint(EventArgs e) + { + if (BeforePrint != null) + BeforePrint(this, e); + InvokeEvent(BeforePrintEvent, e); + } + + + + + Called after all report objects were loaded. + + + Do not call this method directly. You may override it if you are developing a new component + for FastReport. + + + + + Gets all expressions contained in the object. + + Array of expressions or null if object contains no expressions. + + Do not call this method directly. You may override it if you are developing a + new component for FastReport. + + This method is called by FastReport each time before run a report. FastReport + do this to collect all expressions and compile them. For example, + GetExpressions method of the class + parses the text and returns all expressions found in the text. + + + + + + Returns a custom code that will be added to the report script before report is run. + + A custom script text, if any. Otherwise returns null. + + This method may return any valid code that may be inserted into the report script. Currently it is + used in the TableObject to define the following script methods: Sum, Min, Max, Avg, Count. + + + Note: you must take into account the current script language - C# or VB.Net. You may check it via + Report.ScriptLanguage property. + + + + + + Used to extract macros such as "TotalPages#" in the preview mode. + + + This method is used mainly by the TextObject to extract macros and replace it with + actual values passed in the pageIndex and totalPages parameters. This method + is called automatically when the object is being previewed. + + + + + Used to get information of the need to convertation if the function returns true, then the GetConvertedObjects function is called + + The export or the object, that call this method + By default returns false + + The functions IsHaveToConvert and GetConvertedObjects allow you to convert objects from one to another, + for example the export will convert object before adding it to the file and convert recursive, + i.e. If the new object has the ability to convert, + it will be converted again but limit is 10 times. + At the time of export it is called, only on objects inside the band, + the child objects of converted object will be returned, and the child objects of old object will be ignored. + + + + + Used to get an enumeration of the objects to which this object will be converted, before calling this function, the IsHaveToConvert function will be called + + By default returns this object + + The functions IsHaveToConvert and GetConvertedObjects allow you to convert objects from one to another, + for example the export will convert object before adding it to the file and convert recursive, + i.e. If the new object has the ability to convert, + it will be converted again but limit is 10 times. + At the time of export it is called, only on objects inside the band, + the child objects of converted object will be returned, and the child objects of old object will be ignored. + + + + + Gets the collection of all child objects, converts objects if necessary + + the object or export, that call this convertation + + + + Initializes a new instance of the Base class with default settings. + + + + + Gets a value indicating whether the object is selected in the designer. + + + + + Gets a value indicating whether one of the object's parent is selected in the designer. + + + + + Deletes the object in the designer. + + + This method is called when you delete the object in the designer. + Typically this method calls the method to delete the object and all + its children. You may override it to delete the object only, and keep children. + + + + + Called before inserting a new object in the designer. + + + Do not call this method directly. You may override it if you are developing a + new component for FastReport. + + Some objects are registered in the designer several times with the same object + type, but different flags. For example, the + represents different shapes: rectangle, roundrect, ellipse and so on. All these + shapes are registered in the designer using flags (the last parameter in this + code): + + RegisteredObjects.Add(typeof(ShapeObject), "ReportPage,Shapes", 108, "Objects,Shapes,Rectangle", 0); + RegisteredObjects.Add(typeof(ShapeObject), "ReportPage,Shapes", 109, "Objects,Shapes,RoundRectangle", 1); + RegisteredObjects.Add(typeof(ShapeObject), "ReportPage,Shapes", 110, "Objects,Shapes,Ellipse", 2); + + When we put the "Ellipse" object on a band, the designer creates the + ShapeObject instance and calls its OnBeforeInsert method with + flags value set to 2. In turn, the OnBeforeInsert method converts the + int value of the flags to the shape kind: + + public override void OnBeforeInsert(int flags) + { + FShape = (ShapeKind)flags; + } + + + + Object's flags. + + + + Called after the new object was inserted in the designer. + + + Do not call this method directly. You may override it if you are developing a new component + for FastReport. + This method is called when new object is inserted, pasted from clipboard or dragged from + "Dictionary" window. You may override this method if you need to perform some actions when object + is inserted. Typical implementation invokes the object's editor if "Edit after insert" flag is set + in the designer options. + + The insertion source. + + + + Called when the user selects another object in the designer. + + + This method is typically used by the in-place object's editor to check if selection was changed and close + the editor. + + + + + Gets the object's context menu. + + Null reference if object does not have a menu. + + Do not call this method directly. You may override it if you are developing a new component + for FastReport. + You may use base menu classes such as , + to create own context menus. + + + + + Gets an image index for this component to display it in the Report Tree. + + The image index or -1 if no image is associated with this component. + + + + Specifies the style of a border line. + + + + + Specifies a solid line. + + + + + Specifies a line consisting of dashes. + + + + + Specifies a line consisting of dots. + + + + + Specifies a line consisting of a repeating pattern of dash-dot. + + + + + Specifies a line consisting of a repeating pattern of dash-dot-dot. + + + + + Specifies a double line. + + + + + Specifies a custom line. + + + + + Specifies the sides of a border. + + + + + Specifies no border lines. + + + + + Specifies the left border line. + + + + + Specifies the right border line. + + + + + Specifies the top border line. + + + + + Specifies the bottom border line. + + + + + Specifies all border lines. + + + + + Represents a single border line. + + + + + Gets or sets a color of the line. + + + + + Gets or sets a style of the line. + + + + + Gets or sets a width of the line, in pixels. + + + + + + + + + + + Represents a border around the report object. + + + Border consists of four lines. Each line has own color, style and width. Lines are accessible through + , , , properties. + + To turn on and off the lines, use the property. To set the same color, style or width + for each line, use , , properties of the Border. + + + + + Gets or sets a color of the border. + + + This property actually returns a color of the . When you assign a value + to this property, the value will be set to each border line. + + + + + Gets or sets a value determines whether to draw a shadow. + + + + + Gets or sets a shadow width, in pixels. + + + + + Gets or sets a shadow color. + + + + + Gets or sets a style of the border. + + + This property actually returns a style of the . When you assign a value + to this property, the value will be set to each border line. + + + + + Gets or sets a visible lines of a border. + + + + + Gets or sets a width of the border, in pixels. + + + This property actually returns a width of the . When you assign a value + to this property, the value will be set to each border line. + + + + + Gets or sets the left line of the border. + + + + + Gets or sets the top line of the border. + + + + + Gets or sets the right line of the border. + + + + + Gets or sets the bottom line of the border. + + + + + Gets or sets a value determines that Border must serialize only one line. + + + This property is for internal use only. + + + + + Creates the exact copy of this Border. + + A copy of this border. + + + + + + + + + + Serializes the border. + + Writer object. + Border property name. + Another Border to compare with. + + This method is for internal use only. + + + + + Draw the border using draw event arguments and specified bounding rectangle. + + Draw event arguments. + Bounding rectangle. + + This method is for internal use only. + + + + + Initializes a new instance of the class with default settings. + + + + + Base class for report components that can break across pages. + + + + + Gets or sets a value that determines if the component can break its contents across pages. + + + + + Gets or sets a reference to another similar object that will be used for displaying the + text that not fit in this object. + + + + + + + + + + + Breaks the contents of the object. + + Object to put the part of content to that does not fit in this object. These two + objects must have the same type. + true if there is enough space in this object to display at least one text line. + + + Do not call this method directly, it is used by the report engine. You should override it if + you are writing a new FastReport object. + + + This method must break the contents of the object. The part of content that fit in current object's + bounds should remain in this object, the part that does not fit should be transferred to breakTo + object. + + + + + + Breaks the contents of the object. + + Object to put the part of content to that does not fit in this object. These two + objects must have the same type. + Excessive height that should be moved to the second part. + true if there is enough space in this object to display at least one text line. + + + Do not call this method directly, it is used by the report engine. You should override it if + you are writing a new FastReport object. + + + This method must break the contents of the object. The part of content that fit in current object's + bounds should remain in this object, the part that does not fit should be transferred to breakTo + object. + + + + + + Initializes a new instance of the BreakableComponent class with default settings. + + + + + Specifies a line cap style. + + + + + Specifies a line without a cap. + + + + + Specifies a line with a circle cap. + + + + + Specifies a line with a square cap. + + + + + Specifies a line with a diamond cap. + + + + + Specifies a line with an arrow cap. + + + + + Specifies a start and end line caps. + + + + + Gets or sets a width of the cap. + + + + + Gets or sets a height of the cap. + + + + + Gets or sets a cap style. + + + + + Assigns values from another source. + + Source to assign from. + + + + Creates exact copy of this object. + + Copy of this object. + + + + + + + + + + Serializes the cap settings. + + Name of the cap property. + Writer object. + Another cap to compare with. + + This method is for internal use only. + + + + + Initializes a new instance of the CapSettings class with default settings. + + + + + Represents a text object which draws each symbol of text in its own cell. + + + The text may be aligned to left or right side, or centered. Use the + property to do this. The "justify" align is not supported now, as well as vertical alignment. + The cell size is defined in the and properties. + These properties are 0 by default, in this case the size of cell is calculated automatically based + on the object's Font. + To define a spacing (gap) between cells, use the and + properties. + + + + + Gets or sets the width of cell, in pixels. + + + If zero width and/or height specified, the object will calculate the cell size + automatically based on its font. + + + + + Gets or sets the height of cell, in pixels. + + + If zero width and/or height specified, the object will calculate the cell size + automatically based on its font. + + + + + Gets or sets the horizontal spacing between cells, in pixels. + + + + + Gets or sets the vertical spacing between cells, in pixels. + + + + + + + + + + + + + + + + + Initializes a new instance of the class with the default settings. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + + + + + + + Specifies a symbol that will be displayed when a is in the checked state. + + + + + Specifies a check symbol. + + + + + Specifies a diagonal cross symbol. + + + + + Specifies a plus symbol. + + + + + Specifies a filled rectangle. + + + + + Specifies a symbol that will be displayed when a is in the unchecked state. + + + + + Specifies no symbol. + + + + + Specifies a diagonal cross symbol. + + + + + Specifies a minus symbol. + + + + + Specifies a slash symbol. + + + + + Specifies a back slash symbol. + + + + + Represents a check box object. + + + + + Gets or set a value indicating whether the check box is in the checked state. + + + + + Gets or sets a symbol that will be displayed when the check box is in the checked state. + + + + + Gets or sets a symbol that will be displayed when the check box is in the unchecked state. + + + + + Gets or sets a color of the check symbol. + + + + + Gets or sets a data column name bound to this control. + + + Value must be in the form "[Datasource.Column]". + + + + + Gets or sets an expression that determines whether to show a check. + + + + + Gets or sets the check symbol width ratio. + + + Valid values are from 0.2 to 2. + + + + + Gets or sets a value determines whether to hide the checkbox if it is in the unchecked state. + + + + + Gets or sets editable for pdf export + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the CheckBoxObject class with default settings. + + + + + + + + + + + + + + This class represents a child band. + + + Typical use of child band is to print several objects that can grow or shrink. It also can be done + using the shift feature (via property), but in some cases it's not possible. + + + + + Gets or sets a value indicating that band will be used to fill unused space on a page. + + + If you set this property to true, the band will be printed several times to fill + unused space on a report page. + + + + + Gets or sets a value that determines the overall number of data rows printed by the data band. + + + Using this property, you may complete the data band upto N data rows. + If the data band has less number of rows, this band will be used to print empty rows. + + + + + Gets or sets a value indicating that the band will be printed if its parent databand is empty. + + + The child band with this property set to true, connected to a databand can be used to print "No data" + text if the databand has no rows. + + + + + + + + + + + + + + + + + This class represents a column footer band. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + Initializes a new instance of the class with default settings. + + + + + This class represents a column header band. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + Initializes a new instance of the class with default settings. + + + + + Class that implements some object's properties such as location, size and visibility. + + + + + Gets the absolute bottom coordinate of the object. + + + + + Gets the absolute bounding rectangle of the object. + + + + + Gets the absolute left coordinate of the object. + + + + + Gets the absolute right coordinate of the object. + + + + + Gets the absolute top coordinate of the object. + + + + + Gets or sets the edges of the container to which a control is bound and determines how a control + is resized with its parent. + + + Use the Anchor property to define how a control is automatically resized as its parent control + is resized. Anchoring a control to its parent control ensures that the anchored edges remain in the + same position relative to the edges of the parent control when the parent control is resized. + You can anchor a control to one or more edges of its container. For example, if you have a band + with a TextObject whose Anchor property value is set to Top, Bottom, the TextObject is stretched to + maintain the anchored distance to the top and bottom edges of the band as the height of the band + is increased. + + + + + Gets the bottom coordinate of the object in relation to its container. + + + To change the bottom coordinate, change the and/or properties. + + + + + Gets or sets the bounding rectangle of the object. + + + Assigning a value to this property is equal to assigning values to the , + , , properties. + + + + + Gets or sets the size of client area of the object. + + + This property is used in the class. + + + + + Gets or sets which control borders are docked to its parent control and determines how a control + is resized with its parent. + + + Use the Dock property to define how a control is automatically resized as its parent control is + resized. For example, setting Dock to DockStyle.Left causes the control to align itself with the + left edges of its parent control and to resize as the parent control is resized. + A control can be docked to one edge of its parent container or can be docked to all edges and + fill the parent container. + + + + + Gets or sets a group index. + + + Group index is used to group objects in the designer (using "Group" button). When you select + any object in a group, entire group becomes selected. To reset a group, set the GroupIndex + to 0 (default value). + + + + + Gets or sets the height of the object. + + + This property value is measured in the screen pixels. Use class to + convert a value to desired units. + + The following example demonstrates how to convert between pixels and units: + TextObject text1; + // set Height to 10mm + text1.Height = Units.Millimeters * 10; + // convert a value to millimeters + MessageBox.Show("Height = " + (text1.Height / Units.Millimeters).ToString() + "mm"); + + + + + Gets or sets the left coordinate of the object in relation to its container. + + + + This property value is measured in the screen pixels. Use + class to convert a value to desired units. + + + To obtain absolute coordinate, use property. + + + The following example demonstrates how to convert between pixels and units: + TextObject text1; + // set Left to 10mm + text1.Left = Units.Millimeters * 10; + // convert a value to millimeters + MessageBox.Show("Left = " + (text1.Left / Units.Millimeters).ToString() + "mm"); + + + + + Gets the right coordinate of the object in relation to its container. + + + To change the right coordinate, change the and/or properties. + + + + + Gets or sets the Tag string for this component. + + + + + Gets or sets the top coordinate of the object in relation to its container. + + + + This property value is measured in the screen pixels. Use + class to convert a value to desired units. + + + To obtain absolute coordinate, use property. + + + The following example demonstrates how to convert between pixels and units: + TextObject text1; + // set Top to 10mm + text1.Top = Units.Millimeters * 10; + // convert a value to millimeters + MessageBox.Show("Top = " + (text1.Top / Units.Millimeters).ToString() + "mm"); + + + + + Gets or sets a value indicating whether the object is displayed in the preview window. + + + Setting this property to false will hide the object in the preview window. + + The following report script will control the Text1 visibility depending on the value of the + data column: + private void Data1_BeforePrint(object sender, EventArgs e) + { + Text1.Visible = [Orders.Shipped] == true; + } + + + + + Gets or sets a string containing expression that determines should be object displayed in the preview window. + + + + + Gets or sets a value that determines if the object can be printed on the printer. + + + Object with Printable = false is still visible in the preview window, but not on the printout. + If you want to hide an object in the preview, set the property to false. + + + + + Gets or sets a string containing expression that determines should be object printed on the printer. + + + + + Gets or sets the width of the object. + + + This property value is measured in the screen pixels. Use class to + convert a value to desired units. + + The following example demonstrates how to convert between pixels and units: + TextObject text1; + // set Width to 10mm + text1.Width = Units.Millimeters * 10; + // convert a value to millimeters + MessageBox.Show("Width = " + (text1.Width / Units.Millimeters).ToString() + "mm"); + + + + + Initializes a new instance of the class with default settings. + + + + + + + + + + + + + + Caclulates visible expression value. + + The expression to calculate. + The result of calculation. + + + + Corrects the object's size and sizing point if the size becomes negative. + + Current mouse state. + Typically you don't need to use or override this method. + This method is called by the FastReport designer to check if the object's size becomes negative + when resizing the object by the mouse. Method must correct the object's size and/or position to + make it positive, also change the sizing point if needed. + + + + Checks if the object is inside its parent. + + if true, check now independent of any conditions. + + Typically you don't need to use or override this method. + When you move an object with the mouse, it may be moved outside its parent. If so, this method + must find a new parent for the object and correct it's Left, Top and Parent + properties. If immediately parameter is false, you can optimize the method + to search for new parent only if the object's bounds are outside parent. If this parameter is + true, you must skip any optimizations and search for a parent immediately. + + + + + Draws the object. + + Paint event args. + + This method is widely used in the FastReport. It is called each time when the object needs to draw + or print itself. + In order to draw the object correctly, you should multiply the object's bounds by the scale + parameter. + cache parameter is used to optimize the drawing speed. It holds all items such as + pens, fonts, brushes, string formats that was used before. If the item with requested parameters + exists in the cache, it will be returned (instead of create new item and then dispose it). + + + + + Draw the frame around the object to indicate that it accepts the drag&drop operation. + + Paint event args. + The color of frame. + + + + Draw the selection points. + + Paint event args. + + This method draws a set of selection points returned by the method. + + + + + + + + Gets the preferred size of an object. + + Preferred size. + + This method is called by the FastReport designer when you insert a new object. + + + + + Returns a "smart tag" menu. + + + "Smart tag" is a little button that appears near the object's top-right corner when we are in the + designer and move the mouse over the object. When you click that button you will see a popup window + where you can set up some properties of the object. FastReport uses smart tags to quickly choose + the datasource (for a band) or data column (for objects). + + + + + Handles double click event in the designer. + + + This method is called when the user doubleclicks the object in the designer. Typical implementation + invokes the object's editor (calls the InvokeEditor method) and sets the designer's + Modified flag. + + + + + Handles the DragDrop event in the designer. + + Current mouse state. + + This method is called when the user drops an item from the Data Tree window into this object. + This method should copy the information from the e.DraggedObject object and set the + e.Handled flag to true to complete the drag operation. + + + + + Handles the DragOver event in the designer. + + Current mouse state. + + This method is called when the user drags an item from the Data Tree window. This method should + check that the mouse (e.X, e.Y) is inside the object, then set the e.Handled flag + to true if an item can be dragged into this object. + + + + + Handles KeyDown event in the designer. + + The designer's workspace. + Keyboard event parameters. + + This method is called when the user presses any key in the designer. Typical implementation + does nothing. + + + + + Handles MouseDown event that occurs when the user clicks the mouse in the designer. + + + This method is called when the user press the mouse button in the designer. + The standard implementation does the following: + + checks if the mouse pointer is inside the object; + add an object to the selected objects list of the designer; + sets the e.Handled flag to true. + + + Current mouse state. + + + + Handles MouseMove event that occurs when the user moves the mouse in the designer. + + + This method is called when the user moves the mouse in the designer. Typical + use of this method is to change the mouse cursor to SizeAll when it is over + an object. The standard implementation does the following: + + checks if the mouse pointer is inside the object; + changes the cursor shape (e.Cursor property); + sets the e.Handled flag to true. + + + Current mouse state. + + + + Handles MouseMove event that occurs when the user moves the mouse in the designer. + + + This method is called when the user moves the mouse in the designer. The + standard implementation does the following: + + + if mouse button is not pressed, check that mouse pointer is inside one of + the selection points returned by the + method and set the e.SizingPoint member to the corresponding sizing + point; + + if mouse button is pressed, and e.SizingPoint member is not + SizingPoint.None, resize the object. + + + Current mouse state. + + + + Handles MouseUp event that occurs when the user releases the mouse button in the designer. + + + This method is called when the user releases the mouse button in the + designer. The standard implementation does the following: + + if e.Mode is WorkspaceMode2.SelectionRect, checks if object + is inside the selection rectangle and sets e.Handled flag if so; + + checks that object is inside its parent (calls the + method). + + + + Current mouse state. + + + + Handles mouse wheel event. + + Current mouse state. + + + + Checks if given point is inside the object's bounds. + + point to check. + true if point is inside the object's bounds. + + You can override this method if your objectis not of rectangular form. + + + + + Draws the selection point. + + Paint event args. + object. + object. + Left coordinate. + Top coordinate. + + + + Gets the object's selection points. + + Array of objects. + + Selection point is a small square displayed at the object's sides when object is selected + in the designer. You can drag this square by the mouse to change the object's size. For example, + the TextObject has eight selection points to change its width and height by the mouse. + If you are developing a new component for FastReport, you may override this method + if your object has non-standard set of selection points. For example, if an object has something like + "AutoSize" property, it would be good to disable all selection points if that property is true, + to disable resizing of the object by the mouse. + + + + + Gets a value indicating that given point is inside selection point. + + point's x coordinate. + point's y coordinate. + selection point. + true if (x,y) is inside the point + + + + Represents a collection of highlight conditions used in the property + of the . + + + + + Gets or sets the element at the specified index. + + Index of an element. + The element at the specified index. + + + + Adds the specified elements to the end of this collection. + + Array of elements to add. + + + + Adds an object to the end of this collection. + + Object to add. + Index of the added object. + + + + Inserts an object into this collection at the specified index. + + The zero-based index at which value should be inserted. + The object to insert. + + + + Removes the specified object from the collection. + + Object to remove. + + + + Returns the zero-based index of the first occurrence of an object. + + The object to locate in the collection. + The zero-based index of the first occurrence of value within the entire collection, if found; + otherwise, -1. + + + + Determines whether an element is in the collection. + + The object to locate in the collection. + true if object is found in the collection; otherwise, false. + + + + + + + + + + Copies conditions from another collection. + + Collection to copy from. + + + + + + + + + + Container object that may contain child objects. + + + + + Gets the collection of child objects. + + + + + This event occurs before the container layouts its child objects. + + + + + This event occurs after the child objects layout was finished. + + + + + Gets or sets a script event name that will be fired before the container layouts its child objects. + + + + + Gets or sets a script event name that will be fired after the child objects layout was finished. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This method fires the BeforeLayout event and the script code connected to the BeforeLayoutEvent. + + Event data. + + + + This method fires the AfterLayout event and the script code connected to the AfterLayoutEvent. + + Event data. + + + + + + + + + + + + + Initializes a new instance of the ContainerObject class with default settings. + + + + + + + + + + + + + + + + + This class represents the Data band. + + + Use the property to connect the band to a datasource. Set the + property if you want to filter data rows. The + property can be used to sort data rows. + + + + + Gets or sets a header band. + + + + + Gets a collection of detail bands. + + + + + Gets or sets a footer band. + + + + + Gets or sets a data source. + Please note: data source have to be enabled. + + + + + Gets or sets a number of rows in the virtual data source. + + + Use this property if your data band is not connected to any data source. In this case + the virtual data source with the specified number of rows will be used. + + + + + Limits the maximum number of rows in a datasource. 0 means no limit. + + + + + Gets or sets a relation used to establish a master-detail relationship between + this band and its parent. + + + Use this property if there are several relations exist between two data sources. + If there is only one relation (in most cases it is), you can leave this property empty. + + + + + Gets the collection of sort conditions. + + + + + Gets the row filter expression. + + + This property can contain any valid boolean expression. If the expression returns false, + the corresponding data row will not be printed. + + + + + Gets the band columns. + + + + + Gets or sets a value that determines whether to print a band if all its detail rows are empty. + + + + + Gets or sets a value that determines whether to print a band if its datasource is empty. + + + + + Gets or sets a value indicating that all band rows should be printed together on one page. + + + + + Gets or sets a value indicating that the band should be printed together with all its detail rows. + + + + + Gets or sets the key column that identifies the data row. + + + This property is used when printing a hierarchic list. + To print the hierarchic list, you have to setup three properties: IdColumn, + ParentIdColumn and Indent. First two properties are used to identify the data + row and its parent; the Indent property specifies the indent that will be used to shift + the databand according to its hierarchy level. + When printing hierarchy, FastReport shifts the band to the right + (by value specified in the property), and also decreases the + width of the band by the same value. You may use the Anchor property of the + objects on a band to indicate whether the object should move with the band, or stay + on its original position, or shrink. + + + + + Gets or sets the column that identifies the parent data row. + + + This property is used when printing a hierarchic list. See description of the + property for more details. + + + + + Gets or sets the indent that will be used to shift the databand according to its hierarchy level. + + + This property is used when printing a hierarchic list. See description of the + property for more details. + + + + + Gets or sets a value indicating that the databand should collect child data rows. + + + This property determines how the master-detail report is printed. Default behavior is: + MasterData row1 + -- DetailData row1 + -- DetailData row2 + -- DetailData row3 + MasterData row2 + -- DetailData row1 + -- DetailData row2 + When you set this property to true, the master databand will collect all child data rows + under a single master data row: + MasterData row1 + -- DetailData row1 + -- DetailData row2 + -- DetailData row3 + -- DetailData row4 + -- DetailData row5 + + + + + Gets or sets a value that determines whether to reset the page numbers when this band starts print. + + + Typically you should set the property to true as well. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Initializes the data source connected to this band. + + + + + + + + Initializes a new instance of the class. + + + + + + + + + + + + + + + + + Invokes column editor + + + + + This class represents a data band footer. + + + + + This class represents a header of the data band. + + + + + Base class for all fills. + + + + + Returned true if Color = Transparent + + + + + Creates exact copy of this fill. + + Copy of this object. + + + + Creates the GDI+ Brush object. + + Drawing rectangle. + Brush object. + + + + Creates the GDI+ Brush object with scaling. + + Drawing rectangle. + X scaling coefficient. + Y scaling coefficient. + Brush object. + + + + Serializes the fill. + + Writer object. + Name of the fill property. + Fill object to compare with. + + This method is for internal use only. + + + + + Fills the specified rectangle. + + Draw event arguments. + Drawing rectangle. + + + + Class represents the solid fill. + + + + + Gets or sets the fill color. + + + + + + + + + + + + + + + + + + + + + + + Initializes the class with Transparent color. + + + + + Initializes the class with specified color. + + + + + + Class represents the linear gradient fill. + + + + + Gets or sets the start color of the gradient. + + + + + Gets or sets the end color of the gradient. + + + + + Gets or sets the angle of the gradient. + + + + + Gets or sets the focus point of the gradient. + + + Value is a floating point value from 0 to 1. + + + + + Gets or sets the gradient contrast. + + + Value is a floating point value from 0 to 1. + + + + + + + + + + + + + + + + + + + + Initializes the class with default settings. + + + + + Initializes the class with start and end colors. + + Start color. + End color. + + + + Initializes the class with start, end colors and angle. + + Start color. + End color. + Angle. + + + + Initializes the class with start and end colors, angle, focus and contrast. + + Start color. + End color. + Angle. + Focus. + Contrast. + + + + The style of the path gradient. + + + + + Elliptic gradient. + + + + + Rectangular gradient. + + + + + Class represents the path gradient fill. + + + + + Gets or sets the center color of the gradient. + + + + + Gets or sets the edge color of the gradient. + + + + + Gets or sets the style of the gradient. + + + + + + + + + + + + + + + + + + + + Initializes the class with default settings. + + + + + Initializes the class with center, edge colors and style. + + Center color. + Edge color. + Gradient style. + + + + Class represents the hatch fill. + + + + + Gets or sets the foreground color. + + + + + Gets or sets the background color. + + + + + Gets or sets the hatch style. + + + + + + + + + + + + + + + + + + + + Initializes the class with default settings. + + + + + Initializes the class with foreground, background colors and hatch style. + + Foreground color. + Background color. + Hatch style. + + + + Class represents the glass fill. + + + + + Gets or sets the fill color. + + + + + Gets or sets the blend value. + + Value must be between 0 and 1. + + + + + Gets or sets a value determines whether to draw a hatch or not. + + + + + + + + + + + + + + + + + + + + + + + Initializes the class with default settings. + + + + + Initializes the class with given color, blend ratio and hatch style. + + Color. + Blend ratio (0..1). + Display the hatch. + + + + Class represents the Texture fill. + + + + + Gets or sets value, indicating that image should preserve aspect ratio + + + + + Gets or sets the image width + + + + + Gets or sets the image height + + + + + Gets or sets the texture wrap mode + + + + + Gets or sets the image index + + + + + Gets or sets the image data + + + + + Image left offset + + + + + Image top offset + + + + + Sets image data to imageData + + input image data + + + + Set image + + input image + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Initializes the class with default texture. + + + + + Initializes the class with specified image. + + + + + + Initializes the class with specified image. + + + + + Defines how boolean values are formatted and displayed. + + + + + Gets or sets a string that will be displayed if value is false. + + + + + Gets or sets a string that will be displayed if value is true. + + + + + + + + + + + + + + + + + Initializes a new instance of the BooleanFormat class with default settings. + + + + + Defines how currency values are formatted and displayed. + + + + + Gets or sets a value that determines whether to use system locale settings to format a value. + + + + + Gets or sets the number of decimal places to use in currency values. + + + + + Gets or sets the string to use as the decimal separator in currency values. + + + + + Gets or sets the string that separates groups of digits to the left of the decimal in currency values. + + + + + Gets or sets the string to use as the currency symbol. + + + + + Gets or sets the format pattern for positive currency values. + + This property can have one of the values in the following table. + The symbol "$" is the CurrencySymbol and n is a number. + + ValueAssociated Pattern + 0$n + 1n$ + 2$ n + 3n $ + + + + + + Gets or sets the format pattern for negative currency values. + + This property can have one of the values in the following table. + The symbol "$" is the CurrencySymbol and n is a number. + + ValueAssociated Pattern + 0 ($n) + 1 -$n + 2 $-n + 3 $n- + 4 (n$) + 5 -n$ + 6 n-$ + 7 n$- + 8 -n $ + 9 -$ n + 10n $- + 11$ n- + 12$ -n + 13n- $ + 14($ n) + 15(n $) + + + + + + + + + + + + + + + + + + Initializes a new instance of the CurrencyFormat class with default settings. + + + + + Represents a format that uses the Format string to display values. + + + + + Gets or sets a format string. + + + Default format is "G". For example, if you want to format a date, use the following + format string: "MM/dd/yyyy". See the System.String.Format method for list + of possible format strings. + + + + + + + + + + + + + + + + + Initializes a new instance of the CustomFormat class with default settings. + + + + + Defines how date values are formatted and displayed. + + + + + + + + Initializes a new instance of the DateFormat class with default settings. + + + + + Base class for all formats. + + + The format is used to format expression value in a object. + + + + + Gets the short format name (e.g. without a "Format" suffix). + + + + + Creates exact copy of this format. + + The copy of this format. + + + + Formats the specified value. + + The value to format. + The string that represents the formatted value. + + + + + + + + + + Represents a collection of formats used by the and + objects. + + + + + Gets or sets the element at the specified index. + + Index of an element. + The element at the specified index. + + + + Adds the specified elements to the end of this collection. + + Array of elements to add. + + + + Adds an object to the end of this collection. + + Object to add. + Index of the added object. + + + + Inserts an object into this collection at the specified index. + + The zero-based index at which value should be inserted. + The object to insert. + + + + Removes the specified object from the collection. + + Object to remove. + + + + Returns the zero-based index of the first occurrence of an object. + + The object to locate in the collection. + The zero-based index of the first occurrence of value within the entire collection, if found; + otherwise, -1. + + + + Determines whether an element is in the collection. + + The object to locate in the collection. + true if object is found in the collection; otherwise, false. + + + + + + + + + + Copies formats from another collection. + + Collection to copy from. + + + + + + + + + + Represents a format used to display values with no formatting. + + + + + + + + + + + + + + + + + Defines how numeric values are formatted and displayed. + + + + + Gets or sets a value that determines whether to use system locale settings to format a value. + + + + + Gets or sets the number of decimal places to use in numeric values. + + + + + Gets or sets the string to use as the decimal separator in numeric values. + + + + + Gets or sets the string that separates groups of digits to the left of the decimal in numeric values. + + + + + Gets or sets the format pattern for negative numeric values. + + This property can have one of the values in the following table. + The symbol n is a number. + + ValueAssociated Pattern + 0(n) + 1-n + 2- n + 3n- + 4n - + + + + + + + + + + + + + + + + + + Initializes a new instance of the NumberFormat class with default settings. + + + + + Defines how percent values are formatted and displayed. + + + + + Gets or sets a value that determines whether to use system locale settings to format a value. + + + + + Gets or sets the number of decimal places to use in percent values. + + + + + Gets or sets the string to use as the decimal separator in percent values. + + + + + Gets or sets the string that separates groups of digits to the left of the decimal in percent values. + + + + + Gets or sets the string to use as the percent symbol. + + + + + Gets or sets the format pattern for positive percent values. + + This property can have one of the values in the following table. + The symbol "%" is the PercentSymbol and n is a number. + + ValueAssociated Pattern + 0n % + 1n% + 2%n + 3% n + + + + + + Gets or sets the format pattern for negative percent values. + + This property can have one of the values in the following table. + The symbol "%" is the PercentSymbol and n is a number. + + ValueAssociated Pattern + 0 -n % + 1 -n% + 2 -%n + 3 %-n + 4 %n- + 5 n-% + 6 n%- + 7 -%n + 8 n %- + 9 % n- + 10% -n + 11n- % + + + + + + + + + + + + + + + + + + Initializes a new instance of the PercentFormat class with default settings. + + + + + Defines how time values are formatted and displayed. + + + + + + + + Initializes a new instance of the TimeFormat class with default settings. + + + + + Based on code of Stefan Bцther, xprocs@hotmail.de + + + + + Contains standard functions registered in the "Data" window. + + + + + Returns the larger of two 32-bit signed integers. + + The first of two values to compare. + The second of two values to compare. + Parameter val1 or val2, whichever is larger. + + + + Returns the larger of two 64-bit signed integers. + + The first of two values to compare. + The second of two values to compare. + Parameter val1 or val2, whichever is larger. + + + + Returns the larger of two single-precision floating-point numbers. + + The first of two values to compare. + The second of two values to compare. + Parameter val1 or val2, whichever is larger. + + + + Returns the larger of two double-precision floating-point numbers. + + The first of two values to compare. + The second of two values to compare. + Parameter val1 or val2, whichever is larger. + + + + Returns the larger of two decimal numbers. + + The first of two values to compare. + The second of two values to compare. + Parameter val1 or val2, whichever is larger. + + + + Returns the smaller of two 32-bit signed integers. + + The first of two values to compare. + The second of two values to compare. + Parameter val1 or val2, whichever is smaller. + + + + Returns the smaller of two 64-bit signed integers. + + The first of two values to compare. + The second of two values to compare. + Parameter val1 or val2, whichever is smaller. + + + + Returns the smaller of two single-precision floating-point numbers. + + The first of two values to compare. + The second of two values to compare. + Parameter val1 or val2, whichever is smaller. + + + + Returns the smaller of two double-precision floating-point numbers. + + The first of two values to compare. + The second of two values to compare. + Parameter val1 or val2, whichever is smaller. + + + + Returns the smaller of two decimal numbers. + + The first of two values to compare. + The second of two values to compare. + Parameter val1 or val2, whichever is smaller. + + + + Returns an integer value representing the character code corresponding to a character. + + Character to convert. + The character code. + + + + Returns the character associated with the specified character code. + + Character code to convert. + The character. + + + + Inserts a specified string at a specified index position in the original string. + + The original string. + The index position of the insertion. + The string to insert. + A new string. + + + + Gets the number of characters in a string. + + The original string. + The number of characters. + + + + Converts a specified string to lowercase. + + The string to convert. + A string in lowercase. + + + + Right-aligns the characters in a string, padding with spaces on the left for a specified total length. + + The original string. + The number of characters in the resulting string. + Right-aligned string, padded on the left with spaces. + + + + Right-aligns the characters in a string, padding on the left with a specified character + for a specified total length. + + The original string. + The number of characters in the resulting string. + A padding character. + Right-aligned string, padded on the left with padding characters. + + + + Left-aligns the characters in a string, padding with spaces on the right, for a specified total length. + + The original string. + The number of characters in the resulting string. + Left-aligned string, padded on the right with spaces. + + + + Left-aligns the characters in a string, padding on the right with a specified character, + for a specified total length. + + The original string. + The number of characters in the resulting string. + A padding character. + Left-aligned string, padded on the right with padding characters. + + + + Converts the specified string to titlecase. + + The string to convert. + A new string. + + + + Deletes all the characters from a string beginning at a specified position. + + The original string. + The position to begin deleting characters. + A new string. + + + + Deletes a specified number of characters from a string beginning at a specified position. + + The original string. + The position to begin deleting characters. + The number of characters to delete. + A new string. + + + + Replaces all occurrences of a specified string in the original string, with another specified string. + + The original string. + A string to be replaced. + A string to replace all occurrences of oldValue. + A new string. + + + + Retrieves a substring from the original string, starting at a specified character position. + + The original string. + The starting character position of a substring. + A new string. + + + + Retrieves a substring from the original string, starting at a specified character position, + with a specified length. + + The original string. + The starting character position of a substring. + The number of characters in the substring. + A new string. + + + + Returns "true" if a specified pattern occurs within this source string, else returns "false". + + The original string. + Substring looking for. + true if the pattern parameter occurs within this source string, or if value is the empty string; otherwise, false + + + + Removes all occurrences of white space characters from the beginning and end of the original string. + + The original string. + A new string. + + + + Converts a specified string to uppercase. + + The string to convert. + A string in uppercase. + + + + Adds the specified number of days to the original date. + + The original date. + A number of whole and fractional days. + A new DateTime value. + + + + Adds the specified number of hours to the original date. + + The original date. + A number of whole and fractional hours. + A new DateTime value. + + + + Adds the specified number of minutes to the original date. + + The original date. + A number of whole and fractional minutes. + A new DateTime value. + + + + Adds the specified number of months to the original date. + + The original date. + A number of months. + A new DateTime value. + + + + Adds the specified number of seconds to the original date. + + The original date. + A number of whole and fractional seconds. + A new DateTime value. + + + + Adds the specified number of years to the original date. + + The original date. + A number of years. + A new DateTime value. + + + + Subtracts the specified date and time from the original date. + + The original date. + The date and time to subtract. + A TimeSpan interval between two dates. + + + + Initializes a new instance of the DateTime. + + The year. + The month. + The day. + A new DateTime value. + + + + Gets the day of the month. + + The date value. + The day component. + + + + Gets the localized name of the day of the week. + + The date value. + The name of the day of the week. + + + + Gets the day of the year. + + The date value. + The day of the year. + + + + Returns the number of days in the specified month and year. + + The year. + The month. + The number of days in month for the specified year. + + + + Gets the hour component of the date. + + The date. + The hour component. + + + + Gets the minute component of the date. + + The date. + The minute component. + + + + Gets the month component of the date. + + The date. + The month component. + + + + Gets the localized month name. + + The month number. + The month name. + + + + Gets the seconds component of the date. + + The date. + The seconds component. + + + + Gets the week of the year. + + The date value. + The week of the year. + + + + Gets the year component of the date. + + The date. + The year component. + + + + Replaces the format item in a specified String with the text equivalent of the value of a + corresponding Object instance in a specified array. + + A String containing zero or more format items. + An Object array containing zero or more objects to format. + A copy of format in which the format items have been replaced by the String equivalent of the corresponding instances of Object in args. + + + + Returns a string formatted as a currency value. + + The value to format. + The formatted string. + + + + Returns a string formatted as a currency value with specified number of decimal digits. + + The value to format. + Number of decimal digits. + The formatted string. + + + + Returns a string formatted as a date/time value. + + The value to format. + The formatted string. + + + + Returns a string formatted as a date/time value. + + The value to format. + The format specifier, one of the + "Long Date", "Short Date", "Long Time", "Short Time" values. + The formatted string. + + + + Returns a string formatted as a numeric value. + + The value to format. + The formatted string. + + + + Returns a string formatted as a numeric value with specified number of decimal digits. + + The value to format. + Number of decimal digits. + The formatted string. + + + + Returns a string formatted as a percent value. + + The value to format. + The formatted string. + + + + Returns a string formatted as a percent value with specified number of decimal digits. + + The value to format. + Number of decimal digits. + The formatted string. + + + + Converts a numeric value to Roman string representation. + + Integer value in range 0-3998. + The string in Roman form. + + + + Converts a currency value to an english (US) string representation of that value. + + The currency value to convert. + The string representation of the specified value. + + + + Converts a currency value to an english (US) string representation of that value, + using the specified currency. + + The currency value to convert. + The 3-digit ISO name of the currency, for example "EUR". + The string representation of the specified value. + + + + Converts a numeric value to an english (US) string representation of that value. + + The numeric value to convert. + The name in singular form, for example "page". + The name in plural form, for example "pages". + The string representation of the specified value. + + + + Converts a currency value to an english (GB) string representation of that value. + + The currency value to convert. + The string representation of the specified value. + + + + Converts a currency value to an english (GB) string representation of that value, + using the specified currency. + + The currency value to convert. + The 3-digit ISO name of the currency, for example "EUR". + The string representation of the specified value. + + + + Converts a numeric value to an english (GB) string representation of that value. + + The numeric value to convert. + The name in singular form, for example "page". + The name in plural form, for example "pages". + The string representation of the specified value. + + + + Converts a currency value to a spanish string representation of that value. + + The currency value to convert. + The string representation of the specified value. + + + + Converts a currency value to a spanish string representation of that value, + using the specified currency. + + The currency value to convert. + The 3-digit ISO name of the currency, for example "EUR". + The string representation of the specified value. + + + + Converts a numeric value to a spanish string representation of that value. + + The numeric value to convert. + The name in singular form, for example "page". + The name in plural form, for example "pages". + The string representation of the specified value. + + + + Converts a currency value to a russian string representation of that value. + + The currency value to convert. + The string representation of the specified value. + + + + Converts a currency value to a russian string representation of that value, + using the specified currency. + + The currency value to convert. + The 3-digit ISO name of the currency, for example "EUR". + The string representation of the specified value. + + + + Converts a numeric value to a russian string representation of that value. + + The numeric value to convert. + True if the name is of male gender. + The name in singular form, for example "страница". + The name in plural form, for example "страницы". + The name in plural form, for example "страниц". + The string representation of the specified value. + + + + Converts a currency value to a german string representation of that value. + + The currency value to convert. + The string representation of the specified value. + + + + Converts a currency value to a german string representation of that value, + using the specified currency. + + The currency value to convert. + The 3-digit ISO name of the currency, for example "EUR". + The string representation of the specified value. + + + + Converts a numeric value to a german string representation of that value. + + The numeric value to convert. + The name in singular form, for example "page". + The name in plural form, for example "pages". + The string representation of the specified value. + + + + Converts a currency value to a french string representation of that value. + + The currency value to convert. + The string representation of the specified value. + + + + Converts a currency value to a french string representation of that value, + using the specified currency. + + The currency value to convert. + The 3-digit ISO name of the currency, for example "EUR". + The string representation of the specified value. + + + + Converts a numeric value to a french string representation of that value. + + The numeric value to convert. + The name in singular form, for example "page". + The name in plural form, for example "pages". + The string representation of the specified value. + + + + Converts a currency value to a dutch string representation of that value. + + The currency value to convert. + The string representation of the specified value. + + + + Converts a currency value to a dutch string representation of that value, + using the specified currency. + + The currency value to convert. + The 3-digit ISO name of the currency, for example "EUR". + The string representation of the specified value. + + + + Converts a numeric value to a dutch string representation of that value. + + The numeric value to convert. + The name in singular form, for example "page". + The name in plural form, for example "pages". + The string representation of the specified value. + + + + Converts a numeric value to a indian numbering system string representation of that value. + + the currency value to convert + The string representation of the specified value. + + + + Converts a numeric value to a indian numbering system string representation of that value. + + he numeric value to convert. + The 3-digit ISO name of the currency, for example "INR". + + + + + Converts a numeric value to a indian numbering system string representation of that value. + + The numeric value to convert. + The name in singular form, for example "page". + The name in plural form, for example "pages". + The string representation of the specified value. + + + + Converts a numeric value to a ukrainian string representation of that value. + + The numeric value to convert. + The string representation of the specified value. + + + + Converts a currency value to a ukrainian string representation of that value, + using the specified currency. + + The currency value to convert. + The 3-digit ISO name of the currency, for example "UAH". + The string representation of the specified value. + + + + Converts a numeric value to a ukrainian string representation of that value. + + The numeric value to convert. + True if the name is of male gender. + The name in singular form, for example "сторінка". + The name in plural form, for example "сторінки". + The name in plural form, for example "сторінок". + The string representation of the specified value. + + + + Converts a numeric value to a spanish string representation of that value. + + The numeric value to convert. + The string representation of the specified value. + + + + Converts a numeric value to a spanish representation of that value. + + he numeric value to convert. + The 3-digit ISO name of the currency, for example "EUR". + + + + + Converts a numeric value to a spanish string representation of that value. + + The numeric value to convert. + The name in singular form, for example "silla". + The name in plural form, for example "Sillas". + The string representation of the specified value. + + + + Converts a numeric value to a persian string representation of that value. + + The numeric value to convert. + The string representation of the specified value. + + + + Converts a numeric value to a persian representation of that value. + + he numeric value to convert. + The 3-digit ISO name of the currency, for example "EUR". + + + + + Converts a numeric value to a persian string representation of that value. + + The numeric value to convert. + The name in singular form, for example "silla". + The name in plural form, for example "Sillas". + The string representation of the specified value. + + + + Converts a numeric value to a polish string representation of that value. + + The numeric value to convert. + The string representation of the specified value. + + + + Converts a numeric value to a polish representation of that value. + + he numeric value to convert. + The 3-digit ISO name of the currency, for example "EUR". + + + + + Converts a numeric value to a polish string representation of that value. + + The numeric value to convert. + The name in singular form, for example "silla". + The name in plural form, for example "Sillas". + The string representation of the specified value. + + + + Converts a value to an english (US) alphabet string representation of that value. + + The value to convert. + The alphabet string representation of the specified value. + + + + Converts a value to an english (US) alphabet string representation of that value. + + The value to convert. + Bool indicating that letters should be in upper registry. + The alphabet string representation of the specified value. + + + + Converts a value to a russian alphabet string representation of that value. + + The value to convert. + The alphabet string representation of the specified value. + + + + Converts a value to a russian alphabet string representation of that value. + + The value to convert. + Bool indicating that letters should be in upper registry. + The alphabet string representation of the specified value. + + + + Selects and returns a value from a list of arguments. + + A value between 1 and the number of elements passed in the "choice" argument. + Object parameter array. + One of the values in the "choice" argument. + + + + Returns one of two objects, depending on the evaluation of an expression. + + The expression you want to evaluate. + Returned if Expression evaluates to True. + Returned if Expression evaluates to False. + Either truePart os falsePart. + + + + Evaluates a list of expressions and returns a value corresponding to the first + expression in the list that is True. + + Parameter array consists of paired expressions and values. + The value corresponding to an expression which returns true. + + + + Checks if the specified object is null. + + The report instance. + Either a name of DB column, or a parameter name, or a total name to check. The name must be enclosed in double quotes, for example, [IsNull("Parameter")]. + true if the object's value is null. + + + + Represents a group footer band. + + + + + Specifies a sort order. + + + This enumeration is used in the group header and in the "Matrix" object. + + + + + Specifies no sort (natural order). + + + + + Specifies an ascending sort order. + + + + + Specifies a descending sort order. + + + + + Represents a group header band. + + + A simple group consists of one GroupHeaderBand and the DataBand that is set + to the property. To create the nested groups, use the property. + + Only the last nested group can have data band. + + Use the property to set the group condition. The + property can be used to set the sort order for group's data rows. You can also use the Sort + property of the group's DataBand to specify additional sort. + + This example shows how to create nested groups. + + ReportPage page = report.Pages[0] as ReportPage; + + // create the main group + GroupHeaderBand mainGroup = new GroupHeaderBand(); + mainGroup.Height = Units.Millimeters * 10; + mainGroup.Name = "MainGroup"; + mainGroup.Condition = "[Orders.CustomerName]"; + // add a group to the page + page.Bands.Add(mainGroup); + + // create the nested group + GroupHeaderBand nestedGroup = new GroupHeaderBand(); + nestedGroup.Height = Units.Millimeters * 10; + nestedGroup.Name = "NestedGroup"; + nestedGroup.Condition = "[Orders.OrderDate]"; + // add it to the main group + mainGroup.NestedGroup = nestedGroup; + + // create a data band + DataBand dataBand = new DataBand(); + dataBand.Height = Units.Millimeters * 10; + dataBand.Name = "GroupData"; + dataBand.DataSource = report.GetDataSource("Orders"); + // connect the databand to the nested group + nestedGroup.Data = dataBand; + + + + + + Gets or sets a nested group. + + + Use this property to create nested groups. + + Only the last nested group can have data band. + + + + This example demonstrates how to create a group with nested group. + + ReportPage page; + GroupHeaderBand group = new GroupHeaderBand(); + group.NestedGroup = new GroupHeaderBand(); + group.NestedGroup.Data = new DataBand(); + page.Bands.Add(group); + + + + + + Gets or sets the group data band. + + + Use this property to add a data band to a group. Note: only the last nested group can have Data band. + + + This example demonstrates how to add a data band to a group. + + ReportPage page; + GroupHeaderBand group = new GroupHeaderBand(); + group.Data = new DataBand(); + page.Bands.Add(group); + + + + + + Gets or sets a group footer. + + + + + Gets or sets a header band. + + + + + Gets or sets a footer band. + + + To access a group footer band, use the property. + + + + + Gets or sets the group condition. + + + This property can contain any valid expression. When running a report, this expression is calculated + for each data row. When the value of this condition is changed, FastReport starts a new group. + + + + + Gets or sets the sort order. + + + FastReport can sort data rows automatically using the value. + + + + + Gets or sets a value indicating that the group should be printed together on one page. + + + + + Gets or sets a value that determines whether to reset the page numbers when this group starts print. + + + Typically you should set the property to true as well. + + + + + + + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the class with default settings. + + + + + + + + + + + + + + Base class for headers and footers which support the "Keep With Data" and "Repeat on Every Page" features. + + + + + Gets or sets a value indicating that the band should be printed together with data band. + + + + + Gets or sets a value that determines whether to repeat this band on every page. + + + When band is repeated, its property is set to true. You can use + it to show any additional information on the band. To do this, + use the property which + can be set to "Rpeeated". In that case the object will be printed + only on the repeated band. + + + + + + + + + + + + + + Represents a single highlight condition used by the property + of the . + + + + + Gets or sets a highlight expression. + + + This property can contain any valid boolean expression. If value of this expression is true, + the fill and font settings will be applied to the TextObject. + + + + + Gets or sets the visibility flag. + + + If this property is set to false, the Text object will be hidden if the + condition is met. + + + + + + + + + + + Creates exact copy of this condition. + + A copy of this condition. + + + + + + + + + + Initializes a new instance of the class with default settings. + + + + + Represents the Text object that may display one or several text lines. + + + Specify the object's text in the Text property. + Text may contain expressions and data items, for example: "Today is [Date]". When report + is running, all expressions are calculated and replaced with actual values, so the text + would be "Today is 01.01.2008". + The symbols used to find expressions in a text are set in the + Brackets property. You also may disable expressions + using the AllowExpressions property. + To format an expression value, use the property. + + + + + Gets or sets a value that indicates whether the component should draw right-to-left for RTL languages. + + + + + + + + Draws a text. + + Paint event data. + + + + + + + + + + + + + + + + + + + Calculates the object's width. + + The width, in pixels. + + + + + + + + + + + + + Initializes a new instance of the class with default settings. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Specifies the hyperlink type. + + + + + Specifies the hyperlink to external URL such as "http://www.fast-report.com", "mailto:" + or any other system command. + + + + + Specifies hyperlink to a given page number. + + + + + Specifies hyperlink to a bookmark. + + + + + Specifies hyperlink to external report. This report will be run when you follow the hyperlink. + + + + + Specifies hyperlink to this report's page. The page will be run when you follow the hyperlink. + + + + + Specifies a custom hyperlink. No actions performed when you click it, you should handle it + in the object's Click event handler. + + + + + This class contains a hyperlink settings. + + + + + Gets or sets the kind of hyperlink. + + + Use the Kind property to define hyperlink's behavior. + The hyperlink may be used to navigate to the external url, the page number, + the bookmark defined by other report object, the external report, the other page of this report, + and custom hyperlink. + + + + + Gets or sets the expression which value will be used for navigation. + + + Normally you should set the Expression property to + any valid expression that will be calculated when this object is about to print. + The value of an expression will be used for navigation. + If you want to navigate to some fixed data (URL or page number, for example), + use the property instead. + + + + + Gets or sets a value that will be used for navigation. + + + Use this property to specify the fixed data (such as URL, page number etc). If you want to + navigate to some dynamically calculated value, use the property instead. + + + + + Gets or sets a value that indicate should be links open in new tab or not. + + + It works for HTML-export only! + + + + + Gets or sets an external report file name. + + + Use this property if is set to DetailReport. + When you follow the hyperlink, this report will be loaded and run. + You also may specify the report's parameter in the property. + + + + + Gets or sets the name of this report's page. + + + Use this property if is set to DetailPage. + When you follow the hyperlink, the specified page will be executed. It may contain the + detailed report. You also may specify the report's parameter in the + property. + + + + + Gets or sets a parameter's name that will be set to hyperlink's value. + + + Use this property if is set to DetailReport or DetailPage. + If you want to pass the hyperlink's value to the report's parameter, specify the + parameter name in this property. This parameter will be set to the hyperlink's value + before running a report. It may be used to display detailed information about clicked item. + It is also possible to pass multiple values to several parameters. If hyperlink's value + contains separators (the separator string can be set in the + property), it will be splitted to several values. That values will be passed to nested parameters + of the ReportParameter (you should create nested parameters by youself). For example, you have + the ReportParameter called "SelectedValue" which has two nested parameters: the first one is + "Employee" and the second is "Category". The hyperlink's value is "Andrew Fuller;Beverages". + It will be splitted to two values: "Andrew Fuller" and "Beverages". The first nested parameter + of the ReportParameter that is "Employee" in our case will be set to "Andrew Fuller"; + the second nested parameter ("Category") will be set to "Beverages". + Note: when you create a parameter in the detailed report, don't forget to set + its DataType property. It is used to convert string values to actual data type. + + + + + + Gets or sets a string that will be used as a separator to pass several values + to the external report parameters. + + + + + Assigns values from another source. + + Source to assign from. + + + + Provides the serialize/deserialize functionality. + + + + + Serializes the object. + + Writer object. + + + + Deserializes the object. + + Reader object. + + + + The components factory. + + + The components factory. + + + + + Creates a ReportPage instance in the specified Report. + + The Report instance. + The ReportPage instance. + + + + Creates a ReportPage instance in the specified Report with the cpecified name. + + The name of page. + The Report instance. + The ReportPage instance. + + + + Creates a ReportTitleBand instance in the specified ReportPage. + + The ReportPage instance. + The ReportTitleBand instance. + + + + Creates a ReportSummaryBand instance in the specified ReportPage. + + The ReportPage instance. + The ReportSummaryBand instance. + + + + Creates a PageHeaderBand instance in the specified ReportPage. + + The ReportPage instance. + The PageHeaderBand instance. + + + + Creates a PageFooterBand instance in the specified ReportPage. + + The ReportPage instance. + The PageFooterBand instance. + + + + Creates a ColumnHeaderBand instance in the specified ReportPage. + + The ReportPage instance. + The ColumnHeaderBand instance. + + + + Creates a ColumnFooterBand instance in the specified ReportPage. + + The ReportPage instance. + The ColumnFooterBand instance. + + + + Creates a DataHeaderBand instance in the specified DataBand. + + The DataBand instance. + The DataHeaderBand instance. + + + + Creates a DataBand instance in the specified ReportPage. + + The ReportPage instance. + The DataBand instance. + + + + Creates a DataFooterBand instance in the specified DataBand. + + The DataBand instance. + The DataFooterBand instance. + + + + Creates a GroupHeaderBand instance in the specified ReportPage. + + The ReportPage instance. + The GroupHeaderBand instance. + + + + Creates a GroupFooterBand instance in the cpecified ReportPage. + + The ReportPage instance. + The GroupFooterBand instance. + + + + Creates a GroupFooterBand instance in the cpecified GroupHeaderBand. + + The GroupHeaderBand instance. + The GroupFooterBand instance. + + + + Creates a ChildBand instance in the specified BandBase. + + The BandBase instance. + The ChildBand instance. + + + + Creates an OverlayBand in the specified ReportPage. + + The ReportPage instance. + The OverlayBand instance. + + + + Creates a Style instance with specified name. + + The name of the Style instance. + The report to add style to. + The Style instance. + + + + Creates a TextObject instance with specified name and parent. + + The name of the TextObject instance. + The parent of the TextObject instance. + The TextObject instance. + + + + Creates a PictureObject instance with specified name and parent. + + The name of the PictureObject instance. + The parent of the PictureObject instance. + The PictureObject instance. + + + + Creates a LineObject instance with specified name and parent. + + The name of the LineObject instance. + The parent of the LineObject instance. + The LineObject instance. + + + + Creates a ShapeObject instance with specified name and parent. + + The name of the ShapeObject instance. + The parent of the ShapeObject instance. + The ShapeObject instance. + + + + Creates a PolyLineObject instance with specified name and parent. + + The name of the PolyLineObject instance. + The parent of the PolyLineObject instance. + The PolyLineObject instance. + + + + Creates a PolygonObject instance with specified name and parent. + + The name of the PolygonObject instance. + The parent of the PolygonObject instance. + The PolygonObject instance. + + + + Creates a SubreportObject instance with specified name and parent. + + The name of the SubreportObject instance. + The parent of the SubreportObject instance. + The SubreportObject instance. + + + + Creates a ContainerObject instance with specified name and parent. + + The name of the ContainerObject instance. + The parent of the ContainerObject instance. + The ContainerObject instance. + + + + Creates a CheckBoxObject instance with specified name and parent. + + The name of the CheckBoxObject instance. + The parent of the CheckBoxObject instance. + The CheckBoxObject instance. + + + + Creates a HtmlObject instance with specified name and parent. + + The name of the HtmlObject instance. + The parent of the HtmlObject instance. + The HtmlObject instance. + + + + Creates a TableObject instance with specified name and parent. + + The name of the TableObject instance. + The parent of the TableObject instance. + The TableObject instance. + + + + Creates a MatrixObject instance with specified name and parent. + + The name of the MatrixObject instance. + The parent of the MatrixObject instance. + The MatrixObject instance. + + + + Creates a BarcodeObject instance with specified name and parent. + + The name of the BarcodeObject instance. + The parent of the BarcodeObject instance. + The BarcodeObject instance. + + + + Creates a ZipCodeObject instance with specified name and parent. + + The name of the ZipCodeObject instance. + The parent of the ZipCodeObject instance. + The ZipCodeObject instance. + + + + Creates a CellularTextObject instance with specified name and parent. + + The name of the CellularTextObject instance. + The parent ot the CellularTextObject instance. + The CellularTextObject instance. + + + + Creates a LinearGauge instance with specified name and parent. + + The name of the LinearGauge instance. + The parent of the LinearGauge instance. + The LinearGauge instance. + + + + Creates a SimpleGauge instance with specified name and parent. + + The name of the SimpleGauge instance. + The parent of the SimpleGauge instance. + The SimpleGauge instance. + + + + Creates a RadialGauge instance with specified name and parent. + + The name of the RadialGauge instance. + The parent of the RadialGauge instance. + The RadialGauge instance. + + + + Creates a SimpleProgressGauge instance with specified name and parent. + + The name of the SimpleProgressGauge instance. + The parent of the SimpleProgressGauge instance. + The SimpleProgressGauge instance. + + + + Creates a Parameter instance with specified name and parent. + + The name of the Parameter instance. + The parent Report for the new Parameter. + The Parameter instance. + + + + Creates a RichObject instance with specified name and parent. + + The name of the RichObject instance. + The parent of the RichObject instance. + The RichObject instance. + + + + Creates a SVGObject instance with specified name and parent. + + The name of the SVGObject instance. + The parent of the SVGObject instance. + The SVGObject instance. + + + + Creates a AdvMatrixObject instance with specified name and parent. + + The name of the AdvMatrixObject instance. + The parent of the AdvMatrixObject instance. + The AdvMatrixObject instance. + + + + Creates a MSChartObject instance with specified name and parent. + + The name of the MSChartObject instance. + The parent of the MSChartObject instance. + The MSChartObject instance. + + + + Creates a SparklineObject instance with specified name and parent. + + The name of the SparlineObject instance. + The parent of the SparlineObject instance. + + + + + Creates a MapObject instance with specified name and parent. + + The name of the MapObject instance. + The parent of the MapObject instance. + The MapObject instance. + + + + Creates a DialogPage instance in the specified Report. + + The Report instance. + The DialogPage instance. + + + + Creates a TextBoxControl instance with specified name and parent. + + The name of the TextBoxControl instance. + The parent of the TextBoxControl instance. + The TextBoxControl instance. + + + + Creates a LabelControl instance with specified name and parent. + + The name of the LabelControl instance. + The parent of the LabelControl instance. + The LabelControl instance. + + + + Creates a RadioButtonControl instance with specified name and parent. + + The name of the RadioButtonControl instance. + The parent of the RadioButtonControl instance. + The RadioButtonControl instance. + + + + Creates a DateTimePickerControl instance with specified name and parent. + + The name of the DateTimePickerControl instance. + The parent of the DateTimePickerControl instance. + The DateTimePickerControl instance. + + + + Creates a GridControl instance with specified name and parent. + + The name of the GridControl instance. + The parent of the GridControl instance. + The GridControl instance. + + + + Creates a GroupBoxControl instance with specified name and parent. + + The name of the GroupBoxControl instance. + The parent of the GroupBoxControl instance. + The GroupBoxControl instance. + + + + Creates a ButtonControl instance with specified name and parent. + + The name of the ButtonControl instance. + The parent of the ButtonControl instance. + The ButtonControl instance. + + + + Creates a CheckBoxControl instance with specified name and parent. + + The name of the CheckBoxControl instance. + The parent of the CheckBoxControl instance. + The CheckBoxControl instance. + + + + Creates a CheckedListBoxControl instance with specified name and parent. + + The name of the CheckedListBoxControl instance. + The parent of the CheckedListBoxControl instance. + The CheckedListBoxControl instance. + + + + Creates a ListBoxControl instance with specified name and parent. + + The name of the ListBoxControl instance. + The parent of the ListBoxControl instance. + The ListBoxControl instance. + + + + Creates a PanelControl instance with specified name and parent. + + The name of the PanelControl instance. + The parent of the PanelControl instance. + The PanelControl instance. + + + + Creates a ComboBoxControl instance with specified name and parent. + + The name of the ComboBoxControl instance. + The parent of the ComboBoxControl instance. + The ComboBoxControl instance. + + + + Creates a NumericUpDownControl instance with specified name and parent. + + The name of the NumericUpDownControl instance. + The parent of the NumericUpDownControl instance. + The NumericUpDownControl instance. + + + + Creates a PictureBoxControl instance with specified name and parent. + + The name of the PictureBoxControl instance. + The parent of the PictureBoxControl instance. + The PictureBoxControl instance. + + + + Creates a ListViewControl instance with specified name and parent. + + The name of the ListViewControl instance. + The parent of the ListViewControl instance. + The ListViewControl instance. + + + + Creates a RichTextBoxControl instance with specified name and parent. + + The name of the RichTextBoxControl instance. + The parent of the RichTextBoxControl instance. + The RichTextBoxControl instance. + + + + Creates a TreeViewControl instance with specified name and parent. + + The name of the TreeViewControl instance. + The parent of the TreeViewControl instance. + The TreeViewControl instance. + + + + Represents the DevExpess import plugin. + + + Represents the DevExpess import plugin. + + + + + Initializes a new instance of the class. + + + + + + + + + + + The DevExpress units converter. + + + + + Converts SizeF to pixels. + + SizeF value as string. + The value in pixels. + + + + Converts SizeF to pixels. + + SizeF value as string. + The value in pixels. + + Use this method for fonts, because font size is not stored as multiplied by dpi + + + + + Converts value to Boolean. + + Boolen value as string. + + + + Converts DevExpress Color. + + The DevExpress Color value as string. + The Color value. + + + + Converts DevExpress BackColor. + + The DevExpress BackColor value as string. + The Color value. + + + + Converts the DevExpress BorderDashStyle to LineStyle. + + The DevExpress BorderDashStyle value. + The LineStyle value. + + + + Converts the DevExpress LineStyle to LineStyle. + + The DevExpress LineStyle value. + The LineStyle value. + + + + Converts the DevExpress TextAlignment to HorzAlignment. + + The DevExpress TextAlignment value. + The HorzAlign value. + + + + Converts the DevExpress TextAlignment to VertAlignment. + + The DevExpress TextAlignment value. + The VertAlign value. + + + + Converts the DevExpress ImageSizeMode to PictureBoxSizeMode. + + The ImageSizeMode value as string. + The PictureBoxSizeMode value. + + + + Converts the DevExpress Shape to ShapeKind. + + The DevExpress Shape value as string. + The ShapeKind value. + + + + Converts the DevExpress Barcode.Symbology to Barcode.Barcode. + + The DevExpress Barcode.Symbology value as string. + The BarcodeObject instance. + + + + Converts the DevExpress border sides to FastReport border sides + + The DevExpress Barcode.Symbology value as string. + The BarcodeObject instance. + + + + Base class for all import plugins. + + + + + Gets or sets the name of plugin. + + + + + Gets or sets reference to the report. + + + + + Initializes a new instance of the class with default settings. + + + + + Loads the specified file into specified report. + + Report object. + File name. + + + + Loads the specified file into specified report from stream. + + Report object + File stream + + + + Represents the JasperReports import plugin. + + + Represents the JasperReports import plugin. + + + + + Initializes a new instance of the class. + + + + + + + + + + + The JasperReports units converter. + + + + + Converts value to Boolean. + + Boolen value as string. + + + + Converts string to PictureBoxSizeMode. + + + + + + + Parse int value. + + + + + + + Parse float value + + + + + + + Converts JasperReports Color. + + The DevExpress Color value as string. + The Color value. + + + + Converts string to QRCodeErrorCorrection. + + + + + + + Parse BorderLine from XmlNode. + + + + + + + Converts JasperReports Border. + + + + + + + Converts the JasperReports BorderDashStyle to LineStyle. + + The DevExpress BorderDashStyle value. + The LineStyle value. + + + + Converts the JasperReports LineStyle to LineStyle. + + The JasperReports LineStyle value. + The LineStyle value. + + + + Converts the JasperReports TextAlignment to HorzAlignment. + + The JasperReports TextAlignment value. + The HorzAlign value. + + + + Converts the JasperReports rotation to int. + + + + + + + Converts the JasperReports TextAlignment to VertAlignment. + + The JasperReports TextAlignment value. + The VertAlign value. + + + + Converts the JasperReports Barcode.Symbology to Barcode.Barcode. + + The JasperReports Barcode.Symbology value as string. + The BarcodeObject instance. + + + + Convert JasperReports HyperlinkType to HyperlinkKind. + + + + + + + Converts the JasperReports SeriesChartType to SeriesChartType. + + + + + + + Represents the List and Label import plugin. + + + + + Gets the value indicating is the report List and Label template after trying to load it. + + + + + Initializes a new instance of the class. + + + + + + + + + + + The List and Label units converter. + + + + + Converts List and Label units to millimeters. + + The List and Label unit as string. + The value in millimeters. + + + + Converts List and Label units to pixels. + + The List and Label unit as string. + The value in pixels. + + + + Converts List and Label paper orientation. + + The List and Label paper orientation value as string. + Returns true if orientation is landscape. + + + + Converts List and Label bool. + + The List and Label bool value as string. + A bool value. + + + + Converts List and Label text Align. + + The List and Label text Align value as string. + A HorzAlign value. + + + + Convert List and Label LineType to LineStyle. + + The List and Label LineType value as string. + A LineStyle value. + + + + Converts List and Label rounding to float. + + The List and Label rounding value as string. + A float value. + + + + Represents the RDL import plugin. + + + Represents the RDL import plugin. + + + + + Initializes a new instance of the class. + + + + + + + + + + + The RDL Size units. + + + + + Specifies the units measured in millimeters. + + + + + Specifies the units measured in centimeters. + + + + + Specifies the units measured in inches. + + + + + Specifies the units measured in points. + + + + + Specifies the units measured in picas. + + + + + Defines the constants used to convert between RDL Size and pixels. + + + To convert pixels to inches, use the code: + inches = pixels / SizeUnitsP.Inch; + To convert inches to pixels, use the code: + pixels = inches * SizeUnitsP.Inch; + + + + + The number of pixels in one millimeter. + + + + + The number of pixels in one centimeter. + + + + + The number of pixels in one inch. + + + + + The number of pixels in one point. + + + + + The number of pixels in one pica. + + + + + Defines the constants used to convert between RDL Size and millimeters. + + + To convert millimeters to inches, use the code: + inches = millimeters / SizeUnitsM.Inch; + To convert inches to millimeters, use the code: + millimeters = inches * SizeUnitsM.Inch; + + + + + The number of millimeters in one centimeter. + + + + + The number of millimeters in one inch. + + + + + The number of millimeters in one point. + + + + + The number of millimeters in one pica. + + + + + The RDL units converter. + + + The RDL units converter. + + + + + Converts the RDL Boolean to bool value. + + The RDL Boolean value. + The bool value. + + + + Converts the RDL Color to Color. + + The RDL Color value. + The Color value. + + + + Converts the RDL Size to float value. + + The RDL Size value. + The RDL Size units measure. + The float value of RDL Size. + + + + Converts the RDL Size to int value. + + The RDL Size value. + The RDL Size units measure. + The int value of RDL Size. + + + + Converts the RDL Size to millimeters. + + The RDL Size value. + The float value of RDL Size in millimeters. + + + + Converts the RDL Size to pixels. + + The RDL Size value. + The float value of RDL Size in pixels. + + + + Converts the RDL FontStyle to FontStyle. + + The RDL FontStyle value. + The FontStyle value. + + + + Converts the RDL FontSize to float. + + The RDL FontSize value. + The float value of RDL FontSize in points. + + + + Converts the RDL TextAlign to HorzAlign. + + The RDL TextAlign value. + The HorzAlign value. + + + + Converts the RDL TextAlign to VerticalAlign. + + The RDL VerticalAlign value. + The VertAlign value. + + + + Converts the RDL WritingMode to Angle. + + The RDL WritingMode value. + The int value of RDL WritingMode in degree. + + + + Converts the RDL TextAlign to StringAlignment. + + The RDL TextAling value. + The StringAlignment value. + + + + Converts the RDL TextAlign and VerticalAlign to ContentAlignment. + + The RDL TextAlign value. + The RDL VerticalAlign value. + The ContentAlignment value. + + + + Converts the RDL BorderStyle to LineStyle. + + The RDL BorderStyle value. + The LineStyle value. + + + + Converts the RDL Sizing to PictureBoxSizeMode. + + The RDL Sizing value. + The PictureBoxSizeMode value. + + + + Converts the RDL GradientType to GradientStyle. + + The RDL GradientType value. + The GradientStyle value. + + + + Converts the RDL Chart.Type to SeriesChartType. + + The RDL Chart.Type value. + The SeriesChartType value. + + + + Converts the RDL Chart.Palette to ChartColorPalette. + + The RDL Chart.Palette value. + The RDL ChartColorPalette value. + + + + Converts the RDL Chart.Legend.Position to Legend.Docking and Legend.Alignment. + + The RDL Chart.Legend.Position value. + The Legend instance to convert to. + + + + Converts the RDL Chart.Legend.Layout to LegendStyle. + + The RDL Chart.Legend.Layout value. + The LegendStyle value. + + + + Converts the RDL BorderStyle to ChartDashStyle. + + The RDL BorderStyle value. + The ChartDashStyle value. + + + + Converts the RDL Axis.Visible to AxisEnabled. + + The RDL Axis.Visible value. + The AxisEnabled value. + + + + Converts the RDL TickMarkStyle to TickMarkStyle. + + The RDL TickMarkStyle value. + The TickMarkStyle value. + + + + Converts the RDL Shading to LightStyle. + + The RDL Shading value. + The LightStyle value. + + + + Represents the StimulSoft import plugin. + + + Represents the StimulSoft import plugin. + + + + + Initializes a new instance of the class. + + + + + + + + + + + The StimulSoft units converter. + + + + + Converts value to Boolean. + + Boolen value as string. + + + + Converts value to PageUnits. + + + + + + + Converts value to PageUnits. + + + + + + + Converts the PaperSize to width and height values of paper size in millimeters + + The PaperSize value. + The ReportPage instance. + + + + Parse int value. + + + + + + + Parse float value + + + + + + + Converts StimulSoft Color. + + The DevExpress Color value as string. + The Color value. + + + + Converts StimulSoft Border. + + + + + + + Converts the StimulSoft BorderDashStyle to LineStyle. + + The DevExpress BorderDashStyle value. + The LineStyle value. + + + + Converts the StimulSoft BorderDashStyle to LineStyle. + + The DevExpress BorderDashStyle value. + The LineStyle value. + + + + Converts the StimulSoft LineStyle to LineStyle. + + The StimulSoft LineStyle value. + The LineStyle value. + + + + Converts the StimulSoft TextAlignment to HorzAlignment. + + The StimulSoft TextAlignment value. + The HorzAlign value. + + + + Converts the StimulSoft Brush to FillBase object. + + + + + + + Converts the StimulSoft Format to FormatBase object. + + + + + + + Converts the StimulSoft RTF string to raw RTF. + + + + + + + Converts the StimulSoft CapStyle to CapStyle. + + + + + + + Converts the StimulSoft TextAlignment to VertAlignment. + + The StimulSoft TextAlignment value. + The VertAlign value. + + + + Converts the StimulSoft CheckedSymbol to CheckedSymbol. + + + + + + + Converts the StimulSoft Barcode.Symbology to Barcode.Barcode. + + The StimulSoft Barcode.Symbology value as string. + The BarcodeObject instance. + + + + Converts the StimulSoft border sides to FastReport border sides + + + + + + Converts the StimulSoft AggregateFunction sides to FastReport MatrixAggregateFunction + + + + + + + Convert fill to color + + + + + + + Converts the StimulSoft SeriesChartType to SeriesChartType. + + + + + + + Parse string to struct f Point. + + + + + + + Parse string to struct of Size. + + + + + + + Converts the StimulSoft SeriesChartType to SeriesChartType. + + + + + + + Implement this interface if your object can contain list of child objects. + + + + + Gets a value indicating that this object can contain the specified child object. + + Child object. + true if this object can contain the specified child object; otherwise, false. + + + + Gets a list of child objects. + + List to fill with values. + + + + Adds a child object to this object's childs. + + Object to add. + + + + Removes a specified object from this object's childs. + + + + + + Returns z-order of the specified child object. + + Child object. + Z-order of the specified object. + + This method must return the index of a specified child object in the internal child list. + + + + + Sets the z-order of the specified object. + + Child object. + New Z-order. + + This method must place the specified child object at the specified position in the internal child list. + + + + + Updates the children layout when the size of this object is changed by dx, dy values. + + X delta. + Y delta. + + This method must update positions/sizes of child objects whose Dock or Anchor properties + are set to non-default values. + + + + + Represents a line object. + + + Use the Border.Width, Border.Style and Border.Color properties to set + the line width, style and color. Set the property to true + if you want to show a diagonal line. + + + + + Gets or sets a value indicating that the line is diagonal. + + + If this property is false, the line can be only horizontal or vertical. + + + + + Gets or sets the start cap settings. + + + + + Gets or sets the end cap settings. + + + + + Gets or sets collection of values for custom dash pattern. + + + Each element should be a non-zero positive number. + If the number is negative or zero, that number is replaced by one. + + + + + + + + + + + + + + + + + Initializes a new instance of the class with default settings. + + + + + This property is not relevant to this class. + + + + + + + + + + + + + + + + + + + + + + + + + + Holds the list of objects of type. + + + + + Gets or sets the element at the specified index. + + Index of an element. + The element at the specified index. + + + + Initializes a new instance of the class with default settings. + + + + + Initializes a new instance of the class with specified owner. + + + + + Represents an overlay band. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + Initializes a new instance of the class with default settings. + + + + + Base class for report pages and dialog forms. + + + + + Causes the page to refresh in the preview window. + + + Call this method when you handle object's MouseMove, MouseDown, MouseUp, MouseEnter, MouseLeave events + and want to refresh the preview window. + + If you have changed some objects on a page, the Refresh method will not save the changes. + This means when you print or export the page, you will see original (unmodified) page content. + If you want to save the changes, you have to use the method instead. + + + + + + Modifies the page content and refresh it in the preview window. + + + Call this method when you handle object's Click, MouseDown or MouseUp events + and want to modify an object and refresh the preview window. + + + + + Initializes a new instance of the class with default settings. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + Gets the snap size for this page. + + + + + Gets a page designer for this page type. + + The page designer. + + + + This method is called by the designer when you create a new page. + + + You may create the default page layout (add default bands, set default page size, etc). + + + + + Holds the list of objects of type. + + + + + Gets or sets the element at the specified index. + + Index of an element. + The element at the specified index. + + + + Initializes a new instance of the class with default settings. + + + + + Initializes a new instance of the class with specified owner. + + + + + This class contains the page columns settings. + It is used in the property. + + + + + Gets or sets the number of columns. + + + Set this property to 0 or 1 if you don't want to use columns. + + + + + Gets or sets the column width. + + + + + Gets or sets a list of column starting positions. + + + Each value represents a column starting position measured in the millimeters. + + + + + Assigns values from another source. + + Source to assign from. + + + + Represents a page footer band. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + + + + Initializes a new instance of the class with default settings. + + + + + Represents a page header band. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + Initializes a new instance of the class with default settings. + + + + + Represents a Picture object that can display pictures. + + + The Picture object can display the following kind of pictures: + + + picture that is embedded in the report file. Use the + property to do this; + + + picture that is stored in the database BLOb field. Use the + property to specify the name of data column you want to show; + + + picture that is stored in the local disk file. Use the + property to specify the name of the file; + + + picture that is stored in the Web. Use the + property to specify the picture's URL. + + + Use the property to specify a size mode. The + and properties can be used to restrict the image size if SizeMode + is set to AutoSize. + The property can be used to display an image with + transparent background. Use the property if you want to display + semi-transparent image. + + + + + Gets or sets the image. + + + By default, image that you assign to this property is never disposed - you should + take care about it. If you want to dispose the image when this PictureObject is disposed, + set the property to true right after you assign an image: + + myPictureObject.Image = new Bitmap("file.bmp"); + myPictureObject.ShouldDisposeImage = true; + + + + + + Gets or sets the extension of image. + + + + + Gets or sets a value indicating that the image should be displayed in grayscale mode. + + + + + Gets or sets a hash of grayscale svg image + + + + + Gets or sets the color of the image that will be treated as transparent. + + + + + Gets or sets the transparency of the PictureObject. + + + Valid range of values is 0..1. Default value is 0. + + + + + Gets or sets a value indicating that the image should be tiled. + + + + + Gets or sets a value indicating that the image stored in the + property should be disposed when this object is disposed. + + + By default, image assigned to the property is never disposed - you should + take care about it. If you want to dispose the image when this PictureObject is disposed, + set this property to true right after you assign an image to the property. + + + + + Gets or sets a bitmap transparent image + + + + + + + + + + + + + + + + + Draws the image. + + Paint event args. + + + + Sets image data to FImageData + + + + + + + + + + + + Loads image + + + + + Disposes image + + + + + The shape of the image is set using GraphicsPath + + + + + + + + + + + + + + + + + + + Forces loading the image from a data column. + + + Call this method in the AfterData event handler to force loading an image + into the property. Normally, the image is stored internally as byte[] array + and never loaded into the Image property, to save the time. The side effect is that you + can't analyze the image properties such as width and height. If you need this, call this method + before you access the Image property. Note that this will significantly slow down the report. + + + + + Initializes a new instance of the class with default settings. + + + + + + + + + + + Invokes the object's editor. + + true if object was edited succesfully. + + + + Specifies the alignment of a image in the border. + + + + + Specifies that image is not aligned in the layout rectangle. + + + + + Specifies that image is aligned in the top-left of the layout rectangle. + + + + + Specifies that image is aligned in the top-center of the layout rectangle. + + + + + Specifies that image is aligned in the top-right of the layout rectangle. + + + + + Specifies that image is aligned in the center-left of the layout rectangle. + + + + + Specifies that image is aligned in the center-center of the layout rectangle. + + + + + Specifies that image is aligned in the center-right of the layout rectangle. + + + + + Specifies that image is aligned in the center-left of the layout rectangle. + + + + + Specifies that image is aligned in the center-center of the layout rectangle. + + + + + Specifies that image is aligned in the center-right of the layout rectangle. + + + + + the base class for all picture objects + + + + + Gets or sets the image rotation angle, in degrees. Possible values are 0, 90, 180, 270. + + + + + Gets or sets the data column name to get the image from. + + + + + Gets or sets a value indicating that the image should be displayed in grayscale mode. + + + + + + + + Gets or sets the path for the image to display in the PictureObject. + + + This property may contain the path to the image file as well as external URL. + + + + + Gets or sets the expression that determines the source for the image to display in the PictureObject. + + + The result of the expression should be data column name or path to the image file. + The data column name will be saved to the property. + The path will be savetd to the property. + + + + + Gets a value indicating that the image stored in the databases column + + + + + Gets a value indicating that the image stored in the separate file + + + + + Gets a value indicating that the image stored in the Web + + + + + Gets or sets the maximum height of a Picture object, in pixels. + + + Use this property to restrict the object size if the property + is set to AutoSize. + + + + + Gets or sets the maximum width of a Picture object, in pixels. + + + Use this property to restrict the object size if the property + is set to AutoSize. + + + + + Gets or sets padding within the PictureObject. + + + + + Gets or sets a value indicating whether the PictureObject should display + the error indicator if there is no image in it. + + + + + Gets or sets a value that specifies how an image is positioned within a PictureObject. + + + + + + + + Gets or sets the alignment of a image in the border. + + + + + Gets or sets a shape kind. + + + + + Return base size of image, internal use only + + + + + Return base size of image, internal use only + + + + + + + + + + + Calculates URI from ImageLocation + + + + + + + + + gets points for transform this image + + the box where to draw image + image width + image height + scale horizontal + scale vertical + offset of left + offset of top + out start of vectors + out end of frist vector + out end of second vector + + + + Loads image + + + + + Moves the point on specified angle + + + + + + + + + + + + Rotates vector on specified angle + + + + + + + + + + + Draws not tiled image + + + + + + + Reset index of image + + + + + When auto size was updated, internal use only + + + + + + + + Draw an error image to Graphics g, when the image is designing + + + + + + + + + + + + + + + + + + + Invokes the object's editor. + + true if object was edited succesfully. + + + + Represents a polygon object. + + + Use the Border.Width, Border.Style and Border.Color properties to set + the line width, style and color. + + + + + + Calculate GraphicsPath for draw to page + + Pen for lines + scale by width + scale by height + Always returns a non-empty path + + + + Draw polyline path to graphics + + Event arguments + + + + + + + Initializes a new instance of the class with default settings. + + + + + + + + Represents a poly line object. + + + Use the Border.Width, Border.Style and Border.Color properties to set + the line width, style and color. + + + + + do not set this value, internal use only + + + + + Gets or sets collection of values for custom dash pattern. + + + Each element should be a non-zero positive number. + If the number is negative or zero, that number is replaced by one. + + + + + Return points collection. + You can modify the collection for change this object. + + + + + Returns origin of coordinates relative to the top left corner + + + + + Returns origin of coordinates relative to the top left corner + + + + + Return points array of line + deprecated + + + + + Return point types array. 0 - Start of line, 1 - Keep on line + deprecated + + + + + Initializes a new instance of the class with default settings. + + + + + + + + + + + + + + Calculate GraphicsPath for draw to page + + Pen for lines + Left boundary + Top boundary + Right boundary + Bottom boundary + scale by width + scale by height + Always returns a non-empty path + + + + Recalculate position and size of element + + + + + + + + Add point to end of polyline, need to recalculate bounds after add + First point must have zero coordinate and zero type. + Recalculate bounds. + Method is slow do not use this. + + local x - relative to left-top point + local y - relative to left-top point + depreceted + + + + Delete point from polyline by index. + Recalculate bounds. + Method is slow do not use this. + + Index of point in polyline + + + + Draw polyline path to graphics + + Event arguments + + + + Insert point to desired place of polyline + recalculateBounds(); + Method is slow do not use this + + Index of place from zero to count + local x - relative to left-top point + local y - relative to left-top point + deprecated + + + + Represent a point for polygon object + + + + + + + + + + + Add point to end of polyline and recalculate bounds after add. + Can be first point. + Deprecated, use insert point + + local x - relative to left-top point + local y - relative to left-top point + + + + Add point to start of polyline and recalculate bounds after add + Can be first point + Deprecated, use insert point + + local x - relative to left-top point + local y - relative to left-top point + + + + + + + + + + Replace points with star + + Minimum value is 3 + + + + + + + + + + + + + + + + + + + Insert point to desired place of polyline + Recalculate bounds after insert + + Index of place from zero to count + local x - relative to left-top point + local y - relative to left-top point + + + + Insert point to near line + Recalculate bounds after insert + + local x - relative to left-top point + local y - relative to left-top point + depricated + Index of inserted point + + + + + + + + + + + + + + + + Delete point from polyline by index + Recalculate bounds after remove + + Index of point in polyline + + + + + + + Delete point from polyline by index. + Recalculate bounds. + + Index of point in polyline + + + + + + + + + + Returns best new point position based on mouse + + + + + + Specifies the language of the report's script. + + + + + The C# language. + + + + + The VisualBasic.Net language. + + + + + Specifies the quality of text rendering. + + + + + The default text quality, depends on system settings. + + + + + The regular quality. + + + + + The "ClearType" quality. + + + + + The AntiAlias quality. This mode may be used to produce the WYSIWYG text. + + + + + The "SingleBitPerPixel" quality. + + + + + The "SingleBitPerPixelGridFit" quality. + + + + + Specifies the report operation. + + + + + Specifies no operation. + + + + + The report is running. + + + + + The report is printing. + + + + + The report is exporting. + + + + + Specifies the page range to print/export. + + + + + Print all pages. + + + + + Print current page. + + + + + Print pages specified in the PageNumbers property of the PrintSettings. + + + + + Represents a report object. + + + The instance of this class contains a report. Here are some common + actions that can be performed with this object: + + + To load a report, use the + method or call static method. + + + To save a report, call the method. + + + To register application dataset for use it in a report, call one of the + RegisterData methods. + + + To pass some parameter to a report, use the + method. + + + To design a report, call the method. + + + To run a report and preview it, call the method. + Another way is to call the method, then call the + method. + + + To run a report and print it, call the method. + Another way is to call the method, then call the + method. + + + To load/save prepared report, use one of the LoadPrepared and + SavePrepared methods. + + + To set up some global properties, use the static class + or component that you can use in the Visual Studio IDE. + + + + The report consists of one or several report pages (pages of the + type) and/or dialog forms (pages of the type). + They are stored in the collection. In turn, each page may contain report + objects. See the example below how to create a simple report in code. + + This example shows how to create a report instance, load it from a file, + register the application data, run and preview. + + Report report = new Report(); + report.Load("reportfile.frx"); + report.RegisterData(application_dataset); + report.Show(); + + This example shows how to create simple report in code. + + Report report = new Report(); + // create the report page + ReportPage page = new ReportPage(); + page.Name = "ReportPage1"; + // set paper width and height. Note: these properties are measured in millimeters. + page.PaperWidth = 210; + page.PaperHeight = 297; + // add a page to the report + report.Pages.Add(page); + // create report title + page.ReportTitle = new ReportTitleBand(); + page.ReportTitle.Name = "ReportTitle1"; + page.ReportTitle.Height = Units.Millimeters * 10; + // create Text object and put it to the title + TextObject text = new TextObject(); + text.Name = "Text1"; + text.Bounds = new RectangleF(0, 0, Units.Millimeters * 100, Units.Millimeters * 5); + page.ReportTitle.Objects.Add(text); + // create data band + DataBand data = new DataBand(); + data.Name = "Data1"; + data.Height = Units.Millimeters * 10; + // add data band to a page + page.Bands.Add(data); + + + + + + Occurs when calc execution is started. + + + + + Occurs when report is inherited and trying to load a base report. + + + Typical use of this event is to load the base report from a database instead of a file. + + + + + Occurs when report execution is started. + + + + + Occurs when report execution is finished. + + + + + Occurs before export to set custom export parameters. + + + + + Gets the pages contained in this report. + + + This property contains pages of all types (report and dialog). Use the is/as operators + if you want to work with pages of ReportPage type. + + The following code demonstrates how to access the first report page: + + ReportPage page1 = report1.Pages[0] as ReportPage; + + + + + + Gets the report's data. + + + The dictionary contains all data items such as connections, data sources, parameters, + system variables. + + + + + Gets the collection of report parameters. + + + Parameters are displayed in the "Data" window under the "Parameters" node. + Typical use of parameters is to pass some static data from the application to the report. + You can print such data, use it in the data row filter, script etc. + Another way to use parameters is to define some reusable piece of code, for example, + to define an expression that will return the concatenation of first and second employee name. + In this case, you set the parameter's Expression property to something like this: + [Employees.FirstName] + " " + [Employees.LastName]. Now this parameter may be used in the report + to print full employee name. Each time you access such parameter, it will calculate the expression + and return its value. + You can create nested parameters. To do this, add the new Parameter to the + Parameters collection of the root parameter. To access the nested parameter, you may use the + method. + To get or set the parameter's value, use the and + methods. To set the parameter's expression, use the + method that returns a Parameter object and set its + Expression property. + + + + + Gets or sets the report information such as report name, author, description etc. + + + + + Gets or sets the base report file name. + + + This property contains the name of a report file this report is inherited from. + Note: setting this property to non-empty value will clear the report and + load the base file into it. + + + + + Gets a value indicating whether Report is prepared + + + + + Gets or sets the absolute path to the parent report. + + + This property contains the absolute path to the parent report. + + + + + Gets or sets the name of a file the report was loaded from. + + + This property is used to support the FastReport.Net infrastructure; + typically you don't need to use it. + + + + + Gets or sets the report script. + + + The script contains the ReportScript class that contains all report objects' + event handlers and own items such as private fields, properties, methods etc. The script + contains only items written by you. Unlike other report generators, the script does not + contain report objects declarations, initialization code. It is added automatically when + you run the report. + By default this property contains an empty script text. You may see it in the designer + when you switch to the Code window. + If you set this property programmatically, you have to declare the FastReport + namespace and the ReportScript class in it. Do not declare report items (such as bands, + objects, etc) in the ReportScript class: the report engine does this automatically when + you run the report. + Security note: since the report script is compiled into .NET assembly, it allows + you to do ANYTHING. For example, you may create a script that will read/write files from/to a disk. + To restrict such operations, use the property. + + + + + Gets or sets the script language of this report. + + + Note: changing this property will reset the report script to default empty script. + + + + + Gets or sets a value indicating whether the null DB value must be converted to zero, false or + empty string depending on the data column type. + + + This property is true by default. If you set it to false, you should check + the DB value before you do something with it (for example, typecast it to any type, use it + in a expression etc.) + + + + + Gets or sets a value that specifies whether the report engine should perform the second pass. + + + Typically the second pass is necessary to print the number of total pages. It also + may be used to perform some calculations on the first pass and print its results on the + second pass. + Use the Engine.FirstPass, Engine.FinalPass properties to determine which + pass the engine is performing now. + + + + + Gets or sets a value that specifies whether to compress the report file. + + + The report file is compressed using the Gzip algorithm. So you can open the + compressed report in any zip-compatible archiver. + + + + + Returns a bool value depending on the .frx or .fpx report was loaded + + + + + Gets or sets a value that specifies whether to use the file cache rather than memory + to store the prepared report pages. + + + + + Gets or sets a value that specifies the quality of text rendering. + + + Note: the default property value is TextQuality.Default. That means the report + may look different depending on OS settings. This property does not affect the printout. + + + + + Gets or sets a value that specifies if the graphic objects such as bitmaps + and shapes should be displayed smoothly. + + + + + Gets or sets the report password. + + + When you try to load the password-protected report, you will be asked + for a password. You also may specify the password in this property before loading + the report. In this case the report will load silently. + Password-protected report file is crypted using Rijndael algorithm. + Do not forget your password! It will be hard or even impossible to open + the protected file in this case. + + + + + Gets or sets a value indicating whether it is necessary to automatically fill + DataSet registered with RegisterData call. + + + If this property is true (by default), FastReport will automatically fill + the DataSet with data when you trying to run a report. Set it to false if + you want to fill the DataSet by yourself. + + + + + Gets or sets the maximum number of generated pages in a prepared report. + + + Use this property to limit the number of pages in a prepared report. + + + + + Gets or sets the collection of styles used in this report. + + + + + Gets or sets an array of assembly names that will be used to compile the report script. + + + By default this property contains the following assemblies: "System.dll", "System.Drawing.dll", + "System.Windows.Forms.dll", "System.Data.dll", "System.Xml.dll". If your script uses some types + from another assemblies, you have to add them to this property. + + + + + Gets or sets a script event name that will be fired when the report starts. + + + + + Gets or sets a script event name that will be fired when the report is finished. + + + + + Gets a value indicating that report execution was aborted. + + + + + Gets or sets a value that determines whether to store the report in the application resources. + Use this property in the MS Visual Studio IDE only. + + + By default this property is true. When set to false, you should store your report + in a file. + + + + + Gets or sets the resource string that contains the report. + + + This property is used by the MS Visual Studio to store the report. Do not use it directly. + + + + + Gets a value indicating that this report contains dialog forms. + + + + + Gets or sets a set of permissions that will be restricted for the script code. + + + Since the report script is compiled into .NET assembly, it allows you to do ANYTHING. + For example, you may create a script that will read/write files from/to a disk. This property + is used to restrict such operations. + This example shows how to restrict the file IO operations in a script: + + using System.Security; + using System.Security.Permissions; + ... + PermissionSet ps = new PermissionSet(PermissionState.None); + ps.AddPermission(new FileIOPermission(PermissionState.Unrestricted)); + report1.ScriptRestrictions = ps; + report1.Prepare(); + + + + + + + Gets a reference to the graphics cache for this report. + + + This property is used to support the FastReport.Net infrastructure. Do not use it directly. + + + + + Gets a pages of the prepared report. + + + + + Gets a reference to the report engine. + + + This property can be used when report is running. In other cases it returns null. + + + + + Gets or sets the initial page number for PageN/PageNofM system variables. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + Gets the report operation that is currently performed. + + + + + Gets or sets the Tag object of the report. + + + + + Gets or sets the flag for refresh. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Initializes the report's fields. + + + This method is for internal use only. + + + + + Generates the file (.cs or .vb) that contains the report source code. + + Name of the file. + + Use this method to generate the report source code. This code can be attached to your project. + In this case, you will need to call the following code to run a report: + + SimpleListReport report = new SimpleListReport(); + report.RegisterData(your_dataset); + report.Show(); + + + + + + Calculates an expression and returns the result. + + The expression to calculate. + If report is running, returns the result of calculation. + Otherwise returns null. + + The expression may be any valid expression such as "1 + 2". The expression + is calculated in the report script's ReportScript class instance context, + so you may refer to any objects available in this context: private fields, + methods, report objects. + + + + + Calculates an expression and returns the result. + + The expression to calculate. + The value of currently printing object. + If report is running, returns the result of calculation. + Otherwise returns null. + + Do not call this method directly. Use the Calc(string expression) method instead. + + + + + Returns an expression value. + + The expression. + The value of currently printing object. + Returns the result of calculation. + + This method is for internal use only, do not call it directly. + + + + + Invokes the script method with given name. + + The name of the script method. + The method parameters. + + + + Gets the data column's value. Automatically converts null value to 0, false or "" + depending on the column type. + + The name of the data column including the datasource name. + If report is running, returns the column value. Otherwise returns null. + + The return value of this method does not depend on the property. + + + + string employeeName = (string)report.GetColumnValue("Employees.FirstName"); + + + + + + Gets the data column's value. This method does not convert null values. + + The name of the data column including the datasource name. + If report is running, returns the column value. + Otherwise returns null. + + + + Gets the report parameter with given name. + + The name of the parameter. + The object if found, otherwise null. + + To find nested parameter, use the "." separator: "MainParameter.NestedParameter" + + + + + Gets a value of the parameter with given name. + + The name of the parameter. + The parameter's value if found, otherwise null. + + To find nested parameter, use the "." separator: "MainParameter.NestedParameter" + + + + + Sets the parameter's value. + + The name of the parameter. + Value to set. + + Use this method to pass a value to the parameter that you've created in the "Data" window. + Such parameter may be used everythere in a report; for example, you can print its value + or use it in expressions. + You should call this method after the report was loaded and before you run it. + To access a nested parameter, use the "." separator: "MainParameter.NestedParameter" + + This method will create the parameter if it does not exist. + + + This example shows how to pass a value to the parameter with "MyParam" name: + + // load the report + report1.Load("report.frx"); + // setup the parameter + report1.SetParameterValue("MyParam", 10); + // show the report + report1.Show(); + + + + + + Gets a value of the system variable with specified name. + + Name of a variable. + The variable's value if found, otherwise null. + + + + Gets a value of the total with specified name. + + Name of total. + The total's value if found, otherwise 0. + This method converts null values to 0 if the property is set to true. + Use the method if you don't want the null conversion. + + + + + Gets a value of the total with specified name. + + Name of total. + The total's value if found, otherwise null. + + + + Gets the datasource with specified name. + + Alias name of a datasource. + The datasource object if found, otherwise null. + + + + + + + Aborts the report execution. + + + + + + + + + + + Updates the report component's styles. + + + Call this method if you change the collection. + + + + + Sets prepared pages. + + + + + + This method fires the StartReport event and the script code connected + to the StartReportEvent. + + + + + This method fires the FinishReport event and the script code connected + to the FinishReportEvent. + + + + + Runs the Export event. + + ExportReportEventArgs object. + + + + Add the name of the assembly (in addition to the default) that will be used to compile the report script + + Assembly name + + For example: report.AddReferencedAssembly("Newtonsoft.Json.dll") + + + + + Add the names of the assembly (in addition to the default) that will be used to compile the report script + + Assembly's names + + + + + + + + + + Saves the report to a stream. + + The stream to save to. + + + + Saves the report to a file. + + The name of the file to save to. + + + + Saves the report to a stream with randomized values in data sources. + + The stream to save to. + + + + Saves the report to a file with randomized values in data sources. + + The name of the file to save to. + + + + Loads report from a stream. + + The stream to load from. + + The stream must be seekable. + When you load a password-protected report, you should specify a password in the property, + otherwise you will get the . In this case you should ask for a password and try again: + + try + { + report.Load(stream); + } + catch (DecryptException) + { + report.Password = report.ShowPasswordForm(); // or use your own form to do this + report.Load(stream); + } + + + + + + Loads the report from a file. + + The name of the file to load from. + + When you try to load the password-protected report, you will be asked + for a password. You also may specify the password in the + property before loading the report. In this case the report will load silently. + + + + + Loads the report from a string. + + The string that contains a stream in UTF8 or Base64 encoding. + + + + Saves the report to a string. + + The string that contains a stream. + + + + Saves the report to a string using the Base64 encoding. + + The string that contains a stream. + + + + Creates the report instance and loads the report from a stream. + + The stream to load from. + The new report instance. + + + + Creates the report instance and loads the report from a file. + + The name of the file to load from. + The new report instance. + + + + Creates the report instance and loads the report from a string. + + The string that contains a stream in UTF8 encoding. + The new report instance. + + + + Registers the application dataset with all its tables and relations to use it in the report. + + The application data. + + If you register more than one dataset, use the method. + + + + report1.Load("report.frx"); + report1.RegisterData(dataSet1); + + + + + + Registers the application dataset with all its tables and relations to use it in the report and enables all its tables. + + The application data. + The boolean value indicating whether all tables should be enabled. + + If you register more than one dataset, use the method. + + + + report1.Load("report.frx"); + report1.RegisterData(dataSet1, true); + + + + + + Registers the application dataset with specified name. + + The application data. + The name of the data. + + Use this method if you register more than one dataset. You may specify any value + for the name parameter: it is not displayed anywhere in the designer and used only + to load/save a report. The name must be persistent and unique for each registered dataset. + + + + report1.Load("report.frx"); + report1.RegisterData(dataSet1, "NorthWind"); + + + + + + Registers the application dataset with specified name and enables all its tables. + + The application data. + The name of the data. + The boolean value indicating whether all tables should be enabled. + + Use this method if you register more than one dataset. You may specify any value + for the name parameter: it is not displayed anywhere in the designer and used only + to load/save a report. The name must be persistent and unique for each registered dataset. + + + + report1.Load("report.frx"); + report1.RegisterData(dataSet1, "NorthWind", true); + + + + + + Registers the application data table to use it in the report. + + The application data. + The name of the data. + + + report1.Load("report.frx"); + report1.RegisterData(dataSet1.Tables["Orders"], "Orders"); + + + + + + Registers the application data view to use it in the report. + + The application data. + The name of the data. + + + report1.Load("report.frx"); + report1.RegisterData(myDataView, "OrdersView"); + + + + + + Registers the application data relation to use it in the report. + + The application data. + The name of the data. + + You may specify any value for the name parameter: it is not displayed anywhere + in the designer and used only to load/save a report. The name must be persistent + and unique for each registered relation. + + + + report1.Load("report.frx"); + report1.RegisterData(myDataRelation, "myRelation"); + + + + + + Obsolete. Registers the application business object to use it in the report. + + Application data. + Name of the data. + Not used. + Maximum nesting level of business objects. + + This method is obsolete. Use the method instead. + + + + + Registers the application business object to use it in the report. + + Application data. + Name of the data. + + + report1.Load("report.frx"); + report1.RegisterData(myBusinessObject, "Customers"); + + + + + + Registers the application business object to use it in the report. + + Application data. + Name of the data. + Maximum nesting level of business objects. + + This method creates initial datasource with specified nesting level. It is useful if + you create a report in code. In most cases, you don't need to specify the nesting level + because it may be selected in the designer's "Choose Report Data" dialog. + + + + + Registers the application cube link to use it in the report. + + The application data. + The name of the data. + + + report1.Load("report.frx"); + report1.RegisterData(myCubeLink, "Orders"); + + + + + + Prepares the report. + + true if report was prepared succesfully. + + + + Prepares the report. + + Specifies whether the new report should be added to a + report that was prepared before. + true if report was prepared succesfully. + + Use this method to merge prepared reports. + + This example shows how to merge two reports and preview the result: + + Report report = new Report(); + report.Load("report1.frx"); + report.Prepare(); + report.Load("report2.frx"); + report.Prepare(true); + report.ShowPrepared(); + + + + + + Prepares the report with pages limit. + + Pages limit. The number of pages equal or less will be prepared. + true if report was prepared succesfully. + + + + For internal use only. + + + + + For internal use only. + + + + + Refresh the current report. + + + Call this method in the Click or MouseUp event handler of a report object to refresh + the currently previewed report. Report will be generated again, but without dialog forms. + + + + + Refresh prepared report after interactive actions. + + + + + Serialize report object from string + + Serialized report object from string + + + + Prepare page + + + + + + Prepare page + + + Flag indicating whether the page is a detail page. + + + + Exports a report. Report should be prepared using the method. + + The export filter. + Stream to save export result to. + + + + Exports a report. Report should be prepared using the method. + + The export filter. + File name to save export result to. + + + + Saves the prepared report. Report should be prepared using the method. + + File name to save to. + + + + Saves the prepared report. Report should be prepared using the method. + + Stream to save to. + + + + Loads the prepared report from a .fpx file. + + File name to load form. + + + + Loads the prepared report from a .fpx file. + + Stream to load from. + + + + Initializes a new instance of the class with default settings. + + + + + Ensure that static constructor is called. + + + + + Create name for all unnamed elements with prefix and start with number + + Prefix for name + Number from which to start + + + + Gets a reference to the report designer. + + + This property can be used when report is designing. In other cases it returns null. + + + + + Indicates whether the report is opened from Cloud or not + + + + + Cloud file info (set if report was opened from Cloud). + + + + + Runs the report designer. + + true if report was modified, otherwise false. + + + + Runs the report designer. + + A value indicates whether the designer should run modally. + true if report was modified, otherwise false. + + + + Runs the report designer. + + The main MDI form which will be a parent for the designer. + true if report was modified, otherwise false. + + + + Prompts user for a password. + + A password if dialog was closed with OK button; otherwise, an empty string. + + + + Gets the email settings such as recipients, subject, message body. + + + + + Gets or sets the report preview control. + + + Use this property to attach a custom preview to your report. To do this, place the PreviewControl + control to your form and set the report's Preview property to this control. + + + + + Gets the print settings such as printer name, copies, pages to print etc. + + + + + + + + + + Prepares the report and prints it. + + + + + Prints the report with the "Print" dialog. + Report should be prepared using the method. + + + + + Prints the report without the "Print" dialog. + Report should be prepared using the method. + + Printer-specific settings. + + Use the following code if you want to show the "Print" dialog, then print: + + if (report.Prepare()) + { + PrinterSettings printerSettings = null; + if (report.ShowPrintDialog(out printerSettings)) + { + report.PrintPrepared(printerSettings); + } + } + + + + + + Prepares the report and shows it in the preview window. + + + + + Prepares the report and shows it in the preview window. + + A value that specifies whether the preview window should be modal. + + + + Prepares the report and shows it in the preview window. + + A value that specifies whether the preview window should be modal. + The owner of the preview window. + + + + Prepares the report and shows it in the preview window. + + The main MDI form which will be a parent for the preview window. + + + + Previews the report. The report should be prepared using the method. + + + + + Previews the prepared report. + + A value that specifies whether the preview window should be modal. + + + + Previews the prepared report. + + A value that specifies whether the preview window should be modal. + The owner of the preview window. + + + + Previews the prepared report. + + The main MDI form which will be a parent for the preview window. + + + + Shows the "Print" dialog. + + Printer-specific settings. + true if the dialog was closed by "Print" button. + + Use the following code if you want to show the "Print" dialog, then print: + + if (report.Prepare()) + { + PrinterSettings printerSettings = null; + if (report.ShowPrintDialog(out printerSettings)) + { + report.PrintPrepared(printerSettings); + } + } + + + + + + Prepares the report and shows it in the provided PreviewControl (async way). + + The preview control. + + + + Prepares the report and shows it in the preview window (async way). + + + + + Prepares the report and shows it in the preview window (async way). + + A value that specifies whether the preview window should be modal. + + + + Prepares the report and shows it in the preview window (async way). + + A value that specifies whether the preview window should be modal. + The owner of the preview window. + + + + Prepares the report and shows it in the preview window (async way). + + The main MDI form which will be a parent for the preview window. + + + + The automatic shift mode. + + + + + Do not shift the object. + + + + + Shift the object up or down if any object above it shrinks or grows. + + + + + Shift the object up or down if any object above it shrinks or grows. + Objects must have overlapped x-coordinates. + + + + + Specifies where to print an object. + + + + + Do not print the object. + + + + + Print the object on the first page. If this flag is not set, the object will not + be printed on the first page. + + + + + Print the object on the last page. If this flag is not set, the object will not + be printed on the last page. You should set the report's double pass option to make + it work correctly. + + + + + Print the object on odd pages only. + + + + + Print the object on even pages only. + + + + + Print the object on band with "Repeat on Every Page" flag when that band is repeated. + + + + + Print the object if the report has single page only. + + + + + Specifies the style properties to use when style is applied. + + + + + Use the fill property of the style. + + + + + Use all style properties. + + + + + Base class for all report objects. + + + + + This event occurs before the object is added to the preview pages. + + + + + This event occurs after the object was added to the preview pages. + + + + + This event occurs after the object was filled with data. + + + + + This event occurs when the user clicks the object in the preview window. + + + + + Gets or sets a value that determines if the object can be exported. + + + + + Gets or sets a string containing expression that determines should be object exported. + + + + + Gets or sets an object's border. + + + + + Gets or sets an object's fill. + + + The fill can be one of the following types: , , + , . + To set the solid fill color, use the simpler property. + + This example shows how to set the new fill and change its properties: + + textObject1.Fill = new SolidFill(Color.Green); + (textObject1.Fill as SolidFill).Color = Color.Red; + + + + + + Gets or sets the fill color in a simple manner. + + + This property can be used in a report script to change the fill color of the object. It is + equivalent to: reportComponent1.Fill = new SolidFill(color); + + + + + Gets or sets a bookmark expression. + + + This property can contain any valid expression that returns a bookmark name. This can be, for example, + a data column. To navigate to a bookmark, you have to use the property. + + + + + Gets or sets a hyperlink. + + + The hyperlink is used to define clickable objects in the preview. + When you click such object, you may navigate to the external url, the page number, + the bookmark defined by other report object, or display the external report. + Set the Kind property of the hyperlink to select appropriate behavior. + Usually you should set the Expression property of the hyperlink to + any valid expression that will be calculated when this object is about to print. + The value of an expression will be used for navigation. + If you want to navigate to + something fixed (URL or page number, for example) you also may set the Value + property instead of Expression. + + + + + Determines if the object can grow. + + + This property is applicable to the bands or text objects that can contain several text lines. + If the property is set to true, object will grow to display all the information that it contains. + + + + + Determines if the object can shrink. + + + This property is applicable to the bands or text objects that can contain several text lines. + If the property is set to true, object can shrink to remove the unused space. + + + + + Determines if the object must grow to the band's bottom side. + + + If the property is set to true, object grows to the bottom side of its parent. This is useful if + you have several objects on a band, and some of them can grow or shrink. + + + + + Gets or sets a shift mode of the object. + + + See enumeration for details. + + + + + Gets or sets the style name. + + + Style is a set of common properties such as border, fill, font, text color. The Report + has a set of styles in the property. + + + + + Gets or sets a style name that will be applied to even band rows. + + + Style with this name must exist in the collection. + + + + + Gets or sets a style name that will be applied to this object when the mouse pointer is over it. + + + Style with this name must exist in the collection. + + + + + Gets or sets a value that determines which properties of the even style to use. + + + Usually you will need only the Fill property of the even style to be applied. If you want to + apply all style settings, set this property to StylePriority.UseAll. + + + + + Gets or sets a value that determines whether to insert the hard page break before processing this object. + + + + + Gets or sets a value that determines where to print the object. + + + See the enumeration for details. + + + + + Gets or sets a script event name that will be fired before the object will be printed in the preview page. + + + + + Gets or sets a script event name that will be fired after the object was printed in the preview page. + + + + + Gets or sets a script event name that will be fired after the object was filled with data. + + + + + Gets or sets a script event name that will be fired when the user click the object in the preview window. + + + + + Determines if the object has custom border and use only Border.Width, Border.Style and + Border.Color properties. + + + This flag is used to disable some toolbar buttons when such object is selected. Applicable to the + ShapeObject and LineObject. + + + + + Determines if the object uses the Border. + + + This flag is used to disable some toolbar buttons when such object is selected. + + + + + Determines if the object uses the fill. + + + This flag is used to disable some toolbar buttons when such object is selected. + + + + + Gets or sets a value indicates that object should not be added to the preview. + + + + + Determines if serializing the Style property is needed. + + + The Style property must be serialized last. Some ancestor classes may turn off the standard Style + serialization and serialize it by themselves. + + + + + Determines if an object can provide the hyperlink value automatically. + + + This flag is used in complex objects such as Matrix or Chart. These objects can provide + a hyperlink value automatically, depending on where you click. + + + + + Gets an object's parent band. + + + + + Gets an object's parent data band. + + + + + Gets or sets an object's cursor shape. + + + This property is used in the preview mode. + + + + + Gets or sets a script event name that will be fired when the user + moves the mouse over the object in the preview window. + + + + + Gets or sets a script event name that will be fired when the user + releases the mouse button in the preview window. + + + + + Gets or sets a script event name that will be fired when the user + clicks the mouse button in the preview window. + + + + + Gets or sets a script event name that will be fired when the + mouse enters the object's bounds in the preview window. + + + + + Gets or sets a script event name that will be fired when the + mouse leaves the object's bounds in the preview window. + + + + + + + + Applies the style settings. + + Style to apply. + + + + Saves the current style. + + + + + Restores the current style. + + + + + Draws the object's background. + + Draw event arguments. + + + + + + + Determines if the object is visible on current drawing surface. + + Draw event arguments. + + + + Validate this object. + + List of errors + + + + + + + + + + + + + This method fires the Click event and the script code connected to the ClickEvent. + + Event data. + + + + + + + Checks if there are any listeners to the Click event. + + + + + Resets the data from the previous report run. + + + + + Initializes the object before running a report. + + + This method is used by the report engine, do not call it directly. + + + + + Performs a finalization after the report is finished. + + + This method is used by the report engine, do not call it directly. + + + + + Saves the object's state before printing it. + + + This method is called by the report engine before processing the object. + Do not call it directly. You may override it if you are developing a new FastReport component. + In this method you should save any object properties that may be changed during the object printing. + The standard implementation saves the object's bounds, visibility, bookmark and hyperlink. + + + + + Restores the object's state after printing it. + + + This method is called by the report engine after processing the object. + Do not call it directly. You may override it if you are developing a new FastReport component. + In this method you should restore the object properties that were saved by the method. + + + + + Calculates the object's height. + + Actual object's height, in pixels. + + Applicable to objects that contain several text lines, such as TextObject. Returns the height needed + to display all the text lines. + + + + + Gets the data from a datasource that the object is connected to. + + + This method is called by the report engine before processing the object. + Do not call it directly. You may override it if you are developing a new FastReport component. + In this method you should get the data from a datasource that the object is connected to. + + + + + + + + This method fires the BeforePrint event and the script code connected to the BeforePrintEvent. + + Event data. + + + + This method fires the AfterPrint event and the script code connected to the AfterPrintEvent. + + Event data. + + + + This method fires the AfterData event and the script code connected to the AfterDataEvent. + + Event data. + + + + Initializes a new instance of the class with default settings. + + + + + + + + + + + + + + + + + Assigns a format from another, similar object. + + Source object to assign a format from. + + + + + + + + + + Draws the object's markers. + + Draw event arguments. + + + + Draws the object's markers. + + Draw event arguments. + Marker style + + + + Draws the intersection indicator. + + Draw event arguments. + + + + + + + + + + + + + This event occurs when the user moves the mouse over the object in the preview window. + + + + + This event occurs when the user releases the mouse button in the preview window. + + + + + This event occurs when the user clicks the mouse button in the preview window. + + + + + This event occurs when the mouse enters the object's bounds in the preview window. + + + + + This event occurs when the mouse leaves the object's bounds in the preview window. + + + + + Copies event handlers from another similar object. + + The object to copy handlers from. + + + + This method fires the MouseMove event and the script code connected to the MouseMoveEvent. + + Event data. + + + + This method fires the MouseUp event and the script code connected to the MouseUpEvent. + + Event data. + + + + This method fires the MouseDown event and the script code connected to the MouseDownEvent. + + Event data. + + + + This method fires the MouseEnter event and the script code connected to the MouseEnterEvent. + + Event data. + + + + This method fires the MouseLeave event and the script code connected to the MouseLeaveEvent. + + Event data. + + + + This method is fired when the user scrolls the mouse in the preview window. + + Event data. + + + + Gets the object's context menu when right-clicked in the preview window. + + Null reference if object does not have a menu. + + + + Holds the list of objects of type. + + + + + Gets or sets the element at the specified index. + + Index of an element. + The element at the specified index. + + + + Initializes a new instance of the class with default settings. + + + + + Initializes a new instance of the class with specified owner. + + + + + Provides data for the event. + + + + + Gets a name of the file to load the report from. + + + + + The reference to a report. + + + + + Initializes a new instance of the class using the specified + file name and the report. + + The name of the file to load the report from. + The report. + + + + Provides data for the event. + + + + + Gets an expression. + + + + + Gets or sets a object. + + + + + The reference to a report. + + + + + Initializes a new instance of the class using the specified + file name and the report. + + The text of expression. + The name of the file to load the report from. + The report. + + + + Represents the method that will handle the event. + + The source of the event. + The event data. + + + + Represents the method that will handle the event. + + The source of the event. + The event data. + + + + Provides data for the Progress event. + + + + + Gets a progress message. + + + + + Gets the current page number. + + + + + Gets the number of total pages. + + + + + Initializes a new instance of the class using the specified + message, page number and total number of pages. + + The progress message. + Current page number. + Number of total pages. + + + + Represents the method that will handle the Progress event. + + The source of the event. + The event data. + + + + Provides data for the DatabaseLogin event. + + + + + Gets or sets the connection string. + + + + + Gets or sets an user name. + + + + + Gets or sets a password. + + + + + Initializes a new instance of the class using the specified + connection string. + + The connection string. + + + + Represents the method that will handle the DatabaseLogin event. + + The source of the event. + The event data. + + + + Provides data for the AfterDatabaseLogin event. + + + + + Gets the DbConnection object. + + + + + Initializes a new instance of the class using + the specified connection. + + The connection object. + + + + Represents the method that will handle the AfterDatabaseLogin event. + + The source of the event. + The event data. + + + + Provides data for the FilterProperties event. + + + + + Gets the property descriptor. + + + + + Gets or sets a value that indicates whether this property should be skipped. + + + + + Represents the method that will handle the FilterProperties event. + + The source of the event. + The event data. + + + + Provides data for the GetPropertyKind event. + + + + + Gets the property name. + + + + + Gets the property type. + + + + + Gets or sets the kind of property. + + + + + Represents the method that will handle the GetPropertyKind event. + + The source of the event. + The event data. + + + + Provides data for the GetTypeInstance event. + + + + + Gets the type. + + + + + Gets or sets the instance of type. + + + + + Represents the method that will handle the GetPropertyKind event. + + The source of the event. + The event data. + + + + Event arguments for custom Export parameters + + + + + Used to set custom export parameters + + + + + Specifies the Save Mode of designed report. + + + + + The saving allowed to all. + + + + + The saving in original place. + + + + + The saving allowed to current user. + + + + + The saving allowed to current role/group. + + + + + The saving allowed with other security permissions. + + + + + The saving not allowed. + + + + + Custom saving rules. + + + + + This class represents the report information such as name, author, description etc. + + + + + Gets or sets the name of a report. + + + + + Gets or sets the author of a report. + + + + + Gets or sets the report version. + + + + + Gets or sets the report description. + + + + + Gets or sets the picture associated with a report. + + + + + Gets or sets the report creation date and time. + + + + + Gets or sets a value indicating that report was modified in the designer. + + + + + Gets or sets a value that determines whether to fill the property + automatically. + + + + + Gets or sets the ratio that will be used when generating a preview picture. + + + + + Gets the version of FastReport that was created this report file. + + + + + Gets or sets the Tag string object for this report file. + + + + + Gets or sets SaveMode property. + + + + + Resets all properties to its default values. + + + + + Initializes a new instance of the class with default settings. + + + + + Represents a report page. + + + To get/set a paper size and orientation, use the , + and properties. Note that paper size is measured in millimeters. + Report page can contain one or several bands with report objects. Use the , + , , , + , , properties + to get/set the page bands. The property holds the list of data bands or groups. + Thus you may add several databands to this property to create master-master reports, for example. + + Report page can contain bands only. You cannot place report objects such as TextObject on a page. + + + + This example shows how to create a page with one ReportTitleBand and DataBand bands and add + it to the report. + + ReportPage page = new ReportPage(); + // set the paper in millimeters + page.PaperWidth = 210; + page.PaperHeight = 297; + // create report title + page.ReportTitle = new ReportTitleBand(); + page.ReportTitle.Name = "ReportTitle1"; + page.ReportTitle.Height = Units.Millimeters * 10; + // create data band + DataBand data = new DataBand(); + data.Name = "Data1"; + data.Height = Units.Millimeters * 10; + // add data band to the page + page.Bands.Add(data); + // add page to the report + report.Pages.Add(page); + + + + + + This event occurs when the report engine create new page. On this stage can be modified page properties. + + + + + This event occurs when the report engine starts this page. + + + + + This event occurs when the report engine finished this page. + + + + + This event occurs when the report engine is about to print databands in this page. + + + + + Gets or sets a width of the paper, in millimeters. + + + + + Gets or sets the page name on export + + + + + Gets or sets a height of the paper, in millimeters. + + + + + Gets or sets the raw index of a paper size. + + + This property stores the RawKind value of a selected papersize. It is used to distinguish + between several papers with the same size (for ex. "A3" and "A3 with no margins") used in some + printer drivers. + It is not obligatory to set this property. FastReport will select the + necessary paper using the PaperWidth and PaperHeight values. + + + + + Gets or sets a value indicating whether the page has unlimited height. + + + + + Gets or sets the value indicating whether the unlimited page should be printed on roll paper. + + + + + Gets or sets a value indicating whether the page has unlimited width. + + + + + Get or set the current height of unlimited page. + + + + + Get or set the current width of unlimited page. + + + + + Gets the current page height in pixels. + + + + + Gets the current page width in pixels. + + + + + Gets or sets a value indicating that page should be in landscape orientation. + + + When you change this property, it will automatically swap paper width and height, as well as paper margins. + + + + + Gets or sets the left page margin, in millimeters. + + + + + Gets or sets the top page margin, in millimeters. + + + + + Gets or sets the right page margin, in millimeters. + + + + + Gets or sets the bottom page margin, in millimeters. + + + + + Gets or sets a value indicating that even pages should swap its left and right margins when + previewed or printed. + + + + + Gets the page columns settings. + + + + + Gets or sets the page border that will be printed inside the page printing area. + + + + + Gets or sets the page background fill. + + + + + Gets or sets the page watermark. + + + To enabled watermark, set its Enabled property to true. + + + + + Gets or sets a value indicating that ReportTitle band should be printed before the + PageHeader band. + + + + + Gets or sets an outline expression. + + + For more information, see property. + + + + + Gets or sets a value indicating whether to start to print this page on a free space of the previous page. + + + This property can be used if you have two or more pages in the report template. + + + + + Gets or sets a value indicating that FastReport engine must reset page numbers before printing this page. + + + This property can be used if you have two or more pages in the report template. + + + + + Gets or sets a value indicating whether the page has extra width in the report designer. + + + This property may be useful if you work with such objects as Matrix and Table. + + + + + Gets or sets a value indicating whether this page will start on an odd page only. + + + This property is useful to print booklet-type reports. Setting this property to true + means that this page will start to print on an odd page only. If necessary, an empty page + will be added to the prepared report before this page will be printed. + + + + + Uses this page as a back page for previously printed pages. + + + + + Gets or sets a report title band. + + + + + Gets or sets a report summary band. + + + + + Gets or sets a page header band. + + + + + Gets or sets a page footer band. + + + + + Gets or sets a column header band. + + + + + Gets or sets a column footer band. + + + + + Gets or sets an overlay band. + + + + + Gets the collection of data bands or group header bands. + + + The Bands property holds the list of data bands or group headers. + Thus you may add several databands to this property to create master-master reports, for example. + + + + + Gets or sets the page guidelines. + + + This property hold all vertical guidelines. The horizontal guidelines are owned by the bands (see + property). + + + + + Gets or sets the reference to a parent SubreportObject that owns this page. + + + This property is null for regular report pages. See the for details. + + + + + Gets or sets a script event name that will be fired when the report engine create new page. + On this stage can be modified page properties. + + + + + Gets or sets a script event name that will be fired when the report engine starts this page. + + + + + Gets or sets a script event name that will be fired when the report engine finished this page. + + + + + Gets or sets a script event name that will be fired when the report engine is about + to print databands in this page. + + + + + Gets or sets the paper source for the first printed page. + + + + This property represents the paper source (printer tray) that will be used when printing + the first page. To set the source for other pages, use + and properties. + + + Note: This property uses the raw number of the paper source. + + + + + + Gets or sets the paper source for all printed pages except the first one. + + + + This property represents the paper source (printer tray) that will be used when printing + all pages except the first one and the last one. To set source for first and last pages, use + and properties. + + + Note: This property uses the raw number of the paper source. + + + + + + Gets or sets the paper source for the last printed page. + + + + This property represents the paper source (printer tray) that will be used when printing + the last page. To set the source for other pages, use + and properties. + + + Note: This property uses the raw number of the paper source. + + + + + + Gets or sets the printer duplex mode that will be used when printing this page. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This method fires the CreatePage event and the script code connected to the CreatePageEvent. + + + + + This method fires the StartPage event and the script code connected to the StartPageEvent. + + + + + This method fires the FinishPage event and the script code connected to the FinishPageEvent. + + + + + This method fires the ManualBuild event and the script code connected to the ManualBuildEvent. + + + + + Updates width of all bands on this page according to page's paper settings. + + + + + Initializes a new instance of the class with default settings. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + + + + Gets a value indicating that imperial units (inches, hundreths of inches) are used. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Invokes the object's editor. + + + + + Specifies the default paper size used when creating a new report. + + + + + A4 paper (210 x 297 mm). + + + + + Letter paper (8.5 x 11 inches, 216 x 279 mm). + + + + + This class contains settings that will be applied to the Report component. + + + + + Occurs when database connection is about to open. + + Use this event to provide own connection string or user name/password to the connection + object that is about to open. + To provide own connection string, set the e.ConnectionString property. + In this case the new connection string will be used. + To provide own user name/password, set the e.UserName and e.Password properties. + You may ask these values in own login dialog. + This example shows how to provide username/password using own login dialog. + + private void report1_DatabaseLogin(object sender, DatabaseLoginEventArgs e) + { + using (MyLoginDialog dialog = new MyLoginDialog()) + { + if (dialog.ShowDialog() == DialogResult.OK) + { + e.UserName = dialog.UserName; + e.Password = dialog.Password; + } + } + } + + This example shows how to provide own connection string. + + private void report1_DatabaseLogin(object sender, DatabaseLoginEventArgs e) + { + e.ConnectionString = my_connection_string; + } + + + + + + Occurs after the database connection is established. + + + + + Occurs when discovering the business object's structure. + + + + + Occurs when determining the kind of business object's property. + + + + + Occurs when discovering the structure of business object of ICustomTypeDescriptor type + with no instance specified. + + + The event handler must return an instance of that type. + + + + + Gets or sets the default script language. + + + + + Gets or sets the default paper size used when creating a new report. + + + + + Gets or sets a value indicating that the business object engine will use property values + when possible to discover the BO structure. + + + + + Gets or sets the default path for root of PictureObject.ImageLocation path. + + + + + Initializes a new instance of the class. + + + + + Occurs before displaying a progress window. + + + + + Occurs after closing a progress window. + + + + + Occurs after printing a report. + + + + + Occurs when progress state is changed. + + + + + Gets or sets a value that determines whether to show the progress window + when perform time-consuming operations such as run, print, export. + + + + + Gets or sets a value that determines whether to show the information about + the report performance (report generation time, memory consumed) in the + lower right corner of the preview window. + + + + + Represents a report summary band. + + + + + This property is not relevant to this class. + + + + + + + + Represents a report title band. + + + + + Specifies a kind of the shape. + + + + + Specifies a rectangle shape. + + + + + Specifies a round rectangle shape. + + + + + Specifies an ellipse shape. + + + + + Specifies a triangle shape. + + + + + Specifies a diamond shape. + + + + + Represents a shape object. + + + Use the property to specify a shape. To set the width, style and color of the + shape's border, use the Border.Width, Border.Style and Border.Color properties. + + + + + Gets or sets collection of values for custom dash pattern. + + + Each element should be a non-zero positive number. + If the number is negative or zero, that number is replaced by one. + + + + + Gets or sets a shape kind. + + + + + Gets or sets a shape curvature if is RoundRectangle. + + + 0 value means automatic curvature. + + + + + + + + + + + + + + Initializes a new instance of the class with default settings. + + + + + + + + + + + + + + Represents a sort condition used in the . + + + + + Gets or sets an expression used to sort data band rows. + + + This property can contain any valid expression. + + + + + Gets or sets a value indicating that sort must be performed in descending order. + + + + + Serializes the class. + + Writer object. + + This method is for internal use only. + + + + + Deserializes the class. + + Reader object. + + This method is for internal use only. + + + + + Initializes a new instance of the class with default settings. + + + + + Initializes a new instance of the class with specified expression. + + + + + Initializes a new instance of the class with specified expression and sort order. + + + + + Represents a collection of sort conditions used in the . + + + + + Gets or sets the element at the specified index. + + Index of an element. + The element at the specified index. + + + + Adds the specified elements to the end of this collection. + + + + + + Adds an object to the end of this collection. + + Object to add. + Index of the added object. + + + + Inserts an object into this collection at the specified index. + + The zero-based index at which value should be inserted. + The object to insert. + + + + Removes the specified object from the collection. + + Object to remove. + + + + Returns the zero-based index of the first occurrence of an object. + + The object to locate in the collection. + The zero-based index of the first occurrence of value within the entire collection, if found; + otherwise, -1. + + + + Determines whether an element is in the collection. + + The object to locate in the collection. + true if object is found in the collection; otherwise, false. + + + + + + + + + + Assigns values from another collection. + + Collection to assign from. + + + + Represents a style. + + + + Style class holds border, fill, text fill and font settings. It can be applied to any report object of + type. + + + The Report object holds list of styles in its property. Each style has + unique name. To apply a style to the report component, set its + property to the style name. + + + + + + Gets or sets a name of the style. + + + The name must be unique. + + + + + + + + + + + Creates exact copy of this Style. + + Copy of this style. + + + + Initializes a new instance of the class with default settings. + + + + + Represents the base class for the report style or the highlight condition. + + + + + Gets or sets a value determines that the border must be applied. + + + + + Gets or sets a value determines that the fill must be applied. + + + + + Gets or sets a value determines that the font must be applied. + + + + + Gets or sets a value determines that the text fill must be applied. + + + + + Gets or sets a border. + + + + + Gets or sets a fill. + + + + + Gets or sets a font. + + + + + Gets or sets a text fill. + + + + + Initializes a new instance of the class with default settings. + + + + + Assigns values from another source. + + Source to assign from. + + + + Deserializes the style. + + Reader object. + + This method is for internal use only. + + + + + Serializes the style. + + Writer object. + + This method is for internal use only. + + + + + Represents a collection of styles used in the . + + + + + Gets or sets the name of the style. + + + + + Gets or sets the element at the specified index. + + Index of an element. + The element at the specified index. + + + + Adds the specified elements to the end of this collection. + + + + + + Adds an object to the end of this collection. + + Object to add. + Index of the added object. + + + + Inserts an object into this collection at the specified index. + + The zero-based index at which value should be inserted. + The object to insert. + + + + Removes the specified object from the collection. + + Object to remove. + + + + Returns the zero-based index of the first occurrence of an object. + + The object to locate in the collection. + The zero-based index of the first occurrence of value within the entire collection, if found; + otherwise, -1. + + + + Returns the zero-based index of the first occurrence of a style with specified name. + + The name to locate in the collection. + The zero-based index of the first occurrence of value within the entire collection, if found; + otherwise, -1. + + + + Determines whether an element is in the collection. + + The object to locate in the collection. + true if object is found in the collection; otherwise, false. + + + + Determines whether a style with specified name is in the collection. + + The style name to locate in the collection. + true if object is found in the collection; otherwise, false. + + + + + + + + + + Saves the collection to a stream. + + Stream to save to. + + + + Saves the collection to a file. + + The name of the file. + + + + Loads the collection from a stream. + + Stream to load from. + + + + Loads the collection from a file. + + The name of the file. + + + + Creates exact copy of this collection. + + The copy of this collection. + + + + Initializes a new instance of the class with default settings. + + + + + Represents a collection of the objects. + + + + + Gets or sets the element at the specified index. + + Index of an element. + The element at the specified index. + + + + Adds the specified elements to the end of this collection. + + + + + + Adds an object to the end of this collection. + + Object to add. + Index of the added object. + + + + Inserts an object into this collection at the specified index. + + The zero-based index at which value should be inserted. + The object to insert. + + + + Removes the specified object from the collection. + + Object to remove. + + + + Returns the zero-based index of the first occurrence of an object. + + The object to locate in the collection. + The zero-based index of the first occurrence of value within the entire collection, if found; + otherwise, -1. + + + + Returns the zero-based index of the first occurrence of a style collection with specified name. + + The style collection name to locate in the collection. + The zero-based index of the first occurrence of value within the entire collection, if found; + otherwise, -1. + + + + Determines whether an element is in the collection. + + The object to locate in the collection. + true if object is found in the collection; otherwise, false. + + + + Determines whether a style collection with specified name is in the collection. + + The style collection name to locate in the collection. + true if object is found in the collection; otherwise, false. + + + + Gets an array containing all collection items. + + An array containing all collection items. + + + + Serializes the collection. + + Writer object. + + This method is for internal use only. + + + + + Deserializes the collection. + + Reader object. + + This method is for internal use only. + + + + + Saves the collection to a stream. + + Stream to save to. + + + + Saves the collection to a file with specified name. + + File name to save to. + + + + Loads the collection from a stream. + + Stream to load from. + + + + Loads the collection from a file with specified name. + + Name of a file. + + + + Represents a subreport object. + + + To create a subreport in code, you should create the report page first and + connect it to the subreport using the property. + + The following example shows how to create a subreport object in code. + + // create the main report page + ReportPage reportPage = new ReportPage(); + reportPage.Name = "Page1"; + report.Pages.Add(reportPage); + // create report title band + reportPage.ReportTitle = new ReportTitleBand(); + reportPage.ReportTitle.Name = "ReportTitle1"; + reportPage.ReportTitle.Height = Units.Millimeters * 10; + // add subreport on it + SubreportObject subreport = new SubreportObject(); + subreport.Name = "Subreport1"; + subreport.Bounds = new RectangleF(0, 0, Units.Millimeters * 25, Units.Millimeters * 5); + reportPage.ReportTitle.Objects.Add(subreport); + // create subreport page + ReportPage subreportPage = new ReportPage(); + subreportPage.Name = "SubreportPage1"; + report.Pages.Add(subreportPage); + // connect the subreport to the subreport page + subreport.ReportPage = subreportPage; + + + + + + Gets or sets a report page that contains the subreport bands and objects. + + + + + Gets or sets a value indicating that subreport must print its objects on a parent band to which it belongs. + + + Default behavior of the subreport is to print subreport objects they own separate bands. + + + + + + + + + + + Initializes a new instance of the class with default settings. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + + + + + + + + + + + + + + + + + + + Specifies the horizontal alignment of a text in the TextObject object. + + + + + Specifies that text is aligned in the left of the layout rectangle. + + + + + Specifies that text is aligned in the center of the layout rectangle. + + + + + Specifies that text is aligned in the right of the layout rectangle. + + + + + Specifies that text is aligned in the left and right sides of the layout rectangle. + + + + + Specifies the vertical alignment of a text in the TextObject object. + + + + + Specifies that text is aligned in the top of the layout rectangle. + + + + + Specifies that text is aligned in the center of the layout rectangle. + + + + + Specifies that text is aligned in the bottom of the layout rectangle. + + + + + The type of text renderer + + + + + The default render + + + + + Render with some html tags and stable logic + + + + + Render with img tags, span etc. Experimental and unstable logic + + + + + Renders a text in a simplest way. For internal use only. + + + + + The format of paragraph + + + + + The first line on each paragraph. + + + + + The distance between lines, not effect if value less then 0 + + + + + The spacing type for distance between line calculation + + + + + The value for a multiplication line height for adding spacing + + + + + Skip the line indent in the first paragraph, for broken paragraphs + + + + + clone with new scale; + + + + + + + The spacing type between lines + + + + + Single spacing, not effect from LineSpacing + + + + + Minimal spacing in exactly size + + + + + The specific distance between the lines, for some exports, does not work if the distance value is too small. + + + + + The calculated distance between lines, for some exports, does not work if the distance value is too small. + + + + + Specifies the behavior of the AutoShrink feature of TextObject. + + + + + AutoShrink is disabled. + + + + + AutoShrink decreases the Font.Size property of the TextObject. + + + + + AutoShrink decreases the FontWidthRatio property of the TextObject. + + + + + Specifies the behavior of the MergeMode feature of TextObject. + + + + + Merge is disabled. + + + + + Allows horizontal merging. + + + + + Allows vertical merging. + + + + + Represents the Text object that may display one or several text lines. + + + Specify the object's text in the Text property. + Text may contain expressions and data items, for example: "Today is [Date]". When report + is running, all expressions are calculated and replaced with actual values, so the text + would be "Today is 01.01.2008". + The symbols used to find expressions in a text are set in the + Brackets property. You also may disable expressions + using the AllowExpressions property. + To format an expression value, use the property. + + + + + Gets or sets a paragraph format for a new html rendering type, not for others rendering + + + + + Gets or sets a value that determines if the text object should handle its width automatically. + + + + + Gets or sets a value that indicates whether the font size should shrink to + display the longest text line without word wrap. + + + To limit the minimum size, use the property. + + + + + Gets or sets the minimum size of font (or minimum width ratio) if the + mode is on. + + + This property determines the minimum font size (in case the property is set to + FontSize), or the minimum font width ratio (if AutoShrink is set to FontWidth). + The default value is 0, that means no limits. + + + + + Gets or sets the horizontal alignment of a text in the TextObject object. + + + + + Gets or sets the vertical alignment of a text in the TextObject object. + + + + + Gets or sets the text angle, in degrees. + + + + + Gets or sets a value that indicates whether the component should draw right-to-left for RTL languages. + + + + + Gets or sets a value that indicates if lines are automatically word-wrapped. + + + + + Gets or sets a value that determines if the text object will underline each text line. + + + + + Gets or sets the font settings for this object. + + + + + Gets or sets a collection of TAB symbol positions, in pixels. Negative values will not affect this property. + + Use collection methods to add or remove TAB positions. + + + + Gets or sets the fill color used to draw a text. + + + Default fill is . You may specify other fill types, for example: + + text1.TextFill = new HatchFill(Color.Black, Color.White, HatchStyle.Cross); + + Use the property to set the solid text color. + + + + + Gets or sets the text outline. + + + + + Gets or sets the text color in a simple manner. + + + This property can be used in a report script to change the text color of the object. It is + equivalent to: textObject1.TextFill = new SolidFill(color); + + + + + Gets or sets the string trimming options. + + + + + Gets or sets the width ratio of the font. + + + Default value is 1. To make a font wider, set a value grether than 1; to make a font narrower, + set a value less than 1. + + + + + Gets or sets the height of single text line, in pixels. + + + + + Gets or sets the offset of the first TAB symbol. Negative value will not affect this property. + + + + + Gets or sets the width of TAB symbol, in pixels. Negative values will not affect this property. + + + + + Gets or sets a value that indicates if text should be clipped inside the object's bounds. + + + + + Gets the collection of conditional highlight attributes. + + + Conditional highlight is used to change the visual appearance of the Text object + depending on some condition(s). For example, you may highlight negative values displayed by + the Text object with red color. To do this, add the highlight condition: + + TextObject text1; + HighlightCondition highlight = new HighlightCondition(); + highlight.Expression = "Value < 0"; + highlight.Fill = new SolidFill(Color.Red); + highlight.ApplyFill = true; + text1.Highlight.Add(highlight); + + + + + + Gets or sets a value that indicates if the text object should display its contents similar to the printout. + + + + + Forces justify for the last text line. + + + + + Allows handling html tags in the text. + + + The following html tags can be used in the object's text: <b>, <i>, <u>, + <strike>, <sub>, <sup>, </b>, </i>, </u>, + </strike>, </sub>, </sup>, + <font color=&...&>, </font>. Font size cannot + be changed due to limitations in the rendering engine. + + + + + Indicates handling html tags in the text. + + To set the value use the TextRenderer property. + + + + The type of text render + + /// + The following html tags can be used in the object's text: <b>, <i>, <u>, + <strike>, <sub>, <sup>, </b>, </i>, </u>, + </strike>, </sub>, </sup>, + <font color=&...&>, </font>. Font size cannot + be changed due to limitations in the rendering engine. + + + + + Gets or sets the paragraph offset, in pixels. For HtmlParagraph use ParagraphFormat.FirstLineIndent. + + + + + Cache for inline images + + + + + Gets or sets a value indicating whether the text should be merged with other nearby text objects. + + + + + + + + Returns StringFormat object. + + Report graphic cache. + StringFormat flags. + StringFormat object. + + + + + + + Returns an instance of html text renderer. + + Scale ratio. + Font scale ratio. + The html text renderer. + + + + Draws a text. + + Paint event data. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Calculates the object's width. + + The width, in pixels. + + + + + + + + + + + + + + + + Initializes a new instance of the class with default settings. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Specifies how to display the duplicate values. + + + + + The TextObject can show duplicate values. + + + + + The TextObject with duplicate value will be hidden. + + + + + The TextObject with duplicate value will be shown but with no text. + + + + + Several TextObject objects with the same value will be merged into one TextObject object. + + + + + Specifies how the report engine processes the text objects. + + + + + Specifies the default process mode. The text object is processed just-in-time. + + + + + Specifies that the text object must be processed when the entire report is finished. This mode + can be used to print grand total value (which is normally calculated at the end of report) in the + report title band. + + + + + Specifies that the text object must be processed when the entire report page is finished. This mode + can be used if the report template consists of several report pages. + + + + + Specifies that the text object must be processed when any report page is finished. This mode + can be used to print the page total (which is normally calculated at the page footer) in the + page header band. + + + + + Specifies that the text object must be processed when the column is finished. This mode + can be used to print the column total (which is normally calculated at the column footer) in the + column header band. + + + + + Specifies that the text object must be processed when the data block is finished. This mode can be + used to print a total value in the data header (which is normally available + in the data footer only). + + + + + Specifies that the text object must be processed when the group is finished. This mode can be + used to print a total value in the group header (which is normally available + in the group footer only). + + + + + Specifies that the text object is processed manually when you call the Engine.ProcessObject + method in the report script. + + + + + Base class for text objects such as and . + + + This class implements common functionality of the text objects. + + + + + Gets or sets a value indicating that the object's text may contain expressions. + + + + + Gets or sets the symbols that will be used to find expressions in the object's text. + + + The default property value is "[,]". As you can see, the open and close symbols are + separated by the comma. You may use another symbols, for example: "<,>" or "<%,%>". + You should use different open and close symbols. + + + + + Gets or sets the object's text. + + + Text may contain expressions and data items, for example: "Today is [Date]". + When report is running, all expressions are calculated and replaced with actual + values, so the text would be "Today is 01.01.2008". + + + + + Gets or sets padding within the text object. + + + + + Gets or sets a value indicating that zero values must be hidden. + + + + + Gets or sets a value that will be hidden. + + + Use this property to specify a value that you would like to hide. For example, specify "0" + if you want to hide zero values, or use property to do this. + You also may use this property to hide default DateTime values (such as 1/1/1900). + In this case you need to specify a string containing both date and time, for example: + "1/1/1900 0:00:00". + + FastReport uses the ToString conversion to compare the expression value with this property. + This conversion depends on regional settings selected in the Control Panel, so be aware of this + if you going to distribute your report worldwide. + + + + + + Gets or sets a string that will be displayed instead of a null value. + + + + + Gets or sets the formatter that will be used to format data in the Text object. + + + The default formatter does nothing, i.e. it shows expression values with no formatting. + To set another formatting, create a new formatter and assign it to this property. + If there are several expressions in the text, use the property + to format each expression value. + + This example shows how to set currency formatter. + + TextObject text1; + text1.Format = new CurrencyFormat(); + + + + + + Gets or sets a value that specifies how the report engine processes this text object. + + + Use this property to perform such task as "print a total value in the group header". Normally, + all total values are calculated in the footers (for example, in a group footer). If you try to print + a total value in the group header, you will get 0. If you set this property to + ProcessAt.DataFinished, FastReport will do the following: + + + print the object (with wrong value); + + + print all related data rows; + + + calculate the correct object's value and replace old (wrong) value with the new one. + + + + This option will not work if you set the to true. + + + + + + Gets the collection of formatters. + + + This property is used to set format for each expression contained in the text. + For example, if the TextObject contains two expressions: + Today is [Date]; Page [PageN] + you can use the following code to format these expressions separately: + + text1.Formats.Clear(); + text1.Formats.Add(new DateFormat()); + text1.Formats.Add(new NumberFormat()); + + + + + + Gets or sets a value that determines how to display duplicate values. + + + + + Gets a value of expression contained in the object's text. + + + + + Gets or sets editable for pdf export + + + + + + + + + + + + + + + + + Returns the text to display. + + The text to display. + This method is used to display simplified DB field names in the designer. In runtime, it returns the Text property value. + + + + Initializes a new instance of the class with default settings. + + + + + + + + + + + + + + Represents text outline. + + + + + Gets or sets a value indicating that outline is enabled. + + + + + Enable or disable draw the outline behind of text. + + + + + Gets or sets the outline color. + + + + + Gets or sets the outline width. + + + + + Specifies the style of an outline. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with specified parameters. + + True if outline enabled. + Outline color. + Outline width. + Outline style. + True if outline should be drawn behind text. + + + + Copies the content of another TextOutline. + + The TextOutline instance to copy the contents from. + + + + Creates the exact copy of this outline. + + Copy of this outline. + + + + Serializes the TextOutline. + + Writer object. + TextOutline property name. + Another TextOutline to compare with. + + + + Contains font management methods and properties. + + + + + Gets all installed font families. + + + This method enumerates all font collections (PrivateFontCollection, TemporaryFontCollection, InstalledFontCollection) + and sorts the result. + + + + + Adds a new substitute font item. + + The original font name, e.g. "Arial" + The alternatives list, e.g. "Ubuntu Sans", "Liberation Sans", "Helvetica" + + Substitute font replaces the original font if it is not present on a machine. + For example, you may define "Helvetica Neue" substitute for "Arial". + + + + + Removes substitute fonts for the given font. + + The original font name, e.g. "Arial" + + + + Clears all substitute fonts. + + + + + Finds a FontFamily by its name in specified font collections. + + The family name, e.g. "Arial". + Search scope. + The FontFamily instance if found; otherwise null. + + + + Finds a FontFamily by its name. + + The family name, e.g. "Arial". + The FontFamily instance if found; otherwise default FontFamily.GenericSansSerif. + + + + Adds a font from the specified file to this collection. + + A System.String that contains the file name of the font to add. + true if the font is registered by application. + + + + Adds a font contained in system memory to this collection. + + The memory address of the font to add. + The memory length of the font to add. + + + + Represents a cache of graphics objects such as pens, brushes, fonts and text formats. + + + Cache holds all used graphics objects. There is no need to dispose objects returned + by GetXXX calls. + + This example demonstrates how to use graphic cache. + + public void Draw(FRPaintEventArgs e) + { + Brush brush = e.Cache.GetBrush(BackColor); + Pen pen = e.Cache.GetPen(BorderColor, 1, BorderStyle); + e.Graphics.FillRectangle(brush, Bounds); + e.Graphics.DrawRectangle(pen, Bounds); + } + + + + + + Gets a pen with specified settings. + + Color of a pen. + Width of a pen. + Dash style of a pen. + The Pen object. + + + + Gets a pen with specified settings. + + Color of a pen. + Width of a pen. + Dash style of a pen. + Line join of a pen. + The Pen object. + + + + Gets a brush with specified color. + + Color of a brush. + The SolidBrush object. + + + + Gets a font with specified settings. + + Family of a font. + Size of a font. + Style of a font. + The Font object. + + + + Gets a string format with specified settings. + + Text alignment information on the vertical plane. + Line alignment on the horizontal plane. + StringTrimming enumeration. + StringFormatFlags enumeration that contains formatting information. + The number of spaces between the beginning of a line of text and the first tab stop. + Distance between tab stops. + The StringFormat object. + + + + Gets a string format with specified settings. + + Text alignment information on the vertical plane. + Line alignment on the horizontal plane. + StringTrimming enumeration. + StringFormatFlags enumeration that contains formatting information. + The number of spaces between the beginning of a line of text and the first tab stop. + Distance between tab stops. + Default distance between default tabs stops. + The StringFormat object. + + + + Disposes resources used by this object. + + + + + Initializes a new instance of the GraphicCache class with default settings. + + + + + Allows working with JsonObject + + + + + Returns child object for JsonArray + + + + + + + Returns child object for JsonObject + + + + + + + Returns count of child object + + + + + Returns true if this object is JsonArray + + + + + Returns true if this object is JsonObject + + + + + Returns list of JsonObject keys + + + + + Pars json text string and return a new JsonBase Object + + + + + + + returns true + + + + + + + Serialize this object to sb + + + + indent in space, 0 = without indent + + + + A strongly typed object that readily casts an intrinsic + object to the other intrinsic types when possible. + + + The Variant class is an intrinsic object container structure + inspired by Visual Basic 6.0's Variant. The key features + of a Variant class include the ability to perform typecasts and + arithmetic between types that are not normally considered compatible. + For example, if a Variant class contains a string describing a + number, such as "1.1", then floating point arithmetic can be + performed on it. + Variants are normally considered dangerous because they + strip away the effectiveness of type safety, which is the + reason why the Visual Basic 6.0 Variant was left out of + Visual Basic .NET. However, this implementation restores the + Variant structure, both as a proof of concept and as a + restoration of the utility and positive merits of the Variant + where it can be used responsibly. + + + + + Creates a strongly typed object that readily casts a primitive + object to the other primitive types when possible. + + + + + The actual value being stored in its original , + returned as an . + + + + + The of the property. + + + + + Returns the for this instance. + + The enumerated constant that is the + of the class or value type that implements this interface. + + + + Returns the string equivalent of the property. + + + + + Attempts to convert or typecast to the specified type. + + The type to convert or cast to. + The object after typecasting. + + + + Attempts to convert or typecast to the specified type. + + The type to convert or cast to. + An + interface implementation that supplies culture-specific formatting information. + The object after typecasting. + + + + Returns true if the property implements + + + + + Returns true if the property + is a numeric intrinsic value. + + + + + Returns true if the property + is a numeric intrinsic value or else can be parsed into + a numeric intrinsic value. + + + + + Returns true if the value is a date or can be parsed into a date. + + + + + Returns true if the value is a TimeSpan. + + + + + If is a , returns + as-is. Otherwise, attempts to convert the value of this instance to + an equivalent value. + + + + + If is a , returns + as-is. Otherwise, attempts to convert the value of this instance to + an equivalent value using the specified culture-specific + formatting information. + + The culture-specific formatting information. + + + + If is a , returns + as-is. Otherwise, attempts to convert the value of this instance + to an equivalent 8-bit unsigned integer. + + + + + If is a , returns + as-is. Otherwise, attempts to convert the value of this instance + to an equivalent 8-bit unsigned integer using the specified + culture-specific formatting information. + + The culture-specific formatting information. + + + + If is a , returns + as-is. Otherwise, attempts to convert the value of this instance + to an equivalent 16-bit signed integer. + + + + + If is a , returns + as-is. Otherwise, attempts to convert the value of this instance to + an equivalent 16-bit signed integer using the specified + culture-specific formatting information. + + The culture-specific formatting information. + + + + If is a , returns + as-is. Otherwise, attempts to convert the value of this instance + to an equivalent 32-bit signed integer. + + + + + If is a , returns + as-is. Otherwise, attempts to convert the value of this instance + to an equivalent 32-bit signed integer using the specified + culture-specific formatting information. + + The culture-specific formatting information. + + + + If is a , returns + as-is. Otherwise, attempts to convert the value of this instance + to an equivalent 64-bit signed integer. + + + + + If is a , returns + as-is. Otherwise, attempts to convert the value of this instance + to an equivalent 64-bit signed integer using the specified + culture-specific formatting information. + + The culture-specific formatting information. + + + + If is a , returns + as-is. Otherwise, attempts to convert the value of this instance + to an equivalent double-precision floating-point number. + + + + + If is a , returns + as-is. Otherwise, attempts to convert the value of this instance + to an equivalent double-precision floating-point number using the + specified culture-specific formatting information. + + The culture-specific formatting information. + + + + If is a , returns + as-is. Otherwise, attempts to convert the value of this instance + to an equivalent single-precision floating-point number. + + + + + If is a , returns + as-is. Otherwise, attempts to convert the value of this instance + to an equivalent single-precision floating-point number using the + specified culture-specific formatting information. + + The culture-specific formatting information. + + + + If is a , returns + as-is. Otherwise, attempts to convert the value of this instance to + an equivalent Decimal number. + + + + + If is a , returns + as-is. Otherwise, attempts to convert the value of this instance to + an equivalent Decimal number using the specified culture-specific + formatting information. + + The culture-specific formatting information. + + + + If is a , returns + as-is. Otherwise, attempts to convert the value of this instance + to an equivalent 8-bit signed integer. + + + + + If is a , returns + as-is. Otherwise, attempts to convert the value of this instance + to an equivalent 8-bit signed integer using the specified + culture-specific formatting information. + + The culture-specific formatting information. + + + + If is a , returns + as-is. Otherwise, attempts to convert the value of this instance + to an equivalent 16-bit unsigned integer. + + + + + If is a , returns + as-is. Otherwise, attempts to convert the value of this instance + to an equivalent 16-bit unsigned integer using the specified + culture-specific formatting information. + + The culture-specific formatting information. + + + + If is a , returns + as-is. Otherwise, attempts to convert the value of this instance + to an equivalent 32-bit unsigned integer. + + + + + If is a , returns + as-is. Otherwise, attempts to convert the value of this instance + to an equivalent 32-bit unsigned integer using the specified + culture-specific formatting information. + + The culture-specific formatting information. + + + + If is a , returns + as-is. Otherwise, attempts to convert the value of this instance + to an equivalent 64-bit unsigned integer. + + + + + If is a , returns + as-is. Otherwise, attempts to convert the value of this instance + to an equivalent 64-bit unsigned integer using the specified + culture-specific formatting information. + + The culture-specific formatting information. + + + + If is a , returns + as-is. Otherwise, attempts to convert the value of this instance to + an equivalent DateTime. + + + + + If is a , returns + as-is. Otherwise, attempts to convert the value of this instance to + an equivalent DateTime using the specified culture-specific + formatting information. + + The culture-specific formatting information. + + + + If is a , returns + as-is. Otherwise, attempts to convert the value of this instance to + an equivalent TimeSpan. + + + + + If is a , returns + as-is. Otherwise, attempts to convert the value of this instance to + an equivalent TimeSpan using the specified culture-specific + formatting information. + + The culture-specific formatting information. + + + + If is a , returns + as-is. Otherwise, attempts to convert the value of this instance to + an equivalent DateTimeOffset. + + + + + If is a , returns + as-is. Otherwise, attempts to convert the value of this instance to + an equivalent DateTimeOffset using the specified culture-specific + formatting information. + + The culture-specific formatting information. + + + + If is a , returns + as-is. Otherwise, attempts to convert the value of this instance + to an equivalent Unicode character. + + + + + If is a , returns + as-is. Otherwise, attempts to convert the value of this instance + to an equivalent Unicode character using the specified + culture-specific formatting information. + + The culture-specific formatting information. + + + + Addition operator. + + + If the value on the right is a + or a , + the Variant is converted to a string and appended. + If the value on the right or the Variant + is a , arithmetic + is performed on the property and the + resulting value is set to the DateTime type. + Otherwise, if the value on the right is a number, both + the Variant and the value on the right are + converted to a , the arithmetic + is performed, and the resulting value is converted back to the + original type that the Variant previously represented. + If the type that the Variant previously represented + cannot contain the resulting value--such as if the type is a + and the value is -12--then the + type will be converted to a type that can contain + the value, such as . + + + + A new containing the resulting value. + + + + Subtraction operator. + + + If the value on the right or the Variant + is a , arithmetic + is performed on the property and the + resulting value is set to the DateTime type. + Otherwise, if the value on the right is a number, both + the Variant and the value on the right are + converted to a , the arithmetic + is performed, and the resulting value is converted back to the + original type that the Variant previously represented. + If the type that the Variant previously represented + cannot contain the resulting value--such as if the type is a + and the value is -12--then the + type will be converted to a type that can contain + the value, such as . + + + + A new containing the resulting value. + + + + Unary minus operator. + + + + + Greater than operator. + + + + + Greater than or equal operator. + + + + + Less than operator. + + + + + Less than or equal operator. + + + + + Multiplication operator. + + + If the value on the right or the Variant + is a , arithmetic + is performed on the property and the + resulting value is set to the DateTime type. + Otherwise, if the value on the right is a number, both + the Variant and the value on the right are + converted to a , the arithmetic + is performed, and the resulting value is converted back to the + original type that the Variant previously represented. + If the type that the Variant previously represented + cannot contain the resulting value--such as if the type is a + and the value is -12--then the + type will be converted to a type that can contain + the value, such as . + + + + A new containing the resulting value. + + + + Division operator. + + + If the value on the right or the Variant + is a , arithmetic + is performed on the property and the + resulting value is set to the DateTime type. + Otherwise, if the value on the right is a number, both + the Variant and the value on the right are + converted to a , the arithmetic + is performed, and the resulting value is converted back to the + original type that the Variant previously represented. + If the type that the Variant previously represented + cannot contain the resulting value--such as if the type is a + and the value is -12--then the + type will be converted to a type that can contain + the value, such as . + + + + A new containing the resulting value. + + + + Modulus operator. + + + If the value on the right or the Variant + is a , arithmetic + is performed on the property and the + resulting value is set to the DateTime type. + Otherwise, if the value on the right is a number, both + the Variant and the value on the right are + converted to a , the arithmetic + is performed, and the resulting value is converted back to the + original type that the Variant previously represented. + If the type that the Variant previously represented + cannot contain the resulting value--such as if the type is a + and the value is -12--then the + type will be converted to a type that can contain + the value, such as . + + + + A new containing the resulting value. + + + + Bitwise And operator. + + + If the value on the right or the Variant + is a , arithmetic + is performed on the property and the + resulting value is set to the DateTime type. + Otherwise, if the value on the right is a number, both + the Variant and the value on the right are + converted to a , the arithmetic + is performed, and the resulting value is converted back to the + original type that the Variant previously represented. + If the type that the Variant previously represented + cannot contain the resulting value--such as if the type is a + and the value is -12--then the + type will be converted to a type that can contain + the value, such as . + + + + A new containing the resulting value. + + + + Bitwise Or operator. + + + If the value on the right or the Variant + is a , arithmetic + is performed on the property and the + resulting value is set to the DateTime type. + Otherwise, if the value on the right is a number, both + the Variant and the value on the right are + converted to a , the arithmetic + is performed, and the resulting value is converted back to the + original type that the Variant previously represented. + If the type that the Variant previously represented + cannot contain the resulting value--such as if the type is a + and the value is -12--then the + type will be converted to a type that can contain + the value, such as . + + + + A new containing the resulting value. + + + + Inequality operator. + + + + + The opposite of == + + + + + Equality operator. + First attempts to compare the left value after + temporarily converting it to the type of the right value. + If the conversion cannot occur, such as if the value is not an + intrinsic value type, the comparison occurs at the + level using Object.Equals. + + + + + + + + Equality operator. + + + + + + + + Equality operator. + + + + + + + + Returns property unless the value on the right + is null. If the value on the right is null, returns "". + + + + + + Converts the value of this instance to an equivalent + using the specified culture-specific formatting information. + + + + + + + See . + + + + + + See . + + + + + + + Converts an object to a boolean. + For any type, if null, returns false. + For Boolean: true/false. + For String: "", "false", "0", etc. == false; + "1", "true", etc. == true, else true. + For numeric intrinsics: 0 == false, else true. + For any other non-null object, returns true. + + The string to be converted + The boolean value of this string. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Specifies the watermark image size mode. + + + + + Specifies the normal (original) size. + + + + + Specifies the centered image. + + + + + Specifies the stretched image. + + + + + Specifies the stretched image that keeps its aspect ratio. + + + + + Specifies the tiled image. + + + + + Specifies the watermark text rotation. + + + + + Specifies a horizontal text. + + + + + Specifies a vertical text. + + + + + Specifies a diagonal text. + + + + + Specifies a backward diagonal text. + + + + + Represents the report page watermark. + + + Watermark can draw text and/or image behind the page objects on in front of them. To enable + watermark, set its Enabled property to true. + + + + + Gets or sets avalue indicating that watermark is enabled. + + + + + Gets or sets the watermark image. + + + + + Gets or sets the watermark image size mode. + + + + + Gets or sets an image transparency. + + + Valid values are 0..1. 1 means totally transparent image. + + + + + Gets or sets the watermark text. + + + + + Gets or sets a font of the watermark text. + + + + + Gets or sets a text fill. + + + + + Gets or sets a text rotation. + + + + + Gets or sets a value indicates that the text should be displayed on top of all page objects. + + + + + Gets or sets a value indicates that the image should be displayed on top of all page objects. + + + + + + + + + + Draws watermark image. + + + + + + + + + Draws watermark text. + + + + + + + + + Serializes the watermark. + + Writer object. + The watermark property name. + Another Watermark object to compare with. + + This method is for internal use only. + + + + + Disposes resources used by the watermark. + + + + + Assigns values from another source. + + Source to assign from. + + + + Creates exact copy of this Watermark. + + Copy of this watermark. + + + + Initializes a new instance of the class with default settings. + + + + + Represents a zip code object. + + + This object is mainly used in Russia to print postal index on envelopes. It complies with the + GOST R 51506-99. + + + + + Gets or sets the width of a single zipcode segment, in pixels. + + + + + Gets or sets the height of a single zipcode segment, in pixels. + + + + + Gets or sets the spacing between origins of segments, in pixels. + + + + + Gets or sets the number of segments in zipcode. + + + + + Gets or sets a value indicating whether the reference markers should be drawn. + + + Reference markers are used by postal service to automatically read the zipcode. + + + + + Gets or sets a value indicating whether the segment grid should be drawn. + + + + + Gets or sets a data column name bound to this control. + + + Value must be in the form "Datasource.Column". + + + + + Gets or sets an expression that contains the zip code. + + + + + Gets or sets the zip code. + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the with the default settings. + + + + + + + + + + + + + + + + + + + + The FastReport dll assembly initializer. + + + + + Registers all core objects, wizards, export filters. + + + + + The class for representing visible digital signature in the report. + + + + + Specifies the image format in SVG export. + + + + + Specifies the .png format. + + + + + Specifies the .jpg format. + + + + + Drawing objects to a svg + + + + + For setting namespace, clear all attributes on setting, therefore use this property before setting other svg options + + + + + Initialize a new Graphics for SVG, it's rendered to xml, layer by layer, not one image, + set the Size of this graphics in Size property + + + + + Sets or gets prefix for style and object ids + + + + + Font descriptor + + + + + Indicates that the point is the start of a figure. + + + + + Indicates that the point is one of the two endpoints of a line. + + + + + Indicates that the point is an endpoint or control point of a cubic Bézier spline. + + + + + Masks all bits except for the three low-order bits, which indicate the point type. + + + + + Specifies that the point is a marker. + + + + + Specifies that the point is the last point in a closed subpath (figure). + + + + + FontHeader table + + + + + Creates a new instance of the class. + + TrueType raw data stream + Keep open raw data stream after disposing FontStream + + + + FastName of font stream + + + + + Define type of font file + + + + + Classic TrueType font + + + + + Collection of TrueType fonts + + + + + OpenType font format + + + + + + + + GlyphSubstitution table + + + + + Stream position must point to lookup record + + + + + + + Return true if was applied + + + + + + + + + Return coverageIndex for ApplyForce or if fail then return -1 + + + + + + + + Apply this Substitution with specified coverageIndex, cant be called only after IsApply + + + + + + + + + Table with encoded glyphs' outline + + + + + HorizontalMetrix table + + + + + IndexToLocation table + + + + + Kerning table + + + + + MaximumProfile table + + + + + Name table keep human friendly description about font properties, including font names, author and copyright notes + + + + + Font header + + + + + Font name same as System.Drawing.Font.Name in modern Windows + + + + + Font name same as System.Drawing.Font.FontFamily.Name in modern Windows + + + + + This format found in Microsoft Windows Server 2016 + + + + + Adobe font name + + + + + Stream with raw font data. + + + + + OS/2 and Windows Metrics table + + + + + Description of FontTextMetric structure + + + + + Description of FontPanose structure + + + + + Request font file + + System.Drawing.Font object + System/IO.Stream object + + + + Get full path to a font file by it's identifier + + font name with attributes + path to a font file + + + + assign full path to a font file to it's identifier + + font name with attributes + path to a font file + + + + Request font file location + + + + + Request font file location + + + + + Register font file + + + + + Will be removed soon + + + + + Different caching strategies + + + + + Progress callback type definition + + Progress information + + + + Progress callback event + + + + + Open and parse TrueType file + + + + + + + + Find all fonts files in directory and it's subdirectories + + Directory where find fond files + Defines file which collect found fonts + + + + Workaround function for avoid font duplicates + + Internal font structure + This parameter defines path to font file if file append to hash. Not used otherwise + + + + Parse raw image of font data and create TrueTypeFont objects from this image + + Pointer to cached stream of font bytes + + + + + + Build list of fonts + + Optional path to font.list folder. + + + + Enumerate available fonts + + + + + TrueTypeFont object + + + + + Expected default behaviour as version 2020.3 + + + + + We use dictionary and pack "Index To Location" table (reorder glyph indexes) + + + + + Get or set current script + + + + + Get or set current Language + + + + + Get available scripts + + + + + Get available languages for script + + + + + + + Get available features for language and script + + + + + + + + Prepare tables for drawing, subsetting and so on + + always true + + + + Return raw image of the font + + Array of font bytes + + + + Return full raw image of the font + + Array of font bytes + + + + Cut some information from TTF file to reduce its size + + Alphabet subset dictionary + Describes how to pack font + + + + + Parse font supplement tables which store properties of the font + + + + + Create glyph outline assigned to specific position + + unicode character which will be drawn + size of the character + position of outline + outline of character + + + + Get glyph's outline + + unicode charter + outline image size + + + + + Constructor of TrueTypeFont object + + Strean with font + Disposition of subfont within collection file. Non-zero for font collections + + + + Description of SCRIPT_STATE structure + + + + + data + + + + + uBidiLevel + + + + + SetRtl + + + + + Description of SCRIPT_ANALYSIS structure + + + + + data + + + + + state + + + + + Description of SCRIPT_CONTROL structure + + + + + data + + + + + Description of SCRIPT_DIGITSUBSTITUTE structure + + + + + NationalDigitLanguage + + + + + TraditionalDigitLanguage + + + + + DigitSubstitute + + + + + dwReserved + + + + + Description of SCRIPT_ITEM structure + + + + + iCharPos + + + + + analysis + + + + + Description of SCRIPT_VISATTR structure + + + + + data + + + + + Description of GOFFSET structure + + + + + du + + + + + dv + + + + + Description of ABC structure + + + + + abcA + + + + + abcB + + + + + abcC + + + + + Description of FontRect structure + + + + + Description of FontPoint structure + + + + + Description of OutlineTextMetric structure + + + + + Emulation of Uniscribe GetOutlineTextMetrics + + Reference to metric structure + + + + Translate text to positions of glyphs in glyph tables and glyphs width + + + size in px + + + + + + + + + Destructor of TrueTypeFont object + + + + + Create outline for group of characters + + text as array of glyph's indexes + position of text + font size + text in form of outline vectors + + + + Create outline for text string + + text which will be transformed to outline + position of text + font size in px + text in form of outline vectors + + + + + + + Base class which is parent of any table in TrueType font or collection + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Internal representation of RichText document + + + + + This class represents a RTF run. + + + + + Insert paragraph into list of paragraphs + + + + + Insert row into list of paragraphs + + + + + This class represents a RTF properies. + + + + + This class parses an entiry RTF document. + + + + + + + + + + + + + + + + + Get RTF structure based on range of elements + + + + + RichText document object + + + + + Save RTF document to text stream + + + + + This class represents a RTF document header. + + + Refer to RTF-1.7 spec for detail description + + + + + Parser of RTF header. + + + Return false on finish of header + + + + + This class represents a RTF text paragraph. + + + + + This class detect a RTF control sequences and text. + + + + + This class represents a RTF column description. + + + + + + Create RTF row + + + + + + + Save RTF document to plain text stream + + + + + The FastReport.dll assembly initializer. + + + + + Registers all standard objects, wizards, export filters. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Service for working with auth in the Fast Report. + + + + + Instance of default Service. + + + + + Gets or sets indicator to enable or disable personalisation service + + + + + Setting of the service. + + + + + User of the service. + + + + + If FastReport.config contains information about custom server and api-key to it, + this method will reset inner instance with that data. Otherwise default server + will be set. + + + The method creates an sign in link. + + + + + + The method creates an sign out link. + + + + + + Returns true, if user has offline_access scope and refresh_token is not null + + + + + If possible, the method updates the user credentials. + + True if success + + + + The method resets auth, without sign out process. + + + + + The method shows sign in form and auth the user. + + + + + The method shows sign out form and resets the user credentials. + + + + + Do not make this method public, use refresh token for save-load.
+ You need only refresh token () to get a new token set.
+ This method is used to save time for starting a designer. +
+
+ + + Class for store appsettings, by default appsettings is hardcoded. + + + + + Authorization Endpoint from the OAuth2 specification. + + + + + Host for callback requests. + + + + + Client identifier or client name from the OAuth2 specification. + + + + + Client secret or client name from the OAuth2 specification. + + + + + Code challenge method from the OAuth2 specification. + + + + + EndSession Endpoint from the OAuth2 specification. + + + + + Host for sign in requests + + + + + JSON Web Key Set Endpoint from the OAuth2 specification. + + + + + Error result + + + + + Redirent sign in link for this application. + + + + + Redirent sign out link for this application. + + + + + Success result + + + + + Type of the reponse from the OAuth2 specification. + + + + + Scopes for the request from the OAuth2 specification, splited by space. + + + + + Token Endpoint from the OAuth2 specification. + + + + + Avatar of the user, by default is 150x150 picture. + + + + + Returns the display avatar of the user, cannot return null + + + + + + Returns the display email of the user, cannot return null + + + + + + Returns the display name of the user, cannot return null + + + + + + Email of the user. + + + + + Local time when the token will go out. + + + + + Full name of the user. + + + + + Returns true if user is authenticated. + + + + + Returns true if token is expired and is need to referesh + + + + + Indicates that token is check by external method, see for details. + + + + + List of allowed scopes. + + + + + Identifier of the user. + + + + + Type of token for resource request header, e.g. Bearer. + + + + + Preferred username of the user. + + + + + User's api key. + + + + + Local time when the token needs to be updated. + + + + + Reset the values + + + + + Specifies an origin where the new objects inserted from. + + + + + Specifies that a new object was inserted from the "Objects" toolbar or "Insert" menu. + + + + + Specifies that a new object was dragged from the "Dictionary" window. + + + + + Specifies that a new object was pasted from the clipboard. + + + + + This class represents the context menu of the . + + + This class adds the "Can Break" menu item to the component context menu. + + + + + The "Can Break" menu item. + + + + + Initializes a new instance of the BreakableComponentMenu class with default settings. + + + + + Represents proxy settings of the cloud storage. + + + + + Gets or sets the type of proxy. + + + + + Gets or sets the proxy server. + + + + + Gets or sets the port number of proxy server. + + + + + Gets or sets the username. + + + + + Gets or sets the user's password. + + + + + Initializes a new instance of the class. + + The type of proxy. + The proxy server. + The port number of server. + The username. + The user's password. + + + + Represents the type of rpoxy. + + + + + The HTTP proxy type. + + + + + The SOCKS4 proxy type. + + + + + The SOCKS5 proxy type. + + + + + Mode of opening form: opening mode or saving mode + + + + + Mode of viewing reports: .frx or .fpx + + + + + Number of folder and files, that have to be skipped + + + + + Number of folder and files, that have to be returned + + + + + Id of subscription with data sources + + + + + Number of folder and files, that have to be skipped + + + + + Number of folder and files, that have to be returned + + + + + Indicates a field to sort by + + + + + Indicates if sorting is descending + + + + + Default search options pattern + + + + + Represents an HTTP request method. + + + + + GET request method. + + + + + POST request method. + + + + + PUT request method. + + + + + DELETE request method. + + + + + Static class that contains HTTP utilities. + + + + + Encodes the URL string. + + The URL string. + The encoded URL string. + + + + Encodes the dictionary with URL parameters. + + The dictionary with parameters. + The encoded string. + + + + Decodes the URL string. + + The URL string. + The decoded URL string. + + + + API for OAuth protocol. + + + + + Builds signed URL. + + The base token URL. + The HTTP method. + The consumer context. + The request token. + Signed URL. + + + + Represents the signature method. + + + + + Signature method PLAINTEXT. + + + + + Signature method HMAC-SHA1. + + + + + Signature method RSA-SHA1. + + + + + Represents the consumer. + + + + + Gets the consumer key. + + + + + Gest the consumer secret. + + + + + Gets the consumer's signature method. + + + + + Initializes a new instance of the class. + + The consumer key. + The consumer secret. + + + + Represents parser for parse OAuth responses. + + + + + Parses token information in stream. + + The stream for parse. + The OAuth token. + + + + Parses token information in stream for SkyDrive. + + The stream for parse. + The SkyDrive access token. + + + + Parses token information in stream for Google Drive. + + The stream for parse. + The Google Drive access token. + + + + Parses token information in stream for FastCloud. + + The stream for parse. + The FastCloud access token. + + + + Represents the service provider. + + + + + Gets the request token URL. + + + + + Gets the user authorization URL. + + + + + Gets the callback URL. + + + + + Gets the access token URL. + + + + + Initializes a new instance of the class with a specified parameters. + + The request token URL. + The user authorization URL. + The callback URL. + The access token URL. + + + + Represents the OAuth token credentials. + + + + + Gets the token key. + + + + + Gets the token secret. + + + + + Initializes a new instance of the class. + + The token key. + The token secret. + + + + Represents the user. + + + + + Represents the parameter of http request. + + + + + Gets the name of a request parameter. + + + + + Gets the value of a request parameter. + + + + + Initializes a naw instance of the class with a specified parameters. + + The name of a request parameter. + The value of a request paramter. + + + + Comparer class for comparing request parameters. + + + + + + + + Provides utils for the web request. + + + + + Sets proxy settings for web request. + + The web request. + The cloud proxy settings. + + + + Box cloud storage client. + + + + + Gets or sets the client info. + + + + + Gets or sets the authorization code. + + + + + Gets or sets the access token. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The storage client info. + + + + Initializes a new instance of the class. + + Client ID. + Client Secret. + + + + + + + Gets the authorization URL. + + The authorization URL stirng. + + + + Gets the access token. + + The access token string. + + + + Represents form of Box storage client. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The information about Box client application. + The report template. + + + + + + + + + + + + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Represents the Client Info dialog form. + + + + + Gets the client ID. + + + + + Gets the client secret. + + + + + Initializes a new instance of the class. + + + + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Represents form of the web browser. + + + + + Gets obtained authorization code. + + + + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + The base class for all cloud storage clients. + + + + + Gets or sets the filename. + + + + + Gets or set the information is user authorized or not. + + + + + Gets or sets the proxy settings of a client. + + + + + Initializes a new instance of the class. + + + + + Prepares report before it will be saved to cloud storage. + + The report template. + The export filter. + Memory stream that contains prepared report. + + + + Creates a MemoryStream instance using a Stream instance. + + The Stream instance that should be converted. + The MemoryStream instance. + + + + Saves a memory stream to cloud. + + The memory stream that should be saved. + + + + Saves the report to cloud storage. + + The report template that should be saved. + The export filter that should export template before. + + + + + Saves the stream to cloud storage. + + The stream that contains report. + The filename in which stream will be saved in cloud. + + + + Represents form of Dropbox storage client. + + + + + Gets or sets the report template. + + + + + Gets or sets the list of exports. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The report template. + + + + Initializes the list of exports. + + + + + Gets the proxy settings. + + The proxy settings. + + + + Initializes the component. + + + + + Checks is the string numeric. + + The checking string. + True if string is numeric, otherwise false. + + + + Finishes the form work. + + Returns true if work has been successfully finished, otherwise false. + + + + + + + SelectedIndexChanged event handler for ComboBox File Type. + + Event sender. + Event args. + + + + Click event handler for Button Settings. + + Event sender. + Event args. + + + + Shows a dialog window. + + Modal result. + + + + FormClosing event handler for CloudStorageClientForm. + + Event sender. + Event args. + + + + Click event handler for button OK. + + Event sender. + Event args. + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Page File. + + + + + Page Proxy. + + + + + ComboBox File Type. + + + + + Label File Type. + + + + + Buttons Settings. + + + + + Label Colon. + + + + + Label Password. + + + + + Label Username. + + + + + Label Server. + + + + + TextBox Username. + + + + + TextBox Port. + + + + + TextBox Server. + + + + + TextBox Password. + + + + + PageControl. + + + + + Represents the Application Info diabolg form. + + + + + Gets the access token. + + + + + Initializes a new instance of the class. + + + + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Dropbox cloud storage client. + + + + + The base URL for files_put command. + + + + + Gets or sets the application access token. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The Dropbox application access token. + + + + + + + Represents form of Dropbox storage client. + + + + + Initializes a new instance of the class. + + The Dropbox access token. + The report template. + + + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + FastCloud storage client. + + + + + Gets or sets the access token. + + + + + Gets the report URL that can be used to download report from cloud. + + + + + Initializes a new instance of the class. + + + + + + + + Gets the access token. + + The access token string. + + + + Represents form of FastCloud storage client. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The report template. + + + + + + + + + + + + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Represents form of FastCloud storage client. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The report template. + + + + Checks is the string numeric. + + The checking string. + True if string is numeric, otherwise false. + + + + Gets the proxy settings. + + The proxy settings. + + + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + FTP storage client. + + + + + Gets or sets the FTP server. + + + + + Gets or sets the username. + + + + + Gets or sets the password. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The FTP server. + The username. + The password. + + + + + + + Represents form of the FTP storage client. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The FTP server. + The username. + The password. + The report template. + + + + + + + + + + + + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Represents the Client Info diabolg form. + + + + + Gets the client ID. + + + + + Gets the client secret. + + + + + Gets the client Auth key. + + + + + Initializes a new instance of the class. + + + + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Google Drive cloud storage client. + + + + + Gets or sets the client info. + + + + + Gets or sets the authorization code. + + + + + Gets or sets the access token. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The storage client info. + + + + Initializes a new instance of the class. + + Client ID. + Client Secret. + + + + + + + Gets the authorization URL. + + The authorization URL stirng. + + + + Gets the access token. + + The access token string. + + + + Represents form of Google Drive storage client. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The information about Google Drive client application. + The report template. + + + + + + + + + + + + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Represents form of the web browser. + + + + + Gets obtained authorization code. + + + + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Represents the Client Info diabolg form. + + + + + Initializes a new instance of the class. + + + + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Simple Storage Service client. + + + + + Gets or sets bucket where will saved export. + + + + + Gets or sets filename. + + + + + Gets or sets host S3. + + + + + + + + Get list of buckets names. + + List of buckets names + + + + Initialize signer. + + Access key ID + Secret access key + Service region + + + + Represents form of SkyDrive storage client. + + + + + Initializes a new instance of the class. + + The report template. + + + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Class for request sign to S3. Doc + + + + + Calculate hash sha256 of content and convert it to hexadecimal string. This string will be returned and written to x-amz-content-sha256 header. + + Request to which header will be added + Stream with content of request + String containing the encrypted and hexadecimal stream of the request content + + + + Represents the information about SkyDrive application. + + + + + Gets or sets the client name. + + + + + Gets or sets the client ID. + + + + + Gets or sets the client secret. + + + + + Initializes a new instance of the class. + + The client name. + The client ID. + The client secret. + + + + Represents the Client Info diabolg form. + + + + + Gets the client ID. + + + + + Gets the client secret. + + + + + Initializes a new instance of the class. + + + + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + SkyDrive cloud storage client. + + + + + Gets or sets the client info. + + + + + Gets or sets the authorization code. + + + + + Gets or sets the access token. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The client info. + + + + Initializes a new instance of the class. + + Client ID. + Client Secret. + + + + + + + Gets the authorization URL. + + The authorization URL string. + + + + Gets the access token. + + The access token value. + + + + Represents form of SkyDrive storage client. + + + + + Initializes a new instance of the class. + + The SkyDrive client info. + The report template. + + + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Represents form of the web browser. + + + + + Gets obtained authorization code. + + + + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Represents the base form for cloud storage web browsers. + + + + + Gets or sets the url string. + + + + + Initizlizes a new instance of the class. + + + + + Initializes a new instance of the class. + + The url string. + + + + Handle the web browser form shown event. + + The event sender. + The event args. + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + The web browser component. + + + + + The base class for the context menu of the report component. + + + This class represents a context menu of the report component that is displayed when the object + is right-clicked in the designer. This class implements the following actions: Edit, Cut, Copy, + Paste, Delete, Bring to Front, Send to Back. + + + + + The "Name" menu item. + + + + + The "Edit" menu item. + + + + + The "Cut" menu item. + + + + + The "Copy" menu item. + + + + + The "Paste" menu item. + + + + + The "Delete" menu item. + + + + + The "BringToFront" menu item. + + + + + The "SendToBack" menu item. + + + + + Initializes a new instance of the ComponentBaseMenu class with default settings. + + The reference to a report designer. + + + + Specifies the shape of the CrossBandObject. + + + + + Specifies the vertical line shape. + + + + + Specifies the rectangle shape. + + + + + Represents an object that can be printed across several bands. + + + + + Gets or sets the object's shape. + + + + + + + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the class with the default settings. + + + + + Class represent a smart tag that is used to choose a data column. + + + + + Gets or sets the data column name. + + + + + + + + Gets a root datasource for the object currently edited. + + The DataSourceBase object if found; null otherwise. + + + + Initializes a new instance of the class with default settings. + + Report object that owns this smart tag. + + + + Represents a smart tag that is used to choose a data source. + + + + + Gets or sets a data source. + + + + + + + + Initializes a new instance of the class with default settings. + + Report object that owns this smart tag. + + + + Contains the email settings such as recipient(s) address, name, subject, message body. + + + + + + + Gets or sets the recipient(s) email addresses. + + + This property contains one or several email addresses in the following form: "john@url.com". + + + + + Gets or sets the message subject. + + + + + Gets or sets the message body. + + + + + Copies email settings from another source. + + Source to copy settings from. + + + + Resets all settings to its default values. + + + + + Initializes a new instance of the class with default settings. + + + + + This class contains some global settings that used in the FastReport.Net. + + + This component is intended for use in the Visual Studio IDE to quickly configure + FastReport global settings. To use it, drop the component on your Form and set up + its properties and events. + Here are some common actions that can be performed with this object: + + + To define own open/save dialogs that will be used in the report designer, + use the , , + , events; + + + + To pass connection string to the connection object defined in a report, + or to define own database login dialog, use the event; + + + + To adjust the connection object after it is opened, + use the event; + + + + To define own progress window, use the , + and events; + + + + To setup some common properties of the report, designer and preview, + use properties defined in this class; + + + + To set UI style of the designer and preview window, + use property. + + + + This component actually uses the static class which + contains , and + properties. You can use Config class as well. + + + + + Gets or sets the UI style of the designer and preview windows. + + + This property affects both designer and preview windows. + + + + + Indicates whether the Ribbon-style window should be used. + + + + + Occurs before displaying a progress window. + + + + + Occurs after closing a progress window. + + + + + Occurs when progress state is changed. + + + + + Occurs when database connection is about to open. + + Use this event to provide own connection string or user name/password to the connection + object that is about to open. + To provide own connection string, set the e.ConnectionString property. + In this case the new connection string will be used. + To provide own user name/password, set the e.UserName and e.Password properties. + You may ask these values in own login dialog. + This example shows how to provide username/password using own login dialog. + + private void report1_DatabaseLogin(object sender, DatabaseLoginEventArgs e) + { + using (MyLoginDialog dialog = new MyLoginDialog()) + { + if (dialog.ShowDialog() == DialogResult.OK) + { + e.UserName = dialog.UserName; + e.Password = dialog.Password; + } + } + } + + This example shows how to provide own connection string. + + private void report1_DatabaseLogin(object sender, DatabaseLoginEventArgs e) + { + e.ConnectionString = my_connection_string; + } + + + + + + Occurs after the database connection is established. + + + + + Occurs when discovering the business object's structure. + + + + + Occurs when determining the kind of business object's property. + + + + + Gets or sets the report settings. + + + + + Occurs when the designer is loaded. + + + Use this event if you want to customize some aspects of the designer, for example, + to hide some menu items. + + + This example demonstrates how to hide the "File|Select Language..." menu item. + + environmentSettings1.DesignerLoaded += new EventHandler(DesignerSettings_DesignerLoaded); + + void DesignerSettings_DesignerLoaded(object sender, EventArgs e) + { + (sender as DesignerControl).MainMenu.miFileSelectLanguage.Visible = false; + } + + + + + + Occurs when report is loaded in the designer. + + + Use this event handler to register application data in a report. + + + + + Occurs when object is inserted in the designer. + + + Use this event handler to set some object's properties when it is inserted. + + + + + Occurs when the report designer is about to show the "Open" dialog. + + Use this event to attach own "Open" dialog to the designer. In the event handler, you must + display a dialog window to allow user to choose a report file. + If dialog was executed successfully, you must return e.Cancel = false and set the + e.FileName to the selected file name. + You also need to use event to provide code that + will open the report. + + + This example shows how to attach own "Open" and "Save" dialogs to the designer. + It uses the following events: , , + , . + + private void CustomOpenDialog_Handler(object sender, OpenSaveDialogEventArgs e) + { + using (OpenFileDialog dialog = new OpenFileDialog()) + { + dialog.Filter = "Report files (*.frx)|*.frx"; + + // set e.Cancel to false if dialog was succesfully executed + e.Cancel = dialog.ShowDialog() != DialogResult.OK; + // set e.FileName to the selected file name + e.FileName = dialog.FileName; + } + } + + private void CustomSaveDialog_Handler(object sender, OpenSaveDialogEventArgs e) + { + using (SaveFileDialog dialog = new SaveFileDialog()) + { + dialog.Filter = "Report files (*.frx)|*.frx"; + // get default file name from e.FileName + dialog.FileName = e.FileName; + + // set e.Cancel to false if dialog was succesfully executed + e.Cancel = dialog.ShowDialog() != DialogResult.OK; + // set e.FileName to the selected file name + e.FileName = dialog.FileName; + } + } + + private void CustomOpenReport_Handler(object sender, OpenSaveReportEventArgs e) + { + // load the report from the given e.FileName + e.Report.Load(e.FileName); + } + + private void CustomSaveReport_Handler(object sender, OpenSaveReportEventArgs e) + { + // save the report to the given e.FileName + e.Report.Save(e.FileName); + } + + + + + + Occurs when the report designer is about to show the "Save" dialog. + + Use this event to attach own "Save" dialog to the designer. In the event handler, you must + display a dialog window to allow user to choose a report file. + If dialog was executed successfully, you must return e.Cancel = false and set the + e.FileName to the selected file name. + You also need to use event to provide code that + will save the report. + + + This example shows how to attach own "Open" and "Save" dialogs to the designer. + It uses the following events: , , + , . + + private void CustomOpenDialog_Handler(object sender, OpenSaveDialogEventArgs e) + { + using (OpenFileDialog dialog = new OpenFileDialog()) + { + dialog.Filter = "Report files (*.frx)|*.frx"; + + // set e.Cancel to false if dialog was succesfully executed + e.Cancel = dialog.ShowDialog() != DialogResult.OK; + // set e.FileName to the selected file name + e.FileName = dialog.FileName; + } + } + + private void CustomSaveDialog_Handler(object sender, OpenSaveDialogEventArgs e) + { + using (SaveFileDialog dialog = new SaveFileDialog()) + { + dialog.Filter = "Report files (*.frx)|*.frx"; + // get default file name from e.FileName + dialog.FileName = e.FileName; + + // set e.Cancel to false if dialog was succesfully executed + e.Cancel = dialog.ShowDialog() != DialogResult.OK; + // set e.FileName to the selected file name + e.FileName = dialog.FileName; + } + } + + private void CustomOpenReport_Handler(object sender, OpenSaveReportEventArgs e) + { + // load the report from the given e.FileName + e.Report.Load(e.FileName); + } + + private void CustomSaveReport_Handler(object sender, OpenSaveReportEventArgs e) + { + // save the report to the given e.FileName + e.Report.Save(e.FileName); + } + + + + + + Occurs when the report designer is about to load the report. + + This event is used together with the event. + Use this event to attach own "Open" dialog to the designer. In the event handler, you must + load the e.Report from the location specified in the e.FileName property. + For example, if you work with files: e.Report.Load(e.FileName); + + + This example shows how to attach own "Open" and "Save" dialogs to the designer. + It uses the following events: , , + , . + + private void CustomOpenDialog_Handler(object sender, OpenSaveDialogEventArgs e) + { + using (OpenFileDialog dialog = new OpenFileDialog()) + { + dialog.Filter = "Report files (*.frx)|*.frx"; + + // set e.Cancel to false if dialog was succesfully executed + e.Cancel = dialog.ShowDialog() != DialogResult.OK; + // set e.FileName to the selected file name + e.FileName = dialog.FileName; + } + } + + private void CustomSaveDialog_Handler(object sender, OpenSaveDialogEventArgs e) + { + using (SaveFileDialog dialog = new SaveFileDialog()) + { + dialog.Filter = "Report files (*.frx)|*.frx"; + // get default file name from e.FileName + dialog.FileName = e.FileName; + + // set e.Cancel to false if dialog was succesfully executed + e.Cancel = dialog.ShowDialog() != DialogResult.OK; + // set e.FileName to the selected file name + e.FileName = dialog.FileName; + } + } + + private void CustomOpenReport_Handler(object sender, OpenSaveReportEventArgs e) + { + // load the report from the given e.FileName + e.Report.Load(e.FileName); + } + + private void CustomSaveReport_Handler(object sender, OpenSaveReportEventArgs e) + { + // save the report to the given e.FileName + e.Report.Save(e.FileName); + } + + + + + + Occurs when the report designer is about to save the report. + + This event is used together with the event. + Use this event to attach own "Save" dialog to the designer. In the event handler, you must + save the e.Report to the location specified in the e.FileName property. + For example, if you work with files: e.Report.Save(e.FileName); + + + This example shows how to attach own "Open" and "Save" dialogs to the designer. + It uses the following events: , , + , . + + private void CustomOpenDialog_Handler(object sender, OpenSaveDialogEventArgs e) + { + using (OpenFileDialog dialog = new OpenFileDialog()) + { + dialog.Filter = "Report files (*.frx)|*.frx"; + + // set e.Cancel to false if dialog was succesfully executed + e.Cancel = dialog.ShowDialog() != DialogResult.OK; + // set e.FileName to the selected file name + e.FileName = dialog.FileName; + } + } + + private void CustomSaveDialog_Handler(object sender, OpenSaveDialogEventArgs e) + { + using (SaveFileDialog dialog = new SaveFileDialog()) + { + dialog.Filter = "Report files (*.frx)|*.frx"; + // get default file name from e.FileName + dialog.FileName = e.FileName; + + // set e.Cancel to false if dialog was succesfully executed + e.Cancel = dialog.ShowDialog() != DialogResult.OK; + // set e.FileName to the selected file name + e.FileName = dialog.FileName; + } + } + + private void CustomOpenReport_Handler(object sender, OpenSaveReportEventArgs e) + { + // load the report from the given e.FileName + e.Report.Load(e.FileName); + } + + private void CustomSaveReport_Handler(object sender, OpenSaveReportEventArgs e) + { + // save the report to the given e.FileName + e.Report.Save(e.FileName); + } + + + + + + Occurs when previewing a report from the designer. + + + Use this event to show own preview window. + + + + environmentSettings1.CustomPreviewReport += new EventHandler(MyPreviewHandler); + + private void MyPreviewHandler(object sender, EventArgs e) + { + Report report = sender as Report; + using (MyPreviewForm form = new MyPreviewForm()) + { + report.Preview = form.previewControl1; + report.ShowPreparedReport(); + form.ShowDialog(); + } + } + + + + + + Occurs when getting available table names from the connection. + + + Use this handler to filter the list of tables returned by the connection object. + + + This example demonstrates how to hide the table with "Table 1" name from the Data Wizard. + + environmentSettings1.FilterConnectionTables += DesignerSettings_FilterConnectionTables; + + private void DesignerSettings_FilterConnectionTables(object sender, FilterConnectionTablesEventArgs e) + { + if (e.TableName == "Table 1") + e.Skip = true; + } + + + + + + Gets or sets the designer settings. + + + + + Gets or sets the preview settings. + + + + + Gets or sets the email settings. + + + + + The class introduces some menu items specific to the TextObject. + + + + + Initializes a new instance of the TextObjectMenu + class with default settings. + + The reference to a report designer. + + + + Implements the object's editor. + + + + + Invokes the object's editor. + + true if object was succesfully edited. + + This method is called by FastReport when the object is doubleclicked in the designer. + + + + + Provides the "search" functionality in the preview and designer. + + + + + Finds the specified text inside the object. + + Text to find. + true to perform case-sensitive search. + true to find whole words only. + Array of character ranges that describes the occurences of text found; + null if text not found. + + + + Draws the highlight to show the text found. + + Draw event arguments. + Range of characters to highlight. + + + + Specifies the set of buttons available in the preview. + + + + + No buttons visible. + + + + + The "Print" button is visible. + + + + + The "Open" button is visible. + + + + + The "Save" button is visible. + + + + + The "Email" button is visible. + + + + + The "Find" button is visible. + + + + + The zoom buttons are visible. + + + + + The "Outline" button is visible. + + + + + The "Page setup" button is visible. + + + + + The "Edit" button is visible. + + + + + The "Watermark" button is visible. + + + + + The page navigator buttons are visible. + + + + + The "Close" button is visible. + + + + + The "Design" button is visible. + + + + + The "Copy Page" button is visible. + + + + + The "Delete Page" button is visible. + + + + + The "About" button is visible. + + + + + All buttons are visible. + + + + + Specifies the set of export buttons available in the preview. + + + + + No exports visible. + + + + + The "Prepared" button is visible. + + + + + The "PDFExport" button is visible. + + + + + The "RTFExport" button is visible. + + + + + The "HTMLExport" button is visible. + + + + + The "MHTExport" button is visible. + + + + + The "XMLExport" export button is visible. + + + + + The "Excel2007Export" button is visible. + + + + + The "Excel2003Document" button is visible. + + + + + The "Word2007Export" button is visible. + + + + + The "PowerPoint2007Export" button is visible. + + + + + The "ODSExport" button is visible. + + + + + The "ODTExport" button is visible. + + + + + The "XPSExport" export button is visible. + + + + + The "CSVExport" button is visible. + + + + + The "DBFExport" button is visible. + + + + + The "TextExport" button is visible. + + + + + The "ZplExport" button is visible. + + + + + The "ImageExport" button is visible. + + + + + The "XAMLExport" button is visible. + + + + + The "SVGExport" button is visible. + + + + + The "PPMLExport" button is visible. + + + + + The "PSExport" button is visible. + + + + + The "JsonExport" button is visible. + + + + + The "LaTeXExport" button is visible. + + + + + The "HpglExport" button is visible. + + + + + The "DxfExport" button is visible. + + + + + The All export buttons is visible. + + + + + Specifies the set of cloud exports available in the preview. + + + + + No items visible. + + + + + The "Box" button is visible. + + + + + The "Dropbox" button is visible. + + + + + The "Ftp" button is visible. + + + + + The "GoogleDrive" button is visible. + + + + + The "SkyDrive" button is visible. + + + + + The "S3" button is visible. + + + + + The All export in clouds buttons is visible. + + + + + Specifies the set of export by messenger buttons available in the preview. + + + + + No exports by messengers visible. + + + + + The "Xmpp" button is visible. + + + + + The All export by messengers buttons is visible. + + + + + Contains some settings of the preview window. + + + + + Occurs when the standard preview window opened. + + + You may use this event to change the standard preview window, for example, add an own button to it. + The sender parameter in this event is the PreviewControl. + + + + + Gets or sets a set of buttons that will be visible in the preview's toolbar. + + + Here is an example how you can disable the "Print" and "EMail" buttons: + + Config.PreviewSettings.Buttons = PreviewButtons.Open | + PreviewButtons.Save | + PreviewButtons.Find | + PreviewButtons.Zoom | + PreviewButtons.Outline | + PreviewButtons.PageSetup | + PreviewButtons.Edit | + PreviewButtons.Watermark | + PreviewButtons.Navigator | + PreviewButtons.Close; + + + + + + Specifies the set of exports that will be available in the preview's "save" menu. + + + + + Specifies the set of exports in clouds that will be available in the preview's "save" menu. + + + + + Specifies the set of exports by messengers that will be available in the preview's "save" menu. + + + + + Gets or sets the number of prepared pages that can be stored in the memory cache during preview. + + + Decrease this value if your prepared report contains a lot of pictures. This will + save the RAM memory. + + + + + Gets or sets a value indicating whether the preview window is displayed in the Windows taskbar. + + + + + Gets or sets a value indicating whether the preview window should be displayed as a topmost form. + + + + + Gets or sets the icon for the preview window. + + + + + Gets or sets the text for the preview window. + + + If no text is set, the default text "Preview" will be used. + + + + + Gets or sets a value indicating whether the fast scrolling method should be used. + + + If you enable this property, the gradient background will be disabled. + + + + + Enables or disables the "Print to file" feature in the print dialog. + + + + + Gets or sets the initial directory that is displayed by a save file dialog. + + + + + Initializes a new instance of the PreviewSettings class with default settings. + + + + + Specifies the report printing mode. + + + + + Specifies the default printing mode. One report page produces + one printed paper sheet of the same size. + + + + + Specifies the split mode. Big report page produces several smaller paper sheets. + Use this mode to print A3 report on A4 printer. + + + + + Specifies the scale mode. One or several report pages produce one bigger paper sheet. + Use this mode to print A5 report on A4 printer. + + + + + Specifies the number of report pages printed on one paper sheet. + + + + + Specifies one report page per sheet. + + + + + Specifies two report pages per sheet. + + + + + Specifies four report pages per sheet. + + + + + Specifies eight report pages per sheet. + + + + + Specifies the pages to print. + + + + + Print all report pages. + + + + + Print odd pages only. + + + + + Print even pages only. + + + + + This class contains the printer settings. + It is used in the property. + + + Typical use of this class is to setup a printer properties without using the "Print" + dialog. In this case, setup necessary properties and turn off the dialog via the + property. + + + + + Gets or sets the printer name. + + + + + Gets or sets a value indicating that the printer name should be saved in a report file. + + + If this property is set to true, the printer name will be saved in a report file. + Next time when you open the report, the printer will be automatically selected. + + + + + Gets or sets a value indicating that the printing output should be send + to a file instead of a printer. + + + Also set the property. + + + + + The name of a file to print the report to. + + + This property is used if property is true. + + + + + Gets or sets a value specifies the page range to print. + + + + + Gets or sets the page number(s) to print. + + + This property is used if property is set to PageNumbers. + You can specify the page numbers, separated by commas, or the page ranges. + For example: "1,3,5-12". + + + + + Gets or sets the number of copies to print. + + + + + Gets or sets a value indicating whether the printed document should be collated. + + + + + Gets or sets a value specifies the pages to print. + + + + + Gets or sets a value determines whether to print pages in reverse order. + + + + + Gets or sets the duplex mode. + + + + + Gets or sets the paper source. + + + This property corresponds to the RAW source number. Default value is 7 which + corresponds to DMBIN_AUTO. + + + + + Gets or sets the print mode. + + + See the enumeration for details. If you use + the mode other than Default, you must specify the sheet size in the + , properties. + + + + + Gets or sets the width of the paper sheet to print on. + + + This property is used if the property is not Default. + Specify the paper width in millimeters. + + + + + Gets or sets the height of the paper sheet to print on. + + + This property is used if the property is not Default. + Specify the paper height in millimeters. + + + + + Gets or sets the raw index of a paper size. + + + + + Gets or sets the number of pages per printed sheet. + + + This property is used if the property is set to Scale. + + + + + Gets or sets an array of printed copy names, such as "Original", "Copy", etc. + + + + + Specifies whether to display the "Print" dialog. + + + + + + + + Assigns values from another source. + + Source to assign from. + + + + Resets all settings to its default values. + + + + + Initializes a new instance of the class with default settings. + + + + + The style of the report object markers. + + + + + Rectangle marker. + + + + + Small markers at the object's corners. + + + + + The class introduces some menu items specific + to the ReportComponentBase. + + + + + The "Can Grow" menu item. + + + + + The "Can Shrink" menu item. + + + + + The "Grow to Bottom" menu item. + + + + + The "Hyperlink" menu item. + + + + + The "Style" menu item. + + + + + Initializes a new instance of the ReportComponentBaseMenu + class with default settings. + + The reference to a report designer. + + + + Holds the list of objects currently selected in the designer. + + + This class is used by the "Alignment" toolbar. Use methods of this class to perform some + operations on the selected objects. + Note: after calling any method in this class, call the + Designer.SetModified method to reflect changes. + Note: this list contains only objects of type. If you want to access all + selected objects, use the property. + + + + + Gets the first selected object. + + + + + Gets the number of selected objects. + + + + + Aligns left edges of the selected objects. + + + + + Aligns right edges of the selected objects. + + + + + Aligns centers of the selected objects. + + + + + Aligns top edges of the selected objects. + + + + + Aligns bottom edges of the selected objects. + + + + + Aligns middles of the selected objects. + + + + + Makes the selected objects the same width as the first object. + + + + + Makes the selected objects the same height as the first object. + + + + + Makes the selected objects the same size as the first object. + + + + + Centers the selected objects horizontally. + + + + + Centers the selected objects vertically. + + + + + Aligns the selected objects to the grid. + + + + + Adjusts the size of selected objects to the grid. + + + + + Spaces the selected objects horizontally. + + + + + Increases horizontal spacing between the selected objects. + + + + + Decreases horizontal spacing between the selected objects. + + + + + Removes horizontal spacing between the selected objects. + + + + + Spaces the selected objects vertically. + + + + + Increases vertical spacing between the selected objects. + + + + + Decreases vertical spacing between the selected objects. + + + + + Removes vertical spacing between the selected objects. + + + + + Holds the list of selected objects of type. Used by the + . + + + + + Gets a value indicating that report page is selected. + + + + + Gets a value indicating that report is selected. + + + + + Holds the list of objects currently selected in the designer. + + + This class is used by the "Border and Fill" toolbar. Use methods of this class to perform some + operations on the selected objects. + Note: after calling any method in this class, call the + Designer.SetModified method to reflect changes. + Note: this list contains only objects of type. + If you want to access all selected objects, use the property. + + + + + Gets the first selected object. + + + + + Gets the number of selected objects. + + + + + Gets a value indicating whether the operations are enabled. + + + + + Gets a value indicating whether the object with simple border is selected. + + + When the object has a simple border, you cannot change individual border lines. + Example of such an object is the "Shape" and "Line" objects. + + + + + Gets a value indicating whether the border operations are enabled. + + + + + Gets a value indicating whether the fill operations are enabled. + + + + + Sets the solid fill color for the selected objects. + + Fill color. + + + + Sets the fill for the selected objects. + + Fill. + + + + Sets the style for the selected objects. + + Style name. + + + + Sets the hyperlink for the selected objects. + + Hyperlink. + Indicates whether to modify the object's appearance. + Indicates whether it is necessary to change designer's modified state. + + + + Sets the CanGrow flag for the selected objects. + + Flag value. + + + + Sets the CanShrink flag for the selected objects. + + Flag value. + + + + Sets the GrowToBottom flag for the selected objects. + + Flag value. + + + + Toggles the specified border line for the selected objects. + + Border line. + Toggle value. + + + + Sets the border color for the selected objects. + + Border color. + + + + Sets the border width for the selected objects. + + Border width. + + + + Sets the border style for the selected objects. + + Border style. + + + + Sets the border for the selected objects. + + Border. + + + + Invokes the fill editor for the selected objects. + + true if editor was closed by the OK button. + + + + Invokes the border editor for the selected objects. + + true if editor was closed by the OK button. + + + + Invokes the hyperlink editor for the selected objects. + + true if editor was closed by the OK button. + + + + Holds the list of objects currently selected in the designer. + + + This class is used by the "Text" toolbar. Use methods of this class to perform some + operations on the selected objects. + Note: after calling any method in this class, call the + Designer.SetModified method to reflect changes. + Note: this list contains only objects of type. If you want to access all + selected objects, use the property. + + + + + Gets the first selected object. + + + + + Gets the number of selected objects. + + + + + Gets a value indicating whether the operations are enabled. + + + + + Sets the font name for the selected objects. + + Font name. + + + + Sets the font size for the selected objects. + + Font size. + + + + Toggles the specified font style for the selected objects. + + Font style. + Toggle value. + + + + Sets the horizontal text alignment for tthe selected objects. + + Alignment to set. + + + + Sets the vertical text alignment for tthe selected objects. + + Alignment to set. + + + + Sets the text color for the selected objects. + + Text color. + + + + Sets the angle for the selected objects. + + Angle to set. + + + + Sets the AutoWidth property value for the selected objects. + + Value to set. + + + + Sets the WordWrap property value for the selected objects. + + Value to set. + + + + Sets the highlight conditions for the selected objects. + + Highlight conditions. + + + + Clears the text of the selected objects. + + + + + Invokes the highlight editor for the selected objects. + + true if editor was closed with the OK button. + + + + The base class for smart tags. + + + + "Smart tag" is a little button that appears near the object's top-right corner when we are in the + designer and move the mouse over the object. When you click that button you will see a popup window + where you can set up some properties of the object. FastReport uses smart tags to quickly choose + the datasource (for a band) or data column (for objects). + + + Smart tag is internally a ContextMenuStrip. + + + + + + Gets the underlying context menu. + + + + + Gets the report object that invokes this smart tag. + + + + + Gets the report designer. + + + + + Called when the menu item is clicked. + + + Override this method to define a reaction on the menu item click. + + + + + Creates the smart tag menu items. + + + Override this method to create the smart tag menu. + + + + + Displays a smart tag at the specified location. + + + Do not call this method directly. It is called automatically when click on smart tag button. + + Control. + Location. + + + + Initializes a new instance of the class with default settings. + + Report object that owns this smart tag. + + + + The class introduces some menu items specific to the TextObjectBase. + + + + + The "Format" menu item. + + + + + The "Allow Expressions" menu item. + + + + + The "Hide Zeros" menu item. + + + + + Initializes a new instance of the TextObjectBaseMenu + class with default settings. + + The reference to a report designer. + + + + The class introduces some menu items specific to the TextObject. + + + + + The "Clear" menu item. + + + + + The "Auto Width" menu item. + + + + + The "Word Wrap" menu item. + + + + + Initializes a new instance of the TextObjectMenu + class with default settings. + + The reference to a report designer. + + + + An SVG element to render circles to the document. + + + + + Gets the center point of the circle. + + The center. + + + + Gets the representing this element. + + + + + Renders the circle to the specified object. + + The graphics object. + + + + Initializes a new instance of the class. + + + + + Represents and SVG ellipse element. + + + + + Gets the for this element. + + + + + + Renders the and contents to the specified object. + + The object to render to. + + + + Initializes a new instance of the class. + + + + + Represents and SVG image + + + + + Initializes a new instance of the class. + + + + + Gets an representing the top left point of the rectangle. + + + + + Gets or sets the aspect of the viewport. + + + + + + Gets the bounds of the element. + + The bounds. + + + + Gets the for this element. + + + + + Renders the and contents to the specified object. + + + + + Represents and SVG line element. + + + + + Gets or sets the marker (end cap) of the path. + + + + + Gets or sets the marker (start cap) of the path. + + + + + Gets or sets the marker (start cap) of the path. + + + + + Renders the stroke of the to the specified + + The object to render to. + + + + Represents an element that is using a GraphicsPath as rendering base. + + + + + SvgPolygon defines a closed shape consisting of a set of connected straight line segments. + + + + + The points that make up the SvgPolygon + + + + + Gets or sets the marker (end cap) of the path. + + + + + Gets or sets the marker (start cap) of the path. + + + + + Gets or sets the marker (start cap) of the path. + + + + + Renders the stroke of the to the specified + + The object to render to. + + + + SvgPolyline defines a set of connected straight line segments. Typically, defines open shapes. + + + + + Gets or sets the marker (end cap) of the path. + + + + + Gets or sets the marker (start cap) of the path. + + + + + Gets or sets the marker (start cap) of the path. + + + + + Renders the stroke of the to the specified + + The object to render to. + + + + Represents an SVG rectangle that could also have rounded edges. + + + + + Initializes a new instance of the class. + + + + + Gets an representing the top left point of the rectangle. + + + + + Gets or sets the position where the left point of the rectangle should start. + + + + + Gets or sets the position where the top point of the rectangle should start. + + + + + Gets or sets the width of the rectangle. + + + + + Gets or sets the height of the rectangle. + + + + + Gets or sets the X-radius of the rounded edges of this rectangle. + + + + + Gets or sets the Y-radius of the rounded edges of this rectangle. + + + + + Gets or sets a value to determine if anti-aliasing should occur when the element is being rendered. + + + + + Gets the for this element. + + + + + Renders the and contents to the specified object. + + + + + The class that all SVG elements should derive from when they are to be rendered. + + + + + Gets the for this element. + + + + + Gets the bounds of the element. + + The bounds. + + + + Gets the associated if one has been specified. + + + + + Gets the associated if one has been specified. + + + + + Gets or sets the algorithm which is to be used to determine the clipping region. + + + + + Gets the associated if one has been specified. + + + + + Gets or sets a value to determine if anti-aliasing should occur when the element is being rendered. + + + + + Initializes a new instance of the class. + + + + + Renders the and contents to the specified object. + + The object to render to. + + + + Renders the fill of the to the specified + + The object to render to. + + + + Renders the stroke of the to the specified + + The object to render to. + + + + Sets the clipping region of the specified . + + The to have its clipping region set. + + + + Resets the clipping region of the specified back to where it was before the method was called. + + The to have its clipping region reset. + + + + Sets the clipping region of the specified . + + The to have its clipping region set. + + + + Resets the clipping region of the specified back to where it was before the method was called. + + The to have its clipping region reset. + + + + Gets or sets a value to determine whether the element will be rendered. + + + + + Gets or sets a value to determine whether the element will be rendered. + Needed to support SVG attribute display="none" + + + + + Gets or sets the fill of this element. + + + + + Defines the methods and properties that an must implement to support clipping. + + + + + Gets or sets the ID of the associated if one has been specified. + + + + + Specifies the rule used to define the clipping region when the element is within a . + + + + + Sets the clipping region of the specified . + + The to have its clipping region set. + + + + Resets the clipping region of the specified back to where it was before the method was called. + + The to have its clipping region reset. + + + + Defines a path that can be used by other elements. + + + + + Specifies the coordinate system for the clipping path. + + + + + Initializes a new instance of the class. + + + + + Gets this 's region to be used as a clipping region. + + A new containing the to be used for clipping. + + + + + + + + + + + Called by the underlying when an element has been added to the + collection. + + The that has been added. + An representing the index where the element was added to the collection. + + + + Called by the underlying when an element has been removed from the + collection. + + The that has been removed. + + + + Renders the and contents to the specified object. + + The object to render to. + + + + Indicates the algorithm which is to be used to determine the clipping region. + + + This rule determines the "insideness" of a point on the canvas by drawing a ray from + that point to infinity in any direction and then examining the places where a segment of the + shape crosses the ray. + + + + + This rule determines the "insideness" of a point on the canvas by drawing a ray from that point to infinity in any direction and then examining the places where a segment of the shape crosses the ray. Starting with a count of zero, add one each time a path segment crosses the ray from left to right and subtract one each time a path segment crosses the ray from right to left. After counting the crossings, if the result is zero then the point is outside the path. Otherwise, it is inside. + + + + + This rule determines the "insideness" of a point on the canvas by drawing a ray from that point to infinity in any direction and counting the number of path segments from the given shape that the ray crosses. If this number is odd, the point is inside; if even, the point is outside. + + + + + Provides properties and methods to be implemented by view port elements. + + + + + Gets or sets the viewport of the element. + + + + + Description of SvgAspectRatio. + + + + Specifies the color space for gradient interpolations, color animations and alpha compositing. + When a child element is blended into a background, the value of the ‘color-interpolation’ property on the child determines the type of blending, not the value of the ‘color-interpolation’ on the parent. For gradients which make use of the ‘xlink:href’ attribute to reference another gradient, the gradient uses the ‘color-interpolation’ property value from the gradient element which is directly referenced by the ‘fill’ or ‘stroke’ property. When animating colors, color interpolation is performed according to the value of the ‘color-interpolation’ property on the element being animated. + + + Indicates that the user agent can choose either the sRGB or linearRGB spaces for color interpolation. This option indicates that the author doesn't require that color interpolation occur in a particular color space. + + + Indicates that color interpolation should occur in the sRGB color space. + + + Indicates that color interpolation should occur in the linearized RGB color space as described above. + + + The value is inherited from the parent element. + + + Defines the coordinate system for attributes ‘markerWidth’, ‘markerHeight’ and the contents of the ‘marker’. + + + If markerUnits="strokeWidth", ‘markerWidth’, ‘markerHeight’ and the contents of the ‘marker’ represent values in a coordinate system which has a single unit equal the size in user units of the current stroke width (see the ‘stroke-width’ property) in place for the graphic object referencing the marker. + + + If markerUnits="userSpaceOnUse", ‘markerWidth’, ‘markerHeight’ and the contents of the ‘marker’ represent values in the current user coordinate system in place for the graphic object referencing the marker (i.e., the user coordinate system for the element referencing the ‘marker’ element via a ‘marker’, ‘marker-start’, ‘marker-mid’ or ‘marker-end’ property). + + + + Defines the various coordinate units certain SVG elements may use. + + + + + Indicates that the coordinate system of the owner element is to be used. + + + + + Indicates that the coordinate system of the entire document is to be used. + + + + This is the descriptor for the style of a font and takes the same values as the 'font-style' property, except that a comma-separated list is permitted. + + + Indicates that the font-face supplies all styles (normal, oblique and italic). + + + Specifies a font that is classified as 'normal' in the UA's font database. + + + Specifies a font that is classified as 'oblique' in the UA's font database. Fonts with Oblique, Slanted, or Incline in their names will typically be labeled 'oblique' in the font database. A font that is labeled 'oblique' in the UA's font database may actually have been generated by electronically slanting a normal font. + + + Specifies a font that is classified as 'italic' in the UA's font database, or, if that is not available, one labeled 'oblique'. Fonts with Italic, Cursive, or Kursiv in their names will typically be labeled 'italic' + + + The weight of a face relative to others in the same font family. + + + All font weights. + + + The value is inherited from the parent element. + + + Same as . + + + Same as . + + + One font weight darker than the parent element. + + + One font weight lighter than the parent element. + + + + + + + + + + + + Same as . + + + + + + + + + Same as . + + + + + + + + + + Represents an orientation in an Scalable Vector Graphics document. + + + + + Gets the value of the unit. + + + + + Gets the value of the unit. + + + + + Indicates whether this instance and a specified object are equal. + + Another object to compare to. + + true if and this instance are the same type and represent the same value; otherwise, false. + + + + + Performs an implicit conversion from to . + + The value. + The result of the conversion. + + + + Overflow is not rendered. + + + The value is inherited from the parent element. + + + The overflow is rendered - same as "visible". + + + Overflow is rendered. + + + Overflow causes a scrollbar to appear (horizontal, vertical or both). + + + + Represents a list of used with the and . + + + + + A class to convert string into instances. + + + + + Converts the given object to the type of this converter, using the specified context and culture information. + + An that provides a format context. + The to use as the current culture. + The to convert. + + An that represents the converted value. + + The conversion cannot be performed. + + + This property describes decorations that are added to the text of an element. Conforming SVG Viewers are not required to support the blink value. + + + The value is inherited from the parent element. + + + The text is not decorated + + + The text is underlined. + + + The text is overlined. + + + The text is struck through. + + + The text will blink. + + + Indicates the type of adjustments which the user agent shall make to make the rendered length of the text match the value specified on the ‘textLength’ attribute. + + The user agent is required to achieve correct start and end positions for the text strings, but the locations of intermediate glyphs are not predictable because user agents might employ advanced algorithms to stretch or compress text strings in order to balance correct start and end positioning with optimal typography. + Note that, for a text string that contains n characters, the adjustments to the advance values often occur only for n−1 characters (see description of attribute ‘textLength’), whereas stretching or compressing of the glyphs will be applied to all n characters. + + + + Indicates that only the advance values are adjusted. The glyphs themselves are not stretched or compressed. + + + Indicates that the advance values are adjusted and the glyphs themselves stretched or compressed in one axis (i.e., a direction parallel to the inline-progression-direction). + + + Indicates the method by which text should be rendered along the path. + + + Indicates that the glyphs should be rendered using simple 2x3 transformations such that there is no stretching/warping of the glyphs. Typically, supplemental rotation, scaling and translation transformations are done for each glyph to be rendered. As a result, with align, fonts where the glyphs are designed to be connected (e.g., cursive fonts), the connections may not align properly when text is rendered along a path. + + + Indicates that the glyph outlines will be converted into paths, and then all end points and control points will be adjusted to be along the perpendicular vectors from the path, thereby stretching and possibly warping the glyphs. With this approach, connected glyphs, such as in cursive scripts, will maintain their connections. + + + Indicates how the user agent should determine the spacing between glyphs that are to be rendered along a path. + + + Indicates that the glyphs should be rendered exactly according to the spacing rules as specified in Text on a path layout rules. + + + Indicates that the user agent should use text-on-a-path layout algorithms to adjust the spacing between glyphs in order to achieve visually appealing results. + + + + Represents a unit in an Scalable Vector Graphics document. + + + + + Gets and empty . + + + + + Gets an with a value of none. + + + + + Gets a value to determine whether the unit is empty. + + + + + Gets whether this unit is none. + + + + + Gets the value of the unit. + + + + + Gets the of unit. + + + + + Converts the current unit to one that can be used at render time. + + The container element used as the basis for calculations + The representation of the current unit in a device value (usually pixels). + + + + Converts the current unit to a percentage, if applicable. + + An of type . + + + + Performs an implicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value. + The result of the conversion. + + + + Initializes a new instance of the struct. + + The type. + The value. + + + + Initializes a new instance of the struct. + + The value. + + + + Defines the various types of unit an can be. + + + + + Indicates that the unit holds no value. + + + + + Indicates that the unit is in pixels. + + + + + Indicates that the unit is equal to the pt size of the current font. + + + + + Indicates that the unit is equal to the x-height of the current font. + + + + + Indicates that the unit is a percentage. + + + + + Indicates that the unit has no unit identifier and is a value in the current user coordinate system. + + + + + Indicates the the unit is in inches. + + + + + Indicates that the unit is in centimeters. + + + + + Indicates that the unit is in millimeters. + + + + + Indicates that the unit is in picas. + + + + + Indicates that the unit is in points, the smallest unit of measure, being a subdivision of the larger . There are 12 points in the . + + + + + Represents a list of . + + + + + A class to convert string into instances. + + + + + Converts the given object to the type of this converter, using the specified context and culture information. + + An that provides a format context. + The to use as the current culture. + The to convert. + + An that represents the converted value. + + The conversion cannot be performed. + + + + It is often desirable to specify that a given set of graphics stretch to fit a particular container element. The viewBox attribute provides this capability. + + + + + Gets or sets the position where the viewport starts horizontally. + + + + + Gets or sets the position where the viewport starts vertically. + + + + + Gets or sets the width of the viewport. + + + + + Gets or sets the height of the viewport. + + + + + Performs an implicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value. + The result of the conversion. + + + + Initializes a new instance of the struct. + + The min X. + The min Y. + The width. + The height. + + + + Converts the given object to the type of this converter, using the specified context and culture information. + + An that provides a format context. + The to use as the current culture. + The to convert. + + An that represents the converted value. + + The conversion cannot be performed. + + + + Represents a list of re-usable SVG components. + + + + + Initializes a new instance of the class. + + + + + Renders the and contents to the specified object. + + The object to render to. + + + + Represents a list of re-usable SVG components. + + + + + Initializes a new instance of the class. + + + + + Renders the and contents to the specified object. + + The object to render to. + + + + An represents an SVG fragment that can be the root element or an embedded fragment of an SVG document. + + + + + Gets the SVG namespace string. + + + + + Gets or sets the position where the left point of the svg should start. + + + + + Gets or sets the position where the top point of the svg should start. + + + + + Gets or sets the width of the fragment. + + The width. + + + + Gets or sets the height of the fragment. + + The height. + + + + Gets or sets the viewport of the element. + + + + + + Gets or sets the aspect of the viewport. + + + + + + Refers to the size of the font from baseline to baseline when multiple lines of text are set solid in a multiline layout environment. + + + + + Indicates which font family is to be used to render the text. + + + + + Applies the required transforms to . + + The to be transformed. + + + + Gets the for this element. + + + + + + Gets the bounds of the svg element. + + The bounds. + + + + Initializes a new instance of the class. + + + + + An element used to group SVG shapes. + + + + + Gets the for this element. + + + + + + Gets the bounds of the element. + + The bounds. + + + + The �switch� element evaluates the �requiredFeatures�, �requiredExtensions� and �systemLanguage� attributes on its direct child elements in order, and then processes and renders the first child for which these attributes evaluate to true + + + + + Gets the for this element. + + + + + + Gets the bounds of the element. + + The bounds. + + + + Renders the and contents to the specified object. + + The object to render to. + + + + An element used to group SVG shapes. + + + + + Gets or sets the viewport of the element. + + + + + + Gets or sets the aspect of the viewport. + + + + + + Gets the for this element. + + + + + + Gets the bounds of the element. + + The bounds. + + + + Applies the required transforms to . + + The to be transformed. + + + + Applies the required transforms to . + + The to be transformed. + + + + Initializes a new instance of the class. + + + + + The �foreignObject� element allows for inclusion of a foreign namespace which has its graphical content drawn by a different user agent + + + + + Gets the for this element. + + + + + + Gets the bounds of the element. + + The bounds. + + + + Note: this is not used in calculations to bitmap - used only to allow for svg xml output + + + + + matrix | saturate | hueRotate | luminanceToAlpha + Indicates the type of matrix operation. The keyword 'matrix' indicates that a full 5x4 matrix of values will be provided. The other keywords represent convenience shortcuts to allow commonly used color operations to be performed without specifying a complete matrix. If attribute �type� is not specified, then the effect is as if a value of matrix were specified. + Note: this is not used in calculations to bitmap - used only to allow for svg xml output + + + + + + Gets or sets the radius of the blur (only allows for one value - not the two specified in the SVG Spec) + + + + + Note: this is not used in calculations to bitmap - used only to allow for svg xml output + + + + + The amount to offset the input graphic along the x-axis. The offset amount is expressed in the coordinate system established by attribute �primitiveUnits� on the �filter� element. + If the attribute is not specified, then the effect is as if a value of 0 were specified. + Note: this is not used in calculations to bitmap - used only to allow for svg xml output + + + + + The amount to offset the input graphic along the y-axis. The offset amount is expressed in the coordinate system established by attribute �primitiveUnits� on the �filter� element. + If the attribute is not specified, then the effect is as if a value of 0 were specified. + Note: this is not used in calculations to bitmap - used only to allow for svg xml output + + + + + A filter effect consists of a series of graphics operations that are applied to a given source graphic to produce a modified graphical result. + + + + + Gets or sets the position where the left point of the filter. + + + + + Gets or sets the position where the top point of the filter. + + + + + Gets or sets the width of the resulting filter graphic. + + + + + Gets or sets the height of the resulting filter graphic. + + + + + Gets or sets the color-interpolation-filters of the resulting filter graphic. + NOT currently mapped through to bitmap + + + + + Initializes a new instance of the class. + + + + + Renders the and contents to the specified object. + + The object to render to. + + + + Creates a new object that is a copy of the current instance. + + + A new object that is a copy of this instance. + + + + + Publish the element name to be able to differentiate non-svg elements. + + + + If specified, upon conversion, the default value will result in 'null'. + + + Creates a new instance. + + + Creates a new instance. + Specified the default value of the enum. + + + Attempts to convert the provided value to . + + + Attempts to convert the value to the destination type. + + + + Defines the methods and properties required for an SVG element to be styled. + + + + + Converts string representations of colours into objects. + + + + + Converts the given object to the converter's native type. + + A that provides a format context. You can use this object to get additional information about the environment from which this converter is being invoked. + A that specifies the culture to represent the color. + The object to convert. + + An representing the converted value. + + The conversion cannot be performed. + + + + + + + Converts HSL color (with HSL specified from 0 to 1) to RGB color. + Taken from http://www.geekymonkey.com/Programming/CSharp/RGB2HSL_HSL2RGB.htm + + + + + + + + + An unspecified . + + + + + A that should inherit from its parent. + + + + + A wrapper for a paint server which isn't defined currently in the parse process, but + should be defined by the time the image needs to render. + + + + + A wrapper for a paint server has a fallback if the primary server doesn't work. + + + + + Provides the base class for all paint servers that wish to render a gradient. + + + + + Initializes a new instance of the class. + + + + + Called by the underlying when an element has been added to the + collection. + + The that has been added. + An representing the index where the element was added to the collection. + + + + Called by the underlying when an element has been removed from the + collection. + + The that has been removed. + + + + Gets the ramp of colors to use on a gradient. + + + + + Specifies what happens if the gradient starts or ends inside the bounds of the target rectangle. + + + + + Gets or sets the coordinate system of the gradient. + + + + + Gets or sets another gradient fill from which to inherit the stops from. + + + + + Gets a representing the 's gradient stops. + + The parent . + The opacity of the colour blend. + + + Indicates what happens if the gradient starts or ends inside the bounds of the target rectangle. + + Possible values are: 'pad', which says to use the terminal colors of the gradient to fill the remainder of the target region, 'reflect', which says to reflect the gradient pattern start-to-end, end-to-start, start-to-end, etc. continuously until the target rectangle is filled, and repeat, which says to repeat the gradient pattern start-to-end, start-to-end, start-to-end, etc. continuously until the target region is filled. + If the attribute is not specified, the effect is as if a value of 'pad' were specified. + + + + Use the terminal colors of the gradient to fill the remainder of the target region. + + + Reflect the gradient pattern start-to-end, end-to-start, start-to-end, etc. continuously until the target rectangle is filled. + + + Repeat the gradient pattern start-to-end, start-to-end, start-to-end, etc. continuously until the target region is filled. + + + + Represents a colour stop in a gradient. + + + + + Gets or sets the offset, i.e. where the stop begins from the beginning, of the gradient stop. + + + + + Gets or sets the colour of the gradient stop. + + + + + Gets or sets the opacity of the gradient stop (0-1). + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The offset. + The colour. + + + + + Render this marker using the slope of the given line segment + + + + + + + + + Render this marker using the average of the slopes of the two given line segments + + + + + + + + + + Common code for rendering a marker once the orientation angle has been calculated + + + + + + + + + Create a pen that can be used to render this marker + + + + + + + Get a clone of the current path, scaled for the stroke width + + + + + + Adjust the given value to account for the width of the viewbox in the viewport + + + + + + + Adjust the given value to account for the height of the viewbox in the viewport + + + + + + + Represents the base class for all paint servers that are intended to be used as a fill or stroke. + + + + + An unspecified . + + + + + Initializes a new instance of the class. + + + + + Renders the and contents to the specified object. + + The object to render to. + + + + Gets a representing the current paint server. + + The owner . + The opacity of the brush. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + A pattern is used to fill or stroke an object using a pre-defined graphic object which can be replicated ("tiled") at fixed intervals in x and y to cover the areas to be painted. + + + + + Specifies a supplemental transformation which is applied on top of any + transformations necessary to create a new pattern coordinate system. + + + + + Gets or sets the aspect of the viewport. + + + + + + Gets or sets the width of the pattern. + + + + + Gets or sets the width of the pattern. + + + + + Gets or sets the width of the pattern. + + + + + Gets or sets the height of the pattern. + + + + + Gets or sets the X-axis location of the pattern. + + + + + Gets or sets the Y-axis location of the pattern. + + + + + Gets or sets another gradient fill from which to inherit the stops from. + + + + + Initializes a new instance of the class. + + + + + Gets a representing the current paint server. + + The owner . + The opacity of the brush. + + + + Determine how much (approximately) the path must be scaled to contain the rectangle + + Bounds that the path must contain + Path of the gradient + Scale factor + + This method continually transforms the rectangle (fewer points) until it is contained by the path + and returns the result of the search. The scale factor is set to a constant 95% + + + + Specifies the shape to be used at the end of open subpaths when they are stroked. + + + The value is inherited from the parent element. + + + The ends of the subpaths are square but do not extend past the end of the subpath. + + + The ends of the subpaths are rounded. + + + The ends of the subpaths are square. + + + Specifies the shape to be used at the corners of paths or basic shapes when they are stroked. + + + The value is inherited from the parent element. + + + The corners of the paths are joined sharply. + + + The corners of the paths are rounded off. + + + The corners of the paths are "flattened". + + + + Represents an SVG path element. + + + + + Gets or sets a of path data. + + + + + Gets or sets the length of the path. + + + + + Gets or sets the marker (end cap) of the path. + + + + + Gets or sets the marker (start cap) of the path. + + + + + Gets or sets the marker (start cap) of the path. + + + + + Gets the for this element. + + + + + Gets the bounds of the element. + + The bounds. + + + + Initializes a new instance of the class. + + + + + Renders the stroke of the to the specified + + The object to render to. + + + + Parses the specified string into a collection of path segments. + + A containing path data. + + + + Creates point with absolute coorindates. + + Raw X-coordinate value. + Raw Y-coordinate value. + Current path segments. + true if and contains relative coordinate values, otherwise false. + that contains absolute coordinates. + + + + Creates point with absolute coorindates. + + Raw X-coordinate value. + Raw Y-coordinate value. + Current path segments. + true if contains relative coordinate value, otherwise false. + true if contains relative coordinate value, otherwise false. + that contains absolute coordinates. + + + + Convenience wrapper around a graphics object + + + + + Initializes a new instance of the class. + + + + + Creates a new from the specified . + + from which to create the new . + + + + Creates a new from the specified . + + The to create the renderer from. + + + + + Indicates that the SVG shape rendering properties from the parent will be used. + + Based of parent. If parents are also not set, then + + + + Indicates that the user agent shall make appropriate tradeoffs to balance speed, crisp edges and geometric precision, but with geometric precision given more importance than speed and crisp edges. + + true + + + + Indicates that the user agent shall emphasize rendering speed over geometric precision and crisp edges. This option will sometimes cause the user agent to turn off shape anti-aliasing. + + false + + + + Indicates that the user agent shall attempt to emphasize the contrast between clean edges of artwork over rendering speed and geometric precision. To achieve crisp edges, the user agent might turn off anti-aliasing for all lines and curves or possibly just for straight lines which are close to vertical or horizontal. Also, the user agent might adjust line positions and line widths to align edges with device pixels. + + false + + + + Indicates that the user agent shall emphasize geometric precision over speed and crisp edges. + + false + + + + The creator of SVG content might want to provide a hint about what tradeoffs to make as the browser renders text. The text-rendering attribute provides these hints. + + https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/text-rendering + Not Implemented yet. + + + + Indicates that the SVG shape rendering properties from the parent will be used. + + + + + Indicates that the browser shall make appropriate tradeoffs to balance speed, legibility and geometric precision, but with legibility given more importance than speed and geometric precision. + + + + + Indicates that the user agent shall emphasize rendering speed over legibility and geometric precision. This option will sometimes cause some browsers to turn off text anti-aliasing. + + + + + Indicates that the browser shall emphasize legibility over rendering speed and geometric precision. The user agent will often choose whether to apply anti-aliasing techniques, built-in font hinting or both to produce the most legible text. + + + + + Indicates that the browser shall emphasize geometric precision over legibility and rendering speed. This option will usually cause the user agent to suspend the use of hinting so that glyph outlines are drawn with comparable geometric precision to the rendering of path data. + + + + + The image-rendering attribute provides a hint to the browser about how to make speed vs. quality tradeoffs as it performs image processing. + + https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/image-rendering + Not Implemented yet. + + + + Indicates that the SVG shape rendering properties from the parent will be used. + + + + + Indicates that the user agent shall make appropriate tradeoffs to balance speed and quality, but quality shall be given more importance than speed. + + + + + Indicates that the user agent shall emphasize rendering speed over quality. + + + + + Indicates that the user agent shall emphasize quality over rendering speed. + + + + + Specifies the SVG attribute name of the associated property. + + + + + Gets a containing the XLink namespace (http://www.w3.org/1999/xlink). + + + + + When overridden in a derived class, returns a value that indicates whether this instance equals a specified object. + + An to compare with this instance of . + + true if this instance equals ; otherwise, false. + + + + + Gets the name of the SVG attribute. + + + + + Gets the name of the SVG attribute. + + + + + Gets the namespace of the SVG attribute. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified attribute name. + + The name of the SVG attribute. + + + + Initializes a new instance of the class with the specified SVG attribute name and namespace. + + The name of the SVG attribute. + The namespace of the SVG attribute (e.g. http://www.w3.org/2000/svg). + + + + A collection of Scalable Vector Attributes that can be inherited from the owner elements ancestors. + + + + + Initialises a new instance of a with the given as the owner. + + The owner of the collection. + + + + Gets the attribute with the specified name. + + The type of the attribute value. + A containing the name of the attribute. + The attribute value if available; otherwise the default value of . + + + + Gets the attribute with the specified name. + + The type of the attribute value. + A containing the name of the attribute. + The value to return if a value hasn't already been specified. + The attribute value if available; otherwise the default value of . + + + + Gets the attribute with the specified name and inherits from ancestors if there is no attribute set. + + The type of the attribute value. + A containing the name of the attribute. + The attribute value if available; otherwise the ancestors value for the same attribute; otherwise the default value of . + + + + Gets the attribute with the specified name. + + A containing the attribute name. + The attribute value associated with the specified name; If there is no attribute the parent's value will be inherited. + + + + Fired when an Atrribute has changed + + + + + A collection of Custom Attributes + + + + + Initialises a new instance of a with the given as the owner. + + The owner of the collection. + + + + Gets the attribute with the specified name. + + A containing the attribute name. + The attribute value associated with the specified name; If there is no attribute the parent's value will be inherited. + + + + Fired when an Atrribute has changed + + + + + Create a deep copy of this . + + A deep copy of this + + + + Holds a dictionary of the default values of the SVG specification + + + + + Checks whether the property value is the default value of the svg definition. + + Name of the svg attribute + .NET value of the attribute + + + + The class used to create and load SVG documents. + + + + + Initializes a new instance of the class. + + + + + Gets an for this document. + + + + + Overwrites the current IdManager with a custom implementation. + Be careful with this: If elements have been inserted into the document before, + you have to take care that the new IdManager also knows of them. + + + + + + Gets or sets the Pixels Per Inch of the rendered image. + + + + + Gets or sets an external Cascading Style Sheet (CSS) + + + + + Retrieves the with the specified ID. + + A containing the ID of the element to find. + An of one exists with the specified ID; otherwise false. + + + + Retrieves the with the specified ID. + + A containing the ID of the element to find. + An of one exists with the specified ID; otherwise false. + + + + Opens the document at the specified path and loads the SVG contents. + + A containing the path of the file to open. + An with the contents loaded. + The document at the specified cannot be found. + + + + Opens the document at the specified path and loads the SVG contents. + + A containing the path of the file to open. + An with the contents loaded. + The document at the specified cannot be found. + + + + Opens the document at the specified path and loads the SVG contents. + + A containing the path of the file to open. + A dictionary of custom entity definitions to be used when resolving XML entities within the document. + An with the contents loaded. + The document at the specified cannot be found. + + + + Attempts to open an SVG document from the specified . + + The containing the SVG document to open. + + + + Attempts to create an SVG document from the specified string data. + + The SVG data. + + + + Opens an SVG document from the specified and adds the specified entities. + + The containing the SVG document to open. + Custom entity definitions. + The parameter cannot be null. + + + + Opens an SVG document from the specified . + + The containing the SVG document XML. + The parameter cannot be null. + + + + Renders the to the specified . + + The to render the document with. + The parameter cannot be null. + + + + Renders the to the specified . + + The to be rendered to. + The parameter cannot be null. + + + + Renders the and returns the image as a . + + A containing the rendered document. + + + + Renders the into a given Bitmap . + + + + + Renders the in given size and returns the image as a . + + A containing the rendered document. + + + + If both or one of raster height and width is not given (0), calculate that missing value from original SVG size + while keeping original SVG size ratio + + + + + + + + Maps a URI to an object containing the actual resource. + + The URI returned from + The current implementation does not use this parameter when resolving URIs. This is provided for future extensibility purposes. For example, this can be mapped to the xlink:role and used as an implementation specific argument in other scenarios. + The type of object to return. The current implementation only returns System.IO.Stream objects. + + A System.IO.Stream object or null if a type other than stream is specified. + + + is neither null nor a Stream type. + The specified URI is not an absolute URI. + + is null. + There is a runtime error (for example, an interrupted server connection). + + + + The base class of which all SVG elements are derived from. + + + + + Gets the name of the element. + + + + + Gets or sets the color of this element which drives the currentColor property. + + + + + Gets or sets the content of the element. + + + + + Gets an of all events belonging to the element. + + + + + Occurs when the element is loaded. + + + + + Gets a collection of all child . + + + + + Gets a value to determine whether the element has children. + + + + + Gets the parent . + + An if one exists; otherwise null. + + + + Gets the owner . + + + + + Gets a collection of element attributes. + + + + + Gets a collection of custom attributes + + + + + Applies the required transforms to . + + The to be transformed. + + + + Removes any previously applied transforms from the specified . + + The that should have transforms removed. + + + + Applies the required transforms to . + + The to be transformed. + + + + Removes any previously applied transforms from the specified . + + The that should have transforms removed. + + + + Gets or sets the element transforms. + + The transforms. + + + + Gets or sets the ID of the element. + + The ID is already used within the . + + + + Gets or sets the space handling. + + The space handling. + + + + Only used by the ID Manager + + + + + + Called by the underlying when an element has been added to the + collection. + + The that has been added. + An representing the index where the element was added to the collection. + + + + Fired when an Element was added to the children of this Element + + + + + Calls the method with the specified parameters. + + The that has been added. + An representing the index where the element was added to the collection. + + + + Called by the underlying when an element has been removed from the + collection. + + The that has been removed. + + + + Calls the method with the specified as the parameter. + + The that has been removed. + + + + Initializes a new instance of the class. + + + + + Renders this element to the . + + The that the element should use to render itself. + + + Derrived classes may decide that the element should not be written. For example, the text element shouldn't be written if it's empty. + + + + Renders the and contents to the specified object. + + The object to render to. + + + + Renders the children of this . + + The to render the child s to. + + + + Renders the and contents to the specified object. + + The object to render to. + + + + Recursive method to add up the paths of all children + + + + + + + Recursive method to add up the paths of all children + + + + + + + Creates a new object that is a copy of the current instance. + + + A new object that is a copy of this instance. + + + + + Fired when an Atrribute of this Element has changed + + + + + Fired when an Atrribute of this Element has changed + + + + + Gets or sets a value indicating whether this element's is dirty. + + + true if the path is dirty; otherwise, false. + + + + + Force recreation of the paths for the element and it's children. + + + + + Gets or sets the fill of this element. + + + + + Gets or sets the to be used when rendering a stroke around this element. + + + + + Gets or sets the opacity of this element's . + + + + + Gets or sets the width of the stroke (if the property has a valid value specified. + + + + + Gets or sets the opacity of the stroke, if the property has been specified. 1.0 is fully opaque; 0.0 is transparent. + + + + + Gets or sets the colour of the gradient stop. + + + + + Gets or sets the opacity of the element. 1.0 is fully opaque; 0.0 is transparent. + + + + + Refers to the AnitAlias rendering of shapes. + + + + + Gets or sets the text anchor. + + + + + Specifies dominant-baseline positioning of text. + + + + + Indicates which font family is to be used to render the text. + + + + + Refers to the size of the font from baseline to baseline when multiple lines of text are set solid in a multiline layout environment. + + + + + Refers to the style of the font. + + + + + Refers to the varient of the font. + + + + + Refers to the boldness of the font. + + + + + Refers to the boldness of the font. + + + + + Set all font information. + + + + + Get the font information based on data stored with the text object or inherited from the parent. + + + + + + Describes the Attribute which was set + + + + + Content of this whas was set + + + + + Describes the Attribute which was set + + + + + Represents the state of the mouse at the moment the event occured. + + + + + 1 = left, 2 = middle, 3 = right + + + + + Amount of mouse clicks, e.g. 2 for double click + + + + + Alt modifier key pressed + + + + + Shift modifier key pressed + + + + + Control modifier key pressed + + + + + Represents a string argument + + + + + Alt modifier key pressed + + + + + Shift modifier key pressed + + + + + Control modifier key pressed + + + + + Create a deep copy of this . + + A deep copy of this + + + This interface mostly indicates that a node is not to be drawn when rendering the SVG. + + + + Specifies the SVG name of an . + + + + + Gets the name of the SVG element. + + + + + Initializes a new instance of the class with the specified element name; + + The name of the SVG element. + + + + Represents a collection of s. + + + + + Initialises a new instance of an class. + + The owner of the collection. + + + + Returns the index of the specified in the collection. + + The to search for. + The index of the element if it is present; otherwise -1. + + + + Inserts the given to the collection at the specified index. + + The index that the should be added at. + The to be added. + + + + expensive recursive search for nodes of type T + + + + + + + expensive recursive search for first node of type T + + + + + + + Provides the methods required in order to parse and create instances from XML. + + + + + Gets a list of available types that can be used when creating an . + + + + + Creates an from the current node in the specified . + + The containing the node to parse into an . + The parameter cannot be null. + The CreateDocument method can only be used to parse root <svg> elements. + + + + Creates an from the current node in the specified . + + The containing the node to parse into a subclass of . + The that the created element belongs to. + The and parameters cannot be null. + + + + Contains information about a type inheriting from . + + + + + Gets the SVG name of the . + + + + + Gets the of the subclass. + + + + + Initializes a new instance of the struct. + + Name of the element. + Type of the element. + + + + Initializes a new instance of the class. + + + + + Provides methods to ensure element ID's are valid and unique. + + + + + Retrieves the with the specified ID. + + A containing the ID of the element to find. + An of one exists with the specified ID; otherwise false. + + + + Adds the specified for ID management. + + The to be managed. + + + + Adds the specified for ID management. + And can auto fix the ID if it already exists or it starts with a number. + + The to be managed. + Pass true here, if you want the ID to be fixed + If not null, the action is called before the id is fixed + true, if ID was altered + + + + Removed the specified from ID management. + + The to be removed from ID management. + + + + Ensures that the specified ID is valid within the containing . + + A containing the ID to validate. + Creates a new unique id . + + The ID cannot start with a digit. + An element with the same ID already exists within the containing . + + + + + Initialises a new instance of an . + + The containing the s to manage. + + + + Svg helpers + + + + + Gets the text value of the current node. + + + The value returned depends on the of the node. The following table lists node types that have a value to return. All other node types return String.Empty.Node Type Value AttributeThe value of the attribute. CDATAThe content of the CDATA section. CommentThe content of the comment. DocumentTypeThe internal subset. ProcessingInstructionThe entire content, excluding the target. SignificantWhitespaceThe white space within an xml:space= 'preserve' scope. TextThe content of the text node. WhitespaceThe white space between markup. XmlDeclarationThe content of the declaration. + + + + Gets the local name of the current node. + + + The name of the current node with the prefix removed. For example, LocalName is book for the element <bk:book>.For node types that do not have a name (like Text, Comment, and so on), this property returns String.Empty. + + + + Moves to the next attribute. + + + true if there is a next attribute; false if there are no more attributes. + + + + + Reads the next node from the stream. + + + true if the next node was read successfully; false if there are no more nodes to read. + + An error occurred while parsing the XML. + + + + Resolves the entity reference for EntityReference nodes. + + + + + Gets the text value of the current node. + + + The value returned depends on the of the node. The following table lists node types that have a value to return. All other node types return String.Empty.Node Type Value AttributeThe value of the attribute. CDATAThe content of the CDATA section. CommentThe content of the comment. DocumentTypeThe internal subset. ProcessingInstructionThe entire content, excluding the target. SignificantWhitespaceThe white space within an xml:space= 'preserve' scope. TextThe content of the text node. WhitespaceThe white space between markup. XmlDeclarationThe content of the declaration. + + + + Gets the local name of the current node. + + + The name of the current node with the prefix removed. For example, LocalName is book for the element <bk:book>.For node types that do not have a name (like Text, Comment, and so on), this property returns String.Empty. + + + + Moves to the next attribute. + + + true if there is a next attribute; false if there are no more attributes. + + + + + Reads the next node from the stream. + + + true if the next node was read successfully; false if there are no more nodes to read. + + An error occurred while parsing the XML. + + + + Resolves the entity reference for EntityReference nodes. + + + + + http://stackoverflow.com/questions/3633000/net-enumerate-winforms-font-styles + + + + + Evaluates the integral of the function over the integral using the specified number of points + + + + + + + + http://en.wikipedia.org/wiki/B%C3%A9zier_curve + + + http://www.cs.mtu.edu/~shene/COURSES/cs3621/NOTES/spline/Bezier/bezier-der.html + + + + Indicates which font family is to be used to render the text. + + + + + Refers to the size of the font from baseline to baseline when multiple lines of text are set solid in a multiline layout environment. + + + + + Refers to the style of the font. + + + + + Refers to the varient of the font. + + + + + Refers to the boldness of the font. + + + + + Gets or sets a of path data. + + + + + Gets the for this element. + + + + + Initializes a new instance of the class. + + + + + The element defines a graphics element consisting of text. + + + + + Initializes the class. + + + + + Initializes a new instance of the class. + + The text. + + + + Text anchor is used to align (start-, middle- or end-alignment) a string of text relative to a given point. + + + + The value is inherited from the parent element. + + + + The rendered characters are aligned such that the start of the text string is at the initial current text position. + + + + + The rendered characters are aligned such that the middle of the text string is at the current text position. + + + + + The rendered characters are aligned such that the end of the text string is at the initial current text position. + + + + + Gets or sets the text to be rendered. + + + + + Gets or sets the X. + + The X. + + + + Gets or sets the dX. + + The dX. + + + + Gets or sets the Y. + + The Y. + + + + Gets or sets the dY. + + The dY. + + + + Gets or sets the rotate. + + The rotate. + + + + The pre-calculated length of the text + + + + + Gets or sets the text anchor. + + The text anchor. + + + + Specifies spacing behavior between text characters. + + + + + Specifies spacing behavior between words. + + + + + Gets or sets the fill. + + + Unlike other s, has a default fill of black rather than transparent. + + The fill. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Gets the bounds of the element. + + The bounds. + + + + Renders the and contents to the specified object. + + The object to render to. + Necessary to make sure that any internal tspan elements get rendered as well + + + + Gets the for this element. + + + + + + Sets the path on this element and all child elements. Uses the state + object to track the state of the drawing + + State of the drawing operation + + + + Prepare the text according to the whitespace handling rules. SVG Spec. + + Text to be prepared + Prepared text + + + Empty text elements are not legal - only write this element if it has children. + + + + The element defines a graphics element consisting of text. + + + + + Represents and element that may be transformed. + + + + + Gets or sets an of element transforms. + + + + + Applies the required transforms to . + + The to be transformed. + + + + Removes any previously applied transforms from the specified . + + The that should have transforms removed. + + + + The class which applies custom transform to this Matrix (Required for projects created by the Inkscape). + + + + + The class which applies the specified shear vector to this Matrix. + + + + + The class which applies the specified skew vector to this Matrix. + + + + + Multiplies all matrices + + The result of all transforms + + + + Fired when an SvgTransform has changed + + + + + Converts the given object to the type of this converter, using the specified context and culture information. + + An that provides a format context. + The to use as the current culture. + The to convert. + + An that represents the converted value. + + The conversion cannot be performed. + + + The maximum allowed codepoint (defined in Unicode). + + + + Return the shortest form possible + + + + + exposed enumeration for the adding of separators into term lists + + + + + An implementation that generates + human-readable description of the selector. + + + + + Initializes the text. + + + + + Gets the generated human-readable description text. + + + + + Generates human-readable for a selector in a group. + + + + + Concludes the text. + + + + + Adds to the generated human-readable text. + + + + + Generates human-readable text of this type selector. + + + + + Generates human-readable text of this universal selector. + + + + + Generates human-readable text of this ID selector. + + + + + Generates human-readable text of this class selector. + + + + + Generates human-readable text of this attribute selector. + + + + + Generates human-readable text of this attribute selector. + + + + + Generates human-readable text of this attribute selector. + + + + + Generates human-readable text of this attribute selector. + + + + + Generates human-readable text of this attribute selector. + + + + + Generates human-readable text of this attribute selector. + + + + + Generates human-readable text of this attribute selector. + + + + + Generates human-readable text of this pseudo-class selector. + + + + + Generates human-readable text of this pseudo-class selector. + + + + + Generates human-readable text of this pseudo-class selector. + + + + + Generates human-readable text of this pseudo-class selector. + + + + + Generates human-readable text of this pseudo-class selector. + + + + + Generates human-readable text of this combinator. + + + + + Generates human-readable text of this combinator. + + + + + Generates human-readable text of this combinator. + + + + + Generates a combinator, + which separates two sequences of simple selectors. The elements represented + by the two sequences share the same parent in the document tree and the + element represented by the first sequence precedes (not necessarily + immediately) the element represented by the second one. + + + + + Generates human-readable text of this combinator. + + + + + Represents a selectors implementation for an arbitrary document/node system. + + + + + Generates a type selector, + which represents an instance of the element type in the document tree. + + + + + Generates a universal selector, + any single element in the document tree in any namespace + (including those without a namespace) if no default namespace + has been specified for selectors. + + + + + Generates a ID selector, + which represents an element instance that has an identifier that + matches the identifier in the ID selector. + + + + + Generates a class selector, + which is an alternative when + representing the class attribute. + + + + + Generates an attribute selector + that represents an element with the given attribute + whatever the values of the attribute. + + + + + Generates an attribute selector + that represents an element with the given attribute + and whose value is exactly . + + + + + Generates an attribute selector + that represents an element with the given attribute + and whose value is a whitespace-separated list of words, one of + which is exactly . + + + + + Generates an attribute selector + that represents an element with the given attribute , + its value either being exactly or beginning + with immediately followed by "-" (U+002D). + + + + + Generates an attribute selector + that represents an element with the attribute + whose value begins with the prefix . + + + + + Generates an attribute selector + that represents an element with the attribute + whose value ends with the suffix . + + + + + Generates an attribute selector + that represents an element with the attribute + whose value contains at least one instance of the substring . + + + + + Generates a pseudo-class selector, + which represents an element that is the first child of some other element. + + + + + Generates a pseudo-class selector, + which represents an element that is the last child of some other element. + + + + + Generates a pseudo-class selector, + which represents an element that is the N-th child of some other element. + + + + + Generates a pseudo-class selector, + which represents an element that has a parent element and whose parent + element has no other element children. + + + + + Generates a pseudo-class selector, + which represents an element that has no children at all. + + + + + Generates a combinator, + which represents a childhood relationship between two elements. + + + + + Generates a combinator, + which represents a relationship between two elements where one element is an + arbitrary descendant of some ancestor element. + + + + + Generates a combinator, + which represents elements that share the same parent in the document tree and + where the first element immediately precedes the second element. + + + + + Generates a combinator, + which separates two sequences of simple selectors. The elements represented + by the two sequences share the same parent in the document tree and the + element represented by the first sequence precedes (not necessarily + immediately) the element represented by the second one. + + + + + Generates a pseudo-class selector, + which represents an element that is the N-th child from bottom up of some other element. + + + + + Represent an implementation that is responsible for generating + an implementation for a selector. + + + + + Delimits the initialization of a generation. + + + + + Delimits the closing/conclusion of a generation. + + + + + Delimits a selector generation in a group of selectors. + + + + + Generates a type selector, + which represents an instance of the element type in the document tree. + + + + + Generates a universal selector, + any single element in the document tree in any namespace + (including those without a namespace) if no default namespace + has been specified for selectors. + + + + + Generates a ID selector, + which represents an element instance that has an identifier that + matches the identifier in the ID selector. + + + + + Generates a class selector, + which is an alternative when + representing the class attribute. + + + + + Generates an attribute selector + that represents an element with the given attribute + whatever the values of the attribute. + + + + + Generates an attribute selector + that represents an element with the given attribute + and whose value is exactly . + + + + + Generates an attribute selector + that represents an element with the given attribute + and whose value is a whitespace-separated list of words, one of + which is exactly . + + + + + Generates an attribute selector + that represents an element with the given attribute , + its value either being exactly or beginning + with immediately followed by "-" (U+002D). + + + + + Generates an attribute selector + that represents an element with the attribute + whose value begins with the prefix . + + + + + Generates an attribute selector + that represents an element with the attribute + whose value ends with the suffix . + + + + + Generates an attribute selector + that represents an element with the attribute + whose value contains at least one instance of the substring . + + + + + Generates a pseudo-class selector, + which represents an element that is the first child of some other element. + + + + + Generates a pseudo-class selector, + which represents an element that is the last child of some other element. + + + + + Generates a pseudo-class selector, + which represents an element that is the N-th child of some other element. + + + + + Generates a pseudo-class selector, + which represents an element that has a parent element and whose parent + element has no other element children. + + + + + Generates a pseudo-class selector, + which represents an element that has no children at all. + + + + + Generates a combinator, + which represents a childhood relationship between two elements. + + + + + Generates a combinator, + which represents a relationship between two elements where one element is an + arbitrary descendant of some ancestor element. + + + + + Generates a combinator, + which represents elements that share the same parent in the document tree and + where the first element immediately precedes the second element. + + + + + Generates a combinator, + which separates two sequences of simple selectors. The elements represented + by the two sequences share the same parent in the document tree and the + element represented by the first sequence precedes (not necessarily + immediately) the element represented by the second one. + + + + + Generates a pseudo-class selector, + which represents an element that is the N-th child from bottom up of some other element. + + + + + Represent a type or attribute name. + + + + + Represents a name from either the default or any namespace + in a target document, depending on whether a default namespace is + in effect or not. + + + + + Represents an empty namespace. + + + + + Represents any namespace. + + + + + Initializes an instance with a namespace prefix specification. + + + + + Gets the raw text value of this instance. + + + + + Indicates whether this instance represents a name + from either the default or any namespace in a target + document, depending on whether a default namespace is + in effect or not. + + + + + Indicates whether this instance represents a name + from any namespace (including one without one) + in a target document. + + + + + Indicates whether this instance represents a name + without a namespace in a target document. + + + + + Indicates whether this instance represents a name from a + specific namespace or not. + + + + + Indicates whether this instance and a specified object are equal. + + + + + Indicates whether this instance and another are equal. + + + + + Returns the hash code for this instance. + + + + + Returns a string representation of this instance. + + + + + Formats this namespace together with a name. + + + + + Semantic parser for CSS selector grammar. + + + + + Parses a CSS selector group and generates its implementation. + + + + + Parses a CSS selector group and generates its implementation. + + + + + Parses a tokenized stream representing a CSS selector group and + generates its implementation. + + + + + Parses a tokenized stream representing a CSS selector group and + generates its implementation. + + + + + Adds reading semantics to a base with the + option to un-read and insert new elements while consuming the source. + + + + + Initialize a new with a base + object. + + + + + Initialize a new with a base + object. + + + + + Indicates whether there is, at least, one value waiting to be read or not. + + + + + Pushes back a new value that will be returned on the next read. + + + + + Reads and returns the next value. + + + + + Peeks the next value waiting to be read. + + + Thrown if there is no value waiting to be read. + + + + + Returns an enumerator that iterates through the remaining + values to be read. + + + + + Disposes the enumerator used to initialize this object + if that enumerator supports . + + + + + Represents a selector implementation over an arbitrary type of elements. + + + + + A selector generator implementation for an arbitrary document/element system. + + + + + Initializes a new instance of this object with an instance + of and the default equality + comparer that is used for determining if two elements are equal. + + + + + Initializes a new instance of this object with an instance + of and an equality comparer + used for determining if two elements are equal. + + + + + Gets the selector implementation. + + + If the generation is not complete, this property returns the + last generated selector. + + + + + Gets the instance that this object + was initialized with. + + + + + Returns the collection of selector implementations representing + a group. + + + If the generation is not complete, this method return the + selectors generated so far in a group. + + + + + Adds a generated selector. + + + + + Delimits the initialization of a generation. + + + + + Delimits a selector generation in a group of selectors. + + + + + Delimits the closing/conclusion of a generation. + + + + + Generates a ID selector, + which represents an element instance that has an identifier that + matches the identifier in the ID selector. + + + + + Generates a class selector, + which is an alternative when + representing the class attribute. + + + + + Generates a type selector, + which represents an instance of the element type in the document tree. + + + + + Generates a universal selector, + any single element in the document tree in any namespace + (including those without a namespace) if no default namespace + has been specified for selectors. + + + + + Generates an attribute selector + that represents an element with the given attribute + whatever the values of the attribute. + + + + + Generates an attribute selector + that represents an element with the given attribute + and whose value is exactly . + + + + + Generates an attribute selector + that represents an element with the given attribute + and whose value is a whitespace-separated list of words, one of + which is exactly . + + + + + Generates an attribute selector + that represents an element with the given attribute , + its value either being exactly or beginning + with immediately followed by "-" (U+002D). + + + + + Generates an attribute selector + that represents an element with the attribute + whose value begins with the prefix . + + + + + Generates an attribute selector + that represents an element with the attribute + whose value ends with the suffix . + + + + + Generates an attribute selector + that represents an element with the attribute + whose value contains at least one instance of the substring . + + + + + Generates a pseudo-class selector, + which represents an element that is the first child of some other element. + + + + + Generates a pseudo-class selector, + which represents an element that is the last child of some other element. + + + + + Generates a pseudo-class selector, + which represents an element that is the N-th child of some other element. + + + + + Generates a pseudo-class selector, + which represents an element that has a parent element and whose parent + element has no other element children. + + + + + Generates a pseudo-class selector, + which represents an element that has no children at all. + + + + + Generates a combinator, + which represents a childhood relationship between two elements. + + + + + Generates a combinator, + which represents a relationship between two elements where one element is an + arbitrary descendant of some ancestor element. + + + + + Generates a combinator, + which represents elements that share the same parent in the document tree and + where the first element immediately precedes the second element. + + + + + Generates a combinator, + which separates two sequences of simple selectors. The elements represented + by the two sequences share the same parent in the document tree and the + element represented by the first sequence precedes (not necessarily + immediately) the element represented by the second one. + + + + + Generates a pseudo-class selector, + which represents an element that is the N-th child from bottom up of some other element. + + + + + An implementation that delegates + to two other objects, which + can be useful for doing work in a single pass. + + + + + Gets the first generator used to initialize this generator. + + + + + Gets the second generator used to initialize this generator. + + + + + Initializes a new instance of + with the two other objects + it delegates to. + + + + + Delegates to then generator. + + + + + Delegates to then generator. + + + + + Delegates to then generator. + + + + + Delegates to then generator. + + + + + Delegates to then generator. + + + + + Delegates to then generator. + + + + + Delegates to then generator. + + + + + Delegates to then generator. + + + + + Delegates to then generator. + + + + + Delegates to then generator. + + + + + Delegates to then generator. + + + + + Delegates to then generator. + + + + + Delegates to then generator. + + + + + Delegates to then generator. + + + + + Delegates to then generator. + + + + + Delegates to then generator. + + + + + Delegates to then generator. + + + + + Delegates to then generator. + + + + + Delegates to then generator. + + + + + Delegates to then generator. + + + + + Delegates to then generator. + + + + + Delegates to then generator. + + + + + Delegates to then generator. + + + + + Delegates to then generator. + + + + + Implementation for a selectors compiler that supports caching. + + + This class is primarily targeted for developers of selection + over an arbitrary document model. + + + + + Creates a caching selectors compiler on top on an existing compiler. + + + + + Creates a caching selectors compiler on top on an existing compiler. + An addition parameter specified a dictionary to use as the cache. + + + If is null then this method uses a + the implementation with an + ordinally case-insensitive selectors text comparer. + + + + + Represent a token and optionally any text associated with it. + + + + + Gets the kind/type/class of the token. + + + + + Gets text, if any, associated with the token. + + + + + Creates an end-of-input token. + + + + + Creates a star token. + + + + + Creates a dot token. + + + + + Creates a colon token. + + + + + Creates a comma token. + + + + + Creates a right parenthesis token. + + + + + Creates an equals token. + + + + + Creates a left bracket token. + + + + + Creates a right bracket token. + + + + + Creates a pipe (vertical line) token. + + + + + Creates a plus token. + + + + + Creates a greater token. + + + + + Creates an includes token. + + + + + Creates a dash-match token. + + + + + Creates a prefix-match token. + + + + + Creates a suffix-match token. + + + + + Creates a substring-match token. + + + + + Creates a general sibling token. + + + + + Creates an identifier token. + + + + + Creates an integer token. + + + + + Creates a hash-name token. + + + + + Creates a white-space token. + + + + + Creates a string token. + + + + + Creates a function token. + + + + + Creates an arbitrary character token. + + + + + Indicates whether this instance and a specified object are equal. + + + + + Returns the hash code for this instance. + + + + + Indicates whether the current object is equal to another object of the same type. + + + + + Gets a string representation of the token. + + + + + Performs a logical comparison of the two tokens to determine + whether they are equal. + + + + + Performs a logical comparison of the two tokens to determine + whether they are inequal. + + + + + Lexer for tokens in CSS selector grammar. + + + + + Parses tokens from a given text source. + + + + + Parses tokens from a given string. + + + + + Represents the classification of a token. + + + + + Represents end of input/file/stream + + + + + Represents {ident} + + + + + Represents "#" {name} + + + + + Represents "~=" + + + + + Represents "|=" + + + + + Represents "^=" + + + + + Represents "$=" + + + + + Represents "*=" + + + + + Represents {string} + + + + + Represents S* "+" + + + + + Represents S* ">" + + + + + Represents [ \t\r\n\f]+ + + + + + Represents {ident} ")" + + + + + Represents [0-9]+ + + + + + Represents S* "~" + + + + + Represents an arbitrary character + + +
+
diff --git a/tools/fastreport-designer/Localizer.exe b/tools/fastreport-designer/Localizer.exe new file mode 100644 index 00000000..6523de3c Binary files /dev/null and b/tools/fastreport-designer/Localizer.exe differ diff --git a/tools/fastreport-designer/Localizer.exe.config b/tools/fastreport-designer/Localizer.exe.config new file mode 100644 index 00000000..cc7d1564 --- /dev/null +++ b/tools/fastreport-designer/Localizer.exe.config @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/tools/fastreport-designer/UsedPackages.version b/tools/fastreport-designer/UsedPackages.version new file mode 100644 index 00000000..8d69c675 --- /dev/null +++ b/tools/fastreport-designer/UsedPackages.version @@ -0,0 +1,34 @@ + + + + + + + 2024.2.0 + + 2.88.6 + 2.88.6 + + + [11.0.6,) + 2024.2.0 + + [4.0.1,) + [4.0.1,) + + [4.7.3,) + + 4.7.0 + + + + + + + 2024.2.0 + + 2024.2.0 + + + + \ No newline at end of file diff --git a/tools/fastreport-designer/Viewer.exe b/tools/fastreport-designer/Viewer.exe index 0b24b219..9b822a77 100755 Binary files a/tools/fastreport-designer/Viewer.exe and b/tools/fastreport-designer/Viewer.exe differ diff --git a/tools/fastreport-designer/Viewer.exe.config b/tools/fastreport-designer/Viewer.exe.config index e5d022d8..a4a680af 100755 --- a/tools/fastreport-designer/Viewer.exe.config +++ b/tools/fastreport-designer/Viewer.exe.config @@ -1,25 +1,17 @@ - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tools/fastreport-designer/changes.txt b/tools/fastreport-designer/changes.txt new file mode 100644 index 00000000..f7bd21cf --- /dev/null +++ b/tools/fastreport-designer/changes.txt @@ -0,0 +1,2882 @@ +Version 2024.2 +--------------- + [Engine] ++ added OnCreatePage event for the ReportPage object +* now, when converting RTF, insignificant spaces after tabs are discarded +- added exception handling if the contents of the RichObject are incorrect +- removed top and bottom padding when splitting TextObject between pages +- fixed vertical indents in RichObject +- fixed the display of a row following a row with a column union +- fixed an exception when preparing a report with a TableObject containing MSChartObject +- fixed loss of spaces in the RTF parser +- fixed display of the bottom border line when using GrowToBottom +- fixed support for the Portuguese language in the RTF parser +- fixed a bug when the Report.IsPrepared parameter returned an incorrect value when preparing a report asynchronously +- fixed translation of RichObject to TableObject +- fixed error when printing with different pages selected +- fixed IndexOutOfRangeException when executing Graphics.Path.AddBeziers +- fixed vulnerability with the ability to call JS code from a hyperlink +- fixed default tab setting when converting RTF + + [Designer] ++ added interaction with MyReports Cloud in the Community edition ++ added the Contains (string , string) function, which determines whether a string contains a substring +* changed the text of the warning message about duplicate parameter names in the query wizard +*replaced the error with a warning form about parameters with the same names in the SQL query +*changes in SwissQR: the processing of the "Amount" field has been changed; the "Currency" field is now a text field; added processing of data from the database in the fields of information about the Recipient, Payer and in the "Link" field +- fixed Datamatrix brush color +- fixed errors in the PictureObject editor +- fixed a bug in the format editor +- fixed a bug when resizing the dialog form +- fixed the drawing of a rotated ITF14 barcode +- fixed a bug with the operation of the "select all" keyboard shortcut +-fixed a bug in resetting the format when changing an expression +- fixed errors with the separation of source data into lines, both separator options (\r\n and \n) are now supported +- now during the QR code generation process, extra \r\n characters at the end of the line are removed +- fixed NullRreferenceException when editing the SelectCommand of the data source table +- fixed text scrolling in AdvMatrix +- fixed context menu of the RFIDLabel object +- fixed the band title in the classic band display mode +- fixed a problem when using the hh:mm time format +- fixed a bug leading to System.NullReferenceException when connecting to JSON +- fixed a bug when resizing objects while holding down the Shift key +- fixed an exception that occurred when using DontEditCode +- fixed incorrect behavior of lines when changing the Height property for a horizontal line or the Width property for a vertical line if the Diagonal property is set to False + + [Preview] +- fixed a bug with the search dialog in the preview +- fixed rendering of report objects outside the page +- fixed incorrect display of superscript or subscript text for RichObject if such text is at the beginning of the line +- fixed display of vertical paddings in preview when using the LineHeight property + + [Exports] ++ added the option "Use Headers and Footers of Word Pages" when exporting Word ++ increased speed of export to docx ++ added the "Keep Line Height" option to export to Word 2007 ++ added export of hyperlinks and bookmarks to SVG +- fixed error in exporting a rotated svg image to pdf +- fixed a bug when images with a transparent background were incorrectly exported to PDF of the PdfA_1a standard in FastReport.Skia +- fixed font reset in an empty cell after exporting a report to Word +- fixed a bug with incorrect export to a JSON file +- fixed a problem with exporting to Word 2007 when using a watermark and the "Page Title" band with a system variable +- fixed a bug in svg export (hangs if text contains incorrect cr/lf sequences) +- fixed incorrect calculation of row height in a table when exporting to Excel +- fixed error in exporting vector graphics to PDF +- fixed error in SVG export (table with merged cells) +- fixed opening of exported reports in Word 2007 +- fixed incorrect black background when exporting RichObject with image to layered HTML-export +- fixed the value of the paddingNonSeparatePages variable in ImageExport (OpenSource) to eliminate unnecessary padding + + [WebReport] ++ added support for the Webcil format in FastReport.Blazor.Wasm ++ added dialog form title to WebReport ++ added a detailed description of the report compilation error in the WebReport preview +* the logic of standard images in WebReport has been reworked. Now images are loaded directly into the report, rather than being loaded by a large number of requests from the server +- fixed a problem with editing tables in a document when exporting a report to Word 2007 via WebReport + + [Extras] ++ added support of FastReport.Plugins.HtmlObject for FastReport.Core.Skia ++ added support for views and functions in the PostgreSQL connector (Extras/Core/FastReport.Data/FastReport.Data.Postgres) ++ added a new filter for selecting file extensions when connecting to SQLite, combining .db and .db3, with the first filter selected by default +- fixed import of plugins for FastReport .NET with TargetFramework net6.0 and higher +- fixed the issue of object alignment in a report that contains an HTMLObject plugin + + [Mono] +* changed the tooltip text in RichObject to Mono +- fixed maximum text length on code pages in the designer + + +Version 2024.1 +--------------- + [Engine] ++ added merging of text objects ++ added the ability to change the shape of PictureObject ++ added possibility to create custom line styles +* now work with fonts is carried out without blocking +- fixed text that goes beyond the boundaries of TextObject when TextRenderer = HTMLParagraph +- fixed font creation from PrivateFontCollection +- fixed incorrect text color in RichObject +- fixed break of RichObject with picture +- fixed a bug with break of RichObject +- fixed a bug that caused the DateTimePicker object to lose focus if its DetailedControl property was specified +- fixed barcode issues (HiDPI, PDF export) +- fixed back indent in HTMLTextRenderer +- fixed clipping of a TextObject when rendering with HTMLTextRenderer + + [Designer] ++ the "Show progress window" property has been added to the designer settings ++ added the ability to customize hotkey combinations ++ improved usability of working with the "Table" object in the designer +* added checks for Reference, now references with spaces are processed correctly +* сhanged the behavior of trees - after clearing the search field, the data tree collapses and the report tree expands +- fixed the appearance of extra lines when scaling a small RoundRectangle +- fixed slash encoding to Barcode93 Extended +- fixed removing relations when merging dictionaries +- fixed a bug with the choice of date or time formatting on the Hungarian localization +- fixed reset of search in DataTree and ReportTree +- fixed exceptions System.NullReferenceException and System.FormatException when incorrect data entered to FloatCollection + + [Preview] +- fixed incorrect size of page border when page has unlimited width or height + + [Exports] ++ implemented saving each picture in a separate stream ++ added missing links to event handlers in exports to Excel 2007, Word 2007 and RTF ++ added a new property for scaling barcodes when exporting to ZPL ++ added selection of the group by which the report will be divided into sheets in Excel 2007 ++ added the ability to disable the grouping of sheets when exporting to Excel 2007 ++ added use of wrap mode for texture fill when exporting to SVG +* when exporting to cloud storage, the window automatically closes after receiving the authorization code +- fixed private fonts collections +- fixed parsing GSUB table +- fixed incorrect export of DashDot, DashDotDot and Double object border styles to PDF +- fixed a bug that caused numbers in Gauge to appear blurry in HTML exports +- fixed calculation of the ContentMD5 header in S3 export +- fixed text positioning when exporting to ZPL +- fixed incorrect GaugeObject export to PowerPoint 2007 +- fixed incorrect RadialGauge export with filling in layered export to Word 2007 +- fixed incorrect export of RadialGauge with filling in non-layered HTML +- fixed display in "Clamp" transfer mode for texture fill when exporting to SVG +- fixed changing text size when using HTML tags in export to Excel 2007 +- fixed incorrect behavior of HTML tags with tabs when exporting to Excel 2007 +- fixed a problem of reducing the quality of the watermark when exporting to PDF +- fixed an error with incorrect margins during tabular export in Word 2007 +- fixed image positioning in CheckBox when exporting to Word + + [WebReport] ++ added ability to send an e-mail with a report from WebReport ++ added ability to print to FastReport.Blazor.WASM +— removed .NET Standard 2.0 support in FastReport.Web +- fixed a bug that caused an error when exporting in the Blazor application +- fixed Margin being ignored when printing with PrintHtml in WebReport + + [.Net Core] +- fixed a bug that caused incorrect text width calculation when exporting to PDF + + [Demos] +- fixed an issue with displaying the navigation menu after minimizing Demo New + + [Extras] ++ added FastReport.Data.Odbc plugin ++ added converting Variant to CLR types in MySqlDataConnection ++ added support of FastReport.WPF for FastReport.Data.* connector plugins +* changed the behavior of reporting duplicate names in a query +- fixed automatic creation of parameters in a request + + +Version 2023.3 +--------------- + [Engine] ++ added new RFIDLabel object ++ added GS1 automatic formatting for GS1-128 barcode ++ added loading tables in cells of other tables when converting RDL templates ++ added Config.CompilerSettings.ReflectionEmitCompiler property, which, when enabled, speeds up report preparation if the script has not been changed (works only in .NET Core/.NET) ++ added the ability to configure barcode font using the new "Font" property +* improved work with private font collections +* demo version—5-page limit removed; the text is randomly replaced with "Demo version" +- fixed an infinite loop when calculating a parameter expression equal to this parameter +- fixed the problem of reading the DataMatrix barcode by a mobile scanner +- fixed a bug when line strikethroughs were incorrectly displayed during manual transfers +- fixed the calculation of the shift of translated RichObject objects +- fixed conversion of empty Variant to other types +- fixed deletion of a column after which the column data remained in the report +- fixed the work of the VisibleExpression property for matrix and table rows and columns +- fixed deletion of fonts that are no longer present from the font_hash dictionary +- fixed a bug with unsorted tab stops in RichObject +- fixed a bug with parsing GSUB table leading to exception +- fixed loss of stream stop when exporting to PDF with the "Text in curves" option, resulting in System.StackOverflowException +- fixed a bug with loading object borders when converting RDL templates +- fixed deletion of the first three characters in the GS1-128 barcode +- fixed coding table for Code93 Extended barcode +- fixed text encoding in DataMatrix barcode +- fixed text rendering bug during word break due to lack of space +- fixed RightToLeft text conversion when the ConvertRichText option is enabled +- fixed line break in HtmlTextRenderer +- fixed a bug when page columns were printed over band columns +- fixed white highlighting of empty lines between text paragraphs and some paragraphs in RichObject when using fill +- fixed selection of text parts with white color in RichObject with ConvertRichText = true +- fixed ignoring ConnectionString if ConnectionStringExpression returned null +- fixed indents of translated text objects from RichObject +- fixed positioning of objects when translating RichObject +- fixed import of tables from JasperReports +- fixed System.NullReferenceException when clearing TableObject +- fixed horizontal image alignment in RichObject when ConvertRichText = true +- fixed System.NotImplementedException when the TextObject tab stop is negative +- fixed null conversion if the expression contains a function +- fixed System.ArgumentException when JSON data source host has an empty CharacterSet +- fixed positioning of TableObject when translating RichObject + + [Designer] ++ added ability to take column names from the first row in Excel connection ++ added categories for "Barcode" objects ++ added Config.DesignerSettings.EmbeddedPreview property for report preview in the designer window ++ added the "Other" category for dialog controls in the "Objects" panel ++ added the ability to display the translated object in the Online Designer ++ added the procedure selection page in the form of the data connection wizard ++ added the toolbar to the context menu ++ added the ability to use expressions in the "Payment amount" field in the SberbankQr editor ++ added parsing of parameters from SQL query ++ added a warning when the names of the request parameters match ++ added a check for the existence of a file when it is changed in a CSV connection via the CsvFile property +* changes in the "Query Builder" interface +* updated "Data Connection Wizard." Improved interface, fixed bugs, and increased speed +* change in the rendering of tooltips with coordinates/sizes in the designer +- fixed the problem of connecting to CSV via URL +- fixed a bug in the "Save as ..." operation for a file opened from the cloud +- fixed the "Map" object in NET 6.0 (empty polygon labels) +- fixed error with reading values from the designer configuration file +- fixed a bug when a new report page was created after double right-clicking on the "Code" tab +- fixed an error after closing the preview window with empty values of numerical parameters +- fixed a bug when the designer did not respond during the authorization process +- fixed bugs in the Gauge object editors +- fixed System.NullReferenceException when merging dictionaries that include parameter connections +- fixed text highlighting in RichObject when using property ConvertRichText = true +- fixed a bug with the order of formats when there are several expressions in a text object +- fixed a scaling error in the designer settings window on the "Plugins" tab +- fixed incorrect scaling of the data source selection form in Visual Studio +- fixed incomplete display of pages with infinite width in the preview page adding +- fixed a bug with password-protected report loading +- fixed problems with scaling some controls +- fixed a bug when fields are selected for unselected tables during connection editing +- fixed a bug when all tables were selected during connection editing, even though only some of them were actually selected +- fixed a System.IO.FileFormatException when using an incorrect XML report on the FRX page +- fixed incorrect work of font settings in MSChartObject when the scale is more than 100% +- fixed a bug when connecting a CSV database via URI +- fixed a bug when running a report with MSChartObject and SparklineObject on a DataBand with the CanBreak property enabled +- fixed problems with displaying SVG in the designer +- fixed a bug with the font size in the "Report Tree" window +- fixed the behavior of the "About" window when changing scaling +- fixed ignored MSChartObject rendering if Title is missing + + [Preview] +- fixed text object horizontal alignment when AutoWidth = true +- fixed problems with displaying SVG in preview + + [Exports] ++ added export to S3 ++ added export of page borders during image export ++ added "Use page breaks" option in the form of HTML export ++ added option to enable or disable adding bookmarks to each page when exporting to Word 2007 ++ added creating a new sheet when the number of lines approaches the maximum allowed on one Excel 2007 sheet ++ added the "Convert general format to text" option in Excel 2007 export ++ expansion of font names ++ improved font packaging subsystem for PDF export +* speeded up export to PDF +* optimized export of interactive forms to PDF +- fixed a bug when LineHeight was ignored when exporting using Skia +- fixed multi-threaded export to PDF and private font collections +- fixed loading of fonts with traditional Chinese characters +- fixed kerning of right-to-left fonts when exporting to PDF +- fixed a bug where fonts smaller than 10 were displayed incorrectly with the ConvertRichText property enabled when exporting to RTF +- fixed kerning errors in PDF export +- fixed a bug in PDF export in "Text in curves" mode at high monitor resolution +- fixed a bug when a dark frame was drawn for some objects in PDF export +- fixed export of font families registered in FastReport.Utils.FRPrivateFontCollection +- fixed display of HTML , and tags when exporting to RTF +- fixed a bug where the export of a report with pictures for Skia ended with an error +- fixed export of footer objects to RTF and DOCX +- now single-byte spaces do not disappear from the string after export to Excel 2007 +- added extra text breaks when exporting to CSV +- fixed a bug with extra separators when exporting to CSV +- fixed a bug when fonts were damaged during multi-threaded export to PDF +- fixed a bug when hyphen characters were not processed when exporting to HTML +- fixed incorrect work of hyperlinks in RichObject when exporting to PDF +- fixed row height multiplier in RTF export +- fixed double saving of report in Google Drive +- fixed API call for saving reports in OneDrive +- fixed problems with displaying SVG when exporting to PDF +- fixed errors in the export tree +- fixed export of text with HTML tags to Word 2007 + + [WebReport] ++ added report shadow in WebReport ++ added support for report export to Wasm +* changed Toolbar behavior for one-page reports +* changed the behavior of printing a report from a browser in WebReport. Now a print page closes automatically +- fixed a bug when click events in WebReport did not work +- fixed incorrect export to Word 2007 in web reports +- fixed a bug where some report objects (for example, RichObject) might not be displayed in the Web designer +- fixed a bug where a single-page report did not export if settings were used +- fixed a bug when the report was not updated when the parameter was changed + + [.NET Core] +-fixed a bug when the InvariantGlobalization option was enabled + + [Demos] +* changed the script in the "Sort Group By Total" template for the correct work of the report and display of totals when using the "Can grow" and "Can shrink" properties of the "Group Footer" band + + [Extras] ++ added export of page borders when exporting with PDFSimpleExport ++ added the ability to connect to MariaDB using the MySqlConnection plugin ++ added .db format to the file filter for connecting SQLite ++ added a plugin with support for images in WebP format +* RPTImportPlugin updated to .NET Framework 4.7.2 +- fixed a bug resulting in System.IO.FileLoadException when connecting to ClickHouse and MongoDB +- fixed the data source selection form, which did not open in the foreground + + +Version 2023.2 +--------------- + [Engine] ++ added property Config.ConnectionStringVisible, which indicates whether the connection strings of data sources will be displayed in the designer +- fixed a bug with extraction of procedures in connection that cannot contain procedures +- fixed a bug where the first column of the page was always displayed in the leftmost position +- fixed a bug when GaugeObject.Value property was set equal GaugeObject.Minimum, if new value was more than GaugeObject.Maximum. Now it will be set equal GaugeObject.Maximum + + [Designer] ++ added the ability to open report from FastReport Cloud using recent files list ++ added a context menu to the page panel elements ++ a context menu for creating new pages and dialog forms has been added for the panel with report pages ++ added new Visual Studio style icons for the Ribbon interface ++ added "Sync" button in the "Report Tree" window ++ added Filter button in the Properties window ++ added HiDPI icons for Ribbon-interface ++ added support of DBNull and Guid types for parameters +* now the name of the attached file when exporting to mail, can be set from the code when creating the export form +* report validator now runs from "Report|Validate report" menu. "Messages" window is used to display validation messages +* changed interface of QR code editor +- fixed a bug on right clicking Data Sources menu item +- fixed a bug when checkbox "Select all" was not visible in Data wizard +- fixed a bug causing System.NullReferenceException when deleting dialog form +- fixed the absence of the Api key when re-opening the Account->Server window if it was entered in the standard server item +- fixed incorrect web address when trying to preview webview for custom server +- fixed the problem of collapsing panels and incorrect change of the language of tabs and bars when changing the localization in the Ribbon interface +- fixed issue with adding tables that were not selected in the connection wizard +- fixed a bug causing System.NullReferenceException when creating connection to stored procedure +- fixed exception when manually entering an invalid parameter type +- fixed a bug where it was impossible to set an object to a transparent color +- fixed reopening of the query wizard + + [Preview] ++ added a message about sending a report to the mail in the status bar + + [Exports] ++ added word wrapping in cells when exporting to Excel 2007 +- fixed a bug that made MSChart text blurred after HTML export +- fixed incorrect margins when exporting the report to HTML +- fixed an error that made the transparent background become white with Skia +- fixed a bug with an extra empty page when exporting if there are bands with the Exportable property equal false +- fixed a bug when padding top was not taken into account when exporting to layered HTML +- fixed an error that made the text go beyond the table when the page was zoomed out in HTML export + + [WebReport] ++ added Blazor WebAssembly support ++ added support for DI in WebReport.Core/Blazor. To use, call services.AddFastReport() ++ added support for Microsoft.Extensions.Caching.Memory.MemoryCache instead of the standard WebReportLegacyCache. To use, when registering a DI container, use services.AddFastReport(options => options.CacheOptions.UseLegacyWebReportCache = false) ++ implemented the ItemCheck event in CheckedListBox ++ added an option to enable the toolbar to display regardless of the screen position in WebReport using WebReport.Toolbar.Sticky property ++ added asynchronous version of method WebReport.Designer.SaveMethod - WebReport.Designer.SaveMethodAsync ++ added validation of page range in WebReport export settings window ++ added WebReport.Toolbar.Exports.PinnedSettingsPosition property. If enabled, the container of export settings will be fixed on the screen and displayed in the foreground +- fixed a bug when selection mode in ListBox was multiple, but it was able to select only one item +- fixed a bug of non-refreshing dialog when CheckedBox was the initiator of the event. In this case, add at least one dependent object of the CheckedBox to the DetailControl property +- fixed a bug when in .NET Framework MVC application the report with dialog form on clicking "OK" would not hide dialog form and not show loading of the report +- fixed an error that caused extra pages to appear when printing +- fixed incorrect work of report 'Interactive Report' on WebReport.Core +- fixed rare NullReferenceException in WebReportLegacyCache + + [Online Designer] +- fixed a bug where First Page Source, Other Page Source, Last Page Source and Duplex properties was not saved when changing ReportPage +- fixed an error that made the report preview not refresh before pressing "Refresh" button + + [.Net Core] ++ the script compiler will now display errors depending on the selected locale set with FastReport.Utils.Res.LoadLocale() or FastReport.Utils.Config.CompilerSettings.CultureInfo +- fixed an issue where text with CanShrink = True was incorrectly rendered after export with Skia +- fixed a bug with incorrect indent width between characters with TextRenderType = HtmlTags in Skia +- fixed a bug that caused the watermark with transparency to have a gray background when exporting with Skia +- fixed an error that caused incorrect calculation of table row height + + [CoreWin] +- fixed error when trying to add new data connection + + [Mono] ++ added zoom control in preview and designer windows +- fixed problem of scaling PreviewControl + + [Demos] ++ added demo-app ASP.NET Core (Razor pages) under .NET 6.0 +* updated demo applications for FastReport Core + + [Extras] +- fixed a situation in which the host during logout could not match the one during authorization +- fixed a bug when updating an expired session in the Account window, a browser opens and requests re-authorization + + +Version 2023.1 +--------------- + [Engine] ++ added property Report.IsPrepared ++ added TextRenderType.Inline ++ implemented converter of JasperReports templates ++ implemented connection to stored procedures in MsSQL +* receiving JSON in the data source is exposed to the interface part +- fixed a bug leading to System.ArgumentException when TextObject.FontWidthRatio property equal zero +- fixed highlight of text in RTF parser +- fixed multiple requests to get image when using URL in ImageLocation +- fixed IsNull function +- fixed a bug with drawing RichObject with aligned pictures +- fixed an issue where the calculation of vertical distances was incorrect when converting RichObject to text +- fixed AdvMatrix object bug with report refresh +- fixed a bug with getting JSON row of JsonTableDataSource +- fixed a bug leading to infinite loop when building table if there is not enough space on page for one row + + [Designer] ++ added ability to create calculated column for IEnumerable data sources ++ added window with message about loading a report when opening a file ++ added column with error numbers in table of report validation ++ added the ability to hide and show columns with the number and type of error in the report validation table ++ added notification form when trying to resave report that has already been modified ++ added ability to show web preview of report that was opened from FastReport Cloud ++ added ability to interact with data source from Cloud - downloading, uploading, updating +* increased the speed of the report validator +* the delete band button is now disabled in situations where the band cannot be deleted +* changed root folder name on FastReport Cloud form, it depends now on localization +* now there is not possible to create a table in the query wizard if another table with the same name already exists +- fixed data tree view with IEnumerable data source, which column was not adding, if it consists of value type +- fixed a bug with localization of the "Remove" button in the report properties on the "Script" tab +- fixed a bug with selection object after click on row in "Validation" window +- fixed a bug due to which selected object did not change when changing the height of the band with mouse +- fixed a problem with System.OverflowException when editing text object without editor +- fixed a bug causing System.StackOverflowException when copying formatting +- fixed selection of object located on inactive page when clicking on row in "Validation" window +- fixed showing progress of updating list of errors in "Validation" window when changing report +- fixed an error with an invalid value when changing the line color in the MSChartObject editor +- fixed order of switching by "Tab" key in connection forms +- fixed a bug where the border properties of the chart axes were not saved when they were changed in the editor +- fixed incorrect values when changing the interval in the stripes on the axes in MSChartObject +- fixed an error that occurred when deleting a band through the band configurator if the classic mode for displaying bands is selected +- fixed an error that occurs when clicking the "Delete" button on the configure bands form if there are no bands in the report +- fixed an error that occurs when removing bands from the workspace with holding left mouse button +- fixed restoring state of GridControl when closing column editor form +- fixed an error that occurs when clicking on the "Cancel" button in the Grid object column editor +- fixed displaying label about report change when changing MSChartObject +- fixed moving columns of GridControl in column editor form +- fixed bugs when dragging objects from the report tree to pages and the "Code" tab +- fixed errors in the query constructor window when adding a table to the workspace and when creating relationships between tables + + [Preview] ++ added tooltip for the "Copy" field in the "Send by E-mail" form +- fixed display of the print form when increasing the display scaling +- fixed a bug when new exports did not appear in the menu +- fixed order of switching by "Tab" key in export forms +- fixed left indent of RichObject + + [Exports] ++ added option "Print optimized" in RTF export ++ added the ability to export currency data format as accounting in Excel 2007 export ++ added UseFileStream option for Excel 2007 export +* increased export forms for correct display of inscriptions in different localizations +- fixed a bug with exporting lines drawn from right to left or from bottom to top when exporting to layered HTML +- fixed a bug with exporting Tahoma italic font to PDF +- fixed a bug that resulted in a System.ArgumentException when exporting to a stream with the ImageExport.SeparateFiles property enabled +- fixed a bug in SVG export where some shapes were drawn twice +- fixed a bug with the export of the accounting format in Excel 2007, which did not take into account the number of decimal places +- fixed memory leaks in tabular-type exports +- fixed a bug with temporary file deletion in case of emergency program shutdown during export to PDF +- fixed a bug with exporting italic and bold fonts to PDF +- fixed a bug due to which the background of objects with a Solid fill was not printed from the browser +- fixed a bug with set method of HtmlTemplates.IndexTemplate property +- fixed export of 4-byte symbols to PDF +- fixed row height multiplier in export to RTF +- fixed row height multiplier in table export to Word 2007 +- fixed position of first object on page with non-zero value in export to Word 2007 +- fixed a bug of access to temporary file when exporting to Excel 2007 using the UseFileStream and SplitPages properties +- fixed a bug with localization of CurrencyToAccounting property in Excel 2007 export +- fixed navigation buttons and page numbering display in HTML export +- fixed ascent and descent of font in PDF-export + + [WebReport] +* reworked WebReport.ReportPrepared property, now this property is bound to the same report's property +* updated WebReport design for FastReport.Core.Web and FastReport.Web.Blazor +- fixed a rare crash when trying to add an empty data source to WebReport +- fixed a bug due to which Outline did not work in WebReport.LoadPrepared() +- removed refresh button when loading prepared report (.fpx) +- fixed an issue due to which tabs of RichObject were incorrectly calculated in WebReport +- removed page selection in export settings for single-page reports + + [.Net Core] ++ added LoadReport method with stream instead of filename string for Stimulsoft Import + + [CoreWin] +- removed extra components from the Visual Studio toolbar + + [Demos] +* updated design of demo reports +- fixed a bug with scaling child windows in new demo application + + [Extras] ++ plugin FastReportBGObjects was updated, added support for Bubble chart +* connection to ElasticSearch moved to a separate plugin + + +Version 2022.3 +--------------- + [Engine] ++ implemented converter reports of StimulSoft ++ added changing name of JSON data source in expressions when it's renamed ++ added converting of PaperSize property when converting reports from StimulSoft ++ added checking existence of referenced assembly when converting reports from StimulSoft ++ added PrintOnParent property to Table and Matrix objects ++ added loading of report parameters when converting reports from RDL ++ added loading of subreports when converting reports from RDL ++ added the feature to store JSON connection data using the StoreData property ++ optimized speed in reports containing large amount of objects +* changed exception text when calculating and formatting expression if e.InnerException is null +* when loading RDL report, page width will be equal section width in case when there is no page width +- fixed length calculation encoding DataMatrix C40 and text; +- handled System.ComponentModel.Win32Exception when printing with disabled Print Spooler +- fixed hide border of picture when printing with auto size +- fixed stack overflow error when prepare report with child band of page footer and then start new page option enabled for it +- fixed a bug with not passing path of base report to current one in Unix OS +- fixed a bug with creating subreport and page with the same name when converting reports from StimulSoft +- fixed a bug with invalid names when converting reports from StimulSoft +- fixed a bug with TotalPages in Page.VisibleExpression that causes an exception when double pass is disabled +- fixed a bug when band can grow out of page +- fixed a bug when objects can grow out of band or ContainerObject +- fixed "back indent" feature in RTF translator +- fixed RichText line spacing when RTF translated to report objects +- fixed an error with ConnectionString property in JsonDataSourceConnectionStringBuilder class when value was without a request headers + + [Designer] ++ added the report validator that helps to find invalid objects (duplicate names, negative sizes, etc.) ++ added editor for RichObject.Text property ++ added FRX editor in report designer ++ added detailed description of referenced assemblies and installed plugins ++ added the ability to copy dialog pages ++ added the ability to delete dialog pages using the context menu ++ added ability to disable using of last formatting options when creating objects ++ added integration with FastReport.Id ++ added call to online-documentation in the report designer ++ added wizard for visualization of control identification signs ++ add tooltip about right and bottom indents for guides and objects in designer ++ added ability to select color of backlight intersecting objects in designer ++ added possibility to connect bases of Access 2007 +* changed the look of ElasticSearch connection editor form +* changed the text fields in CISWizardForm with units to text fields that only support numbers +- fixed a bug leading to System.NullRefereceException when creating calculated column for subtable JSON +- fixed a bug leading to System.FormatException when drawing labels of maps +- fixed a bug leading to the System.NullReferenceException when clicking the "Paste" button in the context menu of dialog pages +- fixed a bug with scaling zoom controls of designer in HiDPI mode when run from old demo application +- fixed opening form of save changes after save all report +- fixed unscalable items in welcome window +- fixed backlighting intersected charts +- fixed exception on rename JSON table +- fixed UpdateStatusBar in DialogWorkspace +- fixed a bug with localization of "Account..." button in menu "File" +- fixed canceling selection of object if its properties are changed +- fixed a bug when switching to the "Code" page did not occur after adding an event handler + + [Preview] ++ implemented export of all open tabs +- fixed a bug leading to System.NullReferenceExteption when preparing report with RichObject on system without printers +- fixed a bug in the MSChart object in HiDPI mode + + [Exports] ++ added export of locale in Word, PowerPoint, Rich Text, OpenOffice Write and OpenOffice Calc exports ++ added encryption of the password of the digital signature certificate in PDF-export when it is saved ++ added option "Show gridlines" when exporting to Excel 2007 ++ added data types export to DBF ++ added a new property to the SVG export PrefixStyle, which allows you to set a prefix for all styles inside the SVG export ++ added option "Use locale formatting of data" when exporting to Excel 2007 ++ added PDFExport.UseFileStream property, which allows to export huge reports on systems with low amount of RAM without System.OutOfMemoryException +* set UTF-8 as default encoding in DBF export +- fixed incorrect scaling pictures in layered HTML-export when enabled high quality SVG and zoom more than 1 +- fixed a bug leading to System.IndexOutOfRangeException when exporting font without kerning to PDF +- fixed a bug with scaling picture in layered HTML-export +- fixed a bug leading to System.NullReferenceException when exporting report with empty page to Word 2007 +- fixed memory leak in PDF export with some CJK fonts +- fixed a bug when SVG picture was not rotated to needed angle in HTML/Blazor export +- fixed repeated rendering of table cell in SVG export +- fixed incorrect pageStyle when printing from browser for table HTML export +- fixed exception when export object with negative size in HTML export +- fixed export to pdf if Compressed = false +- fixed incorrect record of border-collapse property in table HTML-export +- fixed a bug in Excel-export, when the fill in the output file did not change the first time +- fixed export of watermark to PostScript +- fixed error of font scale when export to PDF +- fixed a bug where a text object with HtmlTags exported to RTF was not modified by the
, , tags + + [WebReport] +* onlineDesigner properties are moved to webReport.Designer with backwards compatibility +- fixed a bug when event "CheckedChanged" handled by RadioButton was not performed +- fixed incorrect scaling of Dialog components in Blazor +- fixed a bug with incorrect font size in Excel export +- fixed a bug in Blazor when font of text object with property TextRenderType = HtmlParagraph was always default + + [.NET Core] +- fixed incorrect search for public-methods in report script +- fixed problem of creating a fontlist file on Azure + + [CoreWin] +- fixed behavior of WinForms components in Toolbox for Visual Studio (Design-Time) +- fixed incorrect launch of the browser when clicking on links in CoreWin +- for FastReport.CoreWin, reports with a script that use the WinForms API have been fixed + + [Demos] ++ added the ability to change the localization of a new demo application without restarting it ++ added demo on React with FastReport.Core +- fixed position of one chart in Chart.frx + + [Plugins] ++ implemented connection to Cassandra +* updated RPTImportPlugin + + [Extras] ++ added FastReprot.Web (only for .NET Framework) and FastReport.VSDesign libraries for FastReport.Net* packages ++ added an option to import reports using streams + + [Service] +- fixed incorrect version of FastReport.Compat in FastReport.Net packages + + +Version 2022.2 +--------------- + [Engine] ++ added ability to save report with random data +* the ExportBand method now uses the BandBase argument instead of Base +- fixed bugs with double calling events AfterData, BeforePrint and AfterPrint of ContainerObject +- fixed a bug leading to System.NullReferenceException when running reports with dialog forms +- fixed a bug with not working VisibleExpression property of subreports and pages +- fixed a bug with vertical shift of non-intersecting objects when converting RTF +- fixed a bug with right anchor on pages with unlimited width and landscape orientation +- fixed translation of lists when converting RTF +- fixed a bug with not working RichObject.AllowExpressions property +- fixed a bug leading to System.OverflowException when drawing unlimited page without preparing + + [Designer] ++ added backlight of intersecting objects ++ added ruler with guides in RichObject editor ++ replaced password symbols on dots in object inspector ++ added warning about possible stack overflow when putting Matrix or AdvMatrix on repeated bands +- removed error message when text of barcode consist expression +- fixed a bug with disable hot keys option +- fixed dropdown menu when click on LineStyle and LineWidth button +- fixed a bug with viewing data in designer +- fixed bugs leading to System.NullReferenceException when dragging objects into AdvMatrix +- fixed a bug with incorrect showing settings of shadow in border editor + + [Preview] +- fixed a bug leading to System.NullReferenceException when clicking on editable TextObject +- fixed a bug with not working hyperlinks in report with multi-column databands +- fixed a bug when exporting a report resulted to saving the prepared report +- fixed a bug with setting lists of available exports and exports to clouds in PreviewControl + + [Exports] ++ added export to ZPL II ++ added option "High Quality SVG" in export to HTML ++ added option "Pinned cells" in export to Excel 2007 ++ added ability to scale print in export to Excel 2007 ++ added export of bookmarks and inner hyperlinks to Word ++ added export of numbers and dates format to Excel 97 ++ added encryption of personal data in Email-export ++ added indent of RichObject in export to RTF ++ added line break of RichObject in export to RTF ++ added indent of TextObject when exporting to Word ++ added export of tab width in PDF, Word, HTML and RTF exports ++ added property PrefixStyle to SVG-export, which allows to set a prefix for all styles +* improved export of RichObject to Excel 2007 +* removed FastReport Cloud and XMPP exports +- fixed incorrect rotation of landscape orientation of pages when printing HTML if they used styles from previous pages +- fixed a bug with font scale when export to PDF +- fixed a memory lose when export SVG objects to HTML with option "High Quality SVG" +- fixed a bug with embedding fonts for which packing is prohibited in PDF-export +- fixed a bug with exporting tab symbols to Word +- fixed fill background picture and property of line-height in export to HTML +- fixed a bug with exporting custom dash line of SVGObject to PDF +- fixed a bug with exporting borders of spanned cells to SVG + + [WebReport] ++ added interactivity for advanced matrix in WebReport +- fixed closing canceling processing in OnFormClosing in Core web dialogs + + [.NET Core] +- fixed a bug with not working "open after export" option + + [WebReport Core] +* now the DatePicker icon looks the same in all browsers + + [Demos] ++ added a new demo for Blazor with a demonstration of working with two reports +- fixed a bug due to which the cursor did not change when hovering over links in the new demo +- fixed a bug with AdvMatrix in new demo + + [Plugins] ++ added connection to Excel +- fixed SQLite connector for FastReport.Core, FastReport.CoreWin and FastReport.OpenSource +- fixed a bug with ConnectionString to Firebird + + [Extras] ++ added tool for conversion of RTF documents to report templates (\Extras\Misc\rtf2frx) + + +Version 2022.1 +--------------- + [Engine] ++ added a new AdvMatrixObject ++ added GS1 DataBar barcodes: Limited, Omnidirectional, Stacked and Stacked Omnidirectional ++ added new properties: Config.CompilerSetting.ExceptionBehaviour and Config.CompilerSetting.Placeholder. +> these properties give the ability to customize the behavior when exceptions are thrown with incorrect names of database tables and fields. ++ added translation of RichObject inside TableCell +* reworked translation of RichObject into report objects +- fixed ShiftMode of translated RTF object +- fixed a bug with two parameters with the same name in report leading to System.ArgumentException +- fixed a bug with subreport containing multicolumn Databand +- fixed a bug with wrong band height calculation +- fixed a bug with displaying of hyperlinks when converting RTF to report objects +- fixed translation of RichObject if it set from a report script +- fixed a bug with private fonts added to Config.PrivateFontCollection + + [Designer] ++ added verification of entered data in editing window of the QR code of SberBank +- fixed a bug with line break in text object editor +- fixed a bug when converting rdl reports containing matrices inside table cells +- fixed a bug with guide lines in the designer +- fixed a bug with Report tree window +- fixed a bug leading to System.NullReferenceException and crash of the designer during its launch when the Auto Guides option is enabled + + [Preview] +- fixed a bug with shifting the position of objects when switching the view of bands while editing a prepared page + + [Exports] ++ implemented export of watermark to Word ++ implemented export of watermark to RTF ++ added "Don't rotate landscape pages when printing" option in export to HTML ++ added the ability to change the name of the attached file when sending by Email ++ add zooming of SVG images in export matrix ++ added the ability to export a property that determines the size and position of the image when exporting to Excel 2007 ++ implemented ability to hide or show gridlines when exporting to Excel 97 ++ implemented export of groups on separate sheets to Excel ++ implemented export of transparency level watermark images to Word ++ implemented export image size of watermark to RTF +- fixed a bug leading to System.NullReferenceException when exporting to text, tables with rows count less then one +- fixed incorrect left padding of tables in export to Word +- fixed a bug with Wingdings font in HTML tags when exporting to HTML +- fixed a bug with export Wingdings and Webdings fonts to HTML +- fixed a bug with width of frame in export to PowerPoint +- fixed a bug with exporting objects with transparent fill to RTF +- fixed a bug with exporting objects with transparent fill to Word +- fixed a bug leading to System.OutOfMemoryException when exporting to PDF +- fixed incorrect line break display when exporting to HTML +- fix out of memory when export to PDF +- fixed bugs in export to PDF in non-Windows systems +- fixed a bug with exporting tables with more than 63 columns to Word 2007 +- fixed a bug leading to a memory leak and System.OutOfMemoryException in PDF-export when the "Text in curves" option is enabled +- fixed a bug with line break in HTML-export + + [WebReport] +- fixed a bug with new line character when using Wingdings font + + [.Net Core] ++ added support for .NET 6 +- fixed incorrect search for Bold-Italic fonts + + [WebReport Core / Blazor Server] ++ added the ability to configure the properties of exporting a report from WebReport. +> When the webReport.Toolbar.Exports.EnableSettings property is activated, the settings icon will appear next to the required export button ++ added property webReport.SplitReportPagesInTabs, which allows you to split different ReportPage-s in different tabs of WebReport ++ added static class names for the ability to override the standard styles of toolbar, outline and other elements +- fixed updating WebReport when entering a value from the keyboard in the DateTimePicker field +- fixed the width of tabs with non-standard sizes of the report page + + [Demos] ++ added demo of using WebReport Core for .NET 5 ++ added demo of using WebReport Core for Angular ++ added demo of using WebReport Blazor for Blazor Server + + +Version 2021.4 +--------------- + [Engine] ++ added connection to ElasticSearch ++ added a new barcode - Japanese PostNet ++ added the Res.LoadLocale (CultureInfo) method, which changes the selected locale by the CultureInfo argument. Loaded locales are cached. For correct operation, the added FastReport.Localization package is required +* optimized and unified converter RichText to report objects +- fixed a bug with incorrect tab width when TextObject.TextRenderType = TextRenderType.HtmlTextRenderer +- fixed a bug with SubreportObject on a page footer band which caused StackOverflow exception +- fixed a bug with Dock and Anchor properties of objects inside table/matrix cells +- fixed a bug leading to System.ArgumentException when drawing PictureObject located outside the band +- fixed a bug with incorrect work of right anchor (Anchor = AnchorStyles.Right) when page has unlimited width +- fixed a bug with replacing a custom font with a default font when preparing a report +- fixed a bug with vertical alignment when converting RTF (by default, now Top instead of Center) +- fixed a bug with converting RTF tables to report objects + + [Designer] ++ added simplified display of DB field names in the designer ++ added collapse all/expand all button and search field for Report tree and Data tree ++ new icons added. Use the designer's "View|Options|User interface" dialog to switch between icon packs. +- fixed a bug leading to the crash of the report designer with an incorrect table in the data source. + + [Preview] +- fixed a bug with saving prepared reports containing converted RichObject + + [Exports] ++ added option when export to Word 2007 "Do not add section breaks on page breaks". By default, both page breaks and section breaks are added. +- fixed page-break in Html export (PageBreaks property) +- fixed SVG export with "Multiply export" parameter +- fixed SVG export bug on hidpi monitor +- fixed the names of files saved in the zip archive +- fixed tab symbols width when export RichObject +- fixed XPS export bug where documents exported on Linux would not open on Windows +- fixed bugs with incorrect work of Anchor and Dock properties when exporting pages with unlimited width +- fixed a bug in Excel 2007 export of text objects with enabled HtmlParagraph render type. Disable WYSIWYG export option to export text instead of images. + + [WebReport] ++ added support for Blazor components for FastReport.Core3.Web package ++ added background-color support for dialogs in WebReport ++ added support for the Enabled property for dialogs in WebReport ++ added support for the MaxLength property for the TextBox dialog component in WebReport +* optimized loading of localization for Toolbar +- fixed incorrect output of multiline text in Blazor (Interactive Forms & TextBox) +- fixed incorrect page background-color for HTML/Blazor export on Safari browsers +- fixed missing line breaks for the Label dialog component in WebReport +- fixed a bug with hanging of online designer save call-back in WebReport with sessions +- fixed bugs with incorrect work Anchor and Dock properties on pages with unlimited width + + [Online Designer] +- fixed save/preview from OnlineDesigner with page in Landscape orientation + + [.Net Core] ++ added support for Single File Application +* updated dependencies for FastReport.Compat and FastReport.DataVisualization. FastReport.Compat now correctly detects the possibility of using the WinForms API. FastReport.DataVisualization now has no dependency on System.Data.SqlClient and System.Drawing.Common +- fixed a bug where the report did not work with data from the custom library, although it was registered with ReferencedAssemblies in CoreWin +- fixed application crash when loading a report with unknown Font in multiple threads on Linux +- fixed a bug "Could not load type 'System.Drawing.Design.UITypeEditor'" +- fixed loading of table names in XmlDataConnection +- fixed a bug due to which the report and resources were not loaded when publishing/debugging using IIS/IIS Express. For correct work, you need to call the `UseFastReport()` method before 'UseMvc/UseEndpoints' + + [WebReport Core] ++ added xml comments (DocumentationFile) to Web libraries ++ added a property to disable showing of the toolbar on the dialog page of the report: webReport.Toolbar.ShowOnDialogPage ++ added more exports to the toolbar dropdown menu. These properties are available in webReport.Toolbar.Exports ++ added the ability to customize the toolbar: Position, color of the drop-down menu, font, transparency of icons, change the color of icons, change the position of content. These properties are available in webReport.Toolbar ++ dialog DateTimePicker for WebReport has been improved. In DateTimePicker.Format.Time mode, it displays only time, in DateTimePicker.Format.Short mode - only date, DateTimePicker.Format.Long - both date and time. + + [Extras] ++ added package 'FastReport.Localization', which includes FastReport localization files in your project for working with different languages ++ added FastReport Business Graphics integration objects (\Extras\Objects\FastReportBGObjects) + + [Demos] ++ implemented transition to list of reports, when clicking on the arrow on folder in new demo +* changed target framework for new demo to 4.7.2 +* changed color of inactive buttons in the thumbnail view mode of new demo +* changed background color of the zoom slider in new demo +* changed background color when displaying dialog forms in the new demo +* changed background color of interactive reports tabs in new demo +* changed the location of the folder with report thumbnails for the demo application. Now this folder is located not in Program Files but in AppData\Local +- fixed problems with displaying interface elements of the new demo application +- fixed a bug that caused saving a prepared report when clicking on the drop-down items in the save menu of the new demo application +- fixed a bug with alignment of reports in preview window of the new demo +- fixed a bug with double launching dialog formа when selecting a report in new demo +- fixed a bug with stretching thumbnails in the new demo +- fixed a bug leading to a lag when moving the window of new demo +- fixed a bug in the new demo with simultaneous displaying of thumbnails in folder and report bars + + [Plugins] +* packages with plugins-connectors FastReport.Data.** have been updated. Now they include plugins for different FastReport editions (.NET, Core, CoreWin, OpenSource) and automatically include the necessary library, depending on the product used +* postgres npgsql version downgrade from 4.0.3 to 3.2.7 + + +Version 2021.3 +--------------- + [Engine] ++ added HiDPI support to new demo application +- fixed a bug where page sizes could reset after preview +- fixed a bug where printing a RichText object on large Windows scaling was happening incorrectly +- fixed a bug leading to System.ArgumentOutOfRangeException in Substring functions +- fixed a bug leading to System.ArgumentException when drawing PictureObject with some images +- fixed a bug when tables were not displayed when connecting to Advantage Database via ODBC +- fixed a bug where RichText went outside the page +- fixed a bug with recompiling the report script that interacted with ChildBand + + [Designer] ++ improved the behavior of the page panel +- fixed a bug with index of bounds in SQLBuilder in Designer +- fixed a bug where the dialog page did not open if it had a GridControl +- fixed bugs in Right to Left mode +- fixed a bug when rescaling the dialog form + + [Preview] +- fixed a bug where the percentage of scale in Preview could be displayed incorrectly + + [Exports] ++ added export to XODT ++ added export to XODS +- fixed a bug of export to ODF when the document did not open in MyOffice +- fixed a bug with closing cell with RichText when exporting to RTF +- fixed a bug when exporting objects with rendering mode HtmlParagraph +- fixed a bug with exporting line with arrow cap in layered export to Word 2007 +- fixed a bug with exporting line with arrow cap in export to PowerPoint 2007 + + [WebReport] ++ added Razor components for embedding into a Blazor Server applications. It is part of the FastReport.Web package and is located along the path: FastReport.Web.Blazor.Components. It is recommended to use the WebReportContainer component to display the report. +- fixed a bug in WebReport Core with SinglePage and Dialogs +- fixed a bug with compilation VB.NET script, resulting in an error "Modules cannot be generic" + + [.Net Core] +* updated package reference Microsoft.CodeAnalysis to 3.3.1 version +* updated FastReport.Compat dependency to 2021.1.4 version +- fixed a bug with incorrect images in PDF export on Linux +- fixed a bug leading to System.NullReferenceException when call CsvDataConnection.CreateAllTables() + + [Extras] +- fixed a bug with incorrect loading of table names from ClickHouse + + +Version 2021.2 +--------------- + [Engine] ++ added HiDPI support ++ added CountDistinct aggregate function (report totals and Matrix object totals) ++ added support of TLS 1.2 ++ added new 2 types of UncheckedSymbol for CheckBox ++ added the ability to disable loading of XML and CSV data locally ++ added ability to load XML data source by URL ++ added possibility to change font for east-easian languages in Word2007-export ++ added functions of converting numbers to words for Polish language ++ added universal package for Windows, targeting .NET Framework 4.x, .NET Core 3.1 and .NET 5 +* optimized copying streams in some cases +- fixed a bug with incomplete copying of the matrix when copying the report page +- fixed bugs when importing DevExpress reports +- fixed bugs when importing RDL reports +- fixed a bug when a band with the FillUnusedSpace property enabled was not displayed again, although there is enough free space +- fixed bugs when importing List and Labels reports +- fixed a bug where the AutoSize property for SvgObject did not work correctly +- fixed a bug with TextObject.AutoShirnk=FontSize when TextObject's size is very small +- fixed a bug with incorrect TotalPages variable value when it used in VisibleExpression +- fixed a bug with converting RichText when RichObject.Text is null + + [Designer] ++ added ability to copy data source ++ added import of DevExpress reports saved in XML format ++ added the ability to add text and pictures by dragging and dropping them from the browser +- fixed a bug with adding a barcode, leading to creation of a barcode with the wrong type +- fixed a bug when dragging from functions created a NUD and an empty TextObject +- fixed a bug when the RichTextBoxControl was not rendered correctly in the dialog workspace +- fixed scaling issues in the WelcomeForm and Wizard windows +- fixed SberbankQR tab in barcode editor +- fixed a bug with copying an object, when an object with the same name was created + + [Preview] +- fixed a bug leading to System.ObjectDisposedException when re-preparing the report + + [Exports] ++ added support of ODF 1.2 in export to ODT/ODS +- fixed saving report to Box +- fixed saving report to OneDrive +- fixed saving report to Google Drive +- fixed a bug leading to System.OutOfMemoryException when exporting to PDF +- fixed a bug with creation of incorrect file when exporting to Excel 2007 with big amount of pages and page breaks option +- fixed a bug where export to image did not take into account the transparent background of the report +- fixed a bug leading to System.NullReferenceException when exporting to Excel 2007 +- fixed validation errors in export to ODT/ODS +- fixed a bug in ODT-export when the file did not open correctly in Word 2019 +- fixed a bug with incorrect line position when exporting to Word 2007 + + [WebReport] +- fixed "Save report" in Online Designer without changes +- fixed an issue with wrong margins between objects on preview + + [.Net Core] ++ added more references to .NET Standard libraries for correct compile of the report script +- fixed sets EnableScriptSecurity property before initialize Report class +- fixed checking WebMode for .NET Core + + [Mono] +- fixed a problem with incorrect work designer menu + + [Extras] ++ fixed minor bugs in new demo +* updated FastReport.RPTImportPlugin to use packages +- fixed a bug with fetching empty collections +- fixed a bug with connection to PostgreSQL 12 and newer. The connector can be found here \Extras\Core\FastReport.Data\FastReport.Data.Postgres + + +Version 2021.1 +--------------- + [Engine] ++ added support of .NET 5 ++ added a new barcode - Deutsche Post Leitcode ++ added a new barcode - SberBank QR ++ added functions of converting numbers to letters ++ added functions of converting numbers to words for Indian language ++ added rupee symbol for Indian currency ++ added functions of converting numbers to words for Persian language ++ added functions of converting numbers to words for Ukranian language ++ added the Report.Prepare (int pagesLimit) method, which allows to prepare a limited number of pages* optimized work of VisibleExpression, PrintableExpression and ExportableExpression properties for bands +* optimized work of VisibleExpression, PrintableExpression and ExportableExpression properties for bands +* improved algorithm of converting RTF to report objects +- fixed a bug with web response stream reader when connecting to remote JSON +- fixed a bug while compiling the report with some expressions in the properties VisibleExpression, PrintableExpression and ExportableExpression +- fixed a bug with font.list file leading to exception "System.IO.FileNotFoundException". +- fixed a bug with incorrect checksum calculation in Deutsche Post Identcode barcode +- fixed ReCompile (adding assemblies after Compile with error) + + [Designer] +- fixed a bug with empty database name after reloading the report +- fixed a bug when double click to arrow buttons on report tab creates a new report page + + [Exports] +- fixed a bug with exporting strings containing only spaces in DXF export +- fixed a bug in PDF export, leading to disappearance of spaces when there are tabs in the report +- fixed a bug with exporting page footers when export to Excel 2007 in seamless table mode +- fixed a bug with exporting "\" character in Excel 2007 export + + [WebReport] ++ added correct view of script errors in ScriptSecurity mode +- fixed a bug with PDF export in online designer +- fixed a bug with ParagraphOffset + + [.Net Core] ++ added properties ShowDbfExport, ShowMhtExport, PrintInHtml, PrintInPdf for WebReport that allow you to enable/disable the display of buttons in the toolbar of the corresponding exports/print +* now in FR.Core we detect WebProcess and StubClasses aren't added to ConsoleApp\Library on FR.Core +- fixed a bug with RichObject expressions +- fixed a bug with exporting MSChartObject in Power Point 2007 export +- fixed a bug with exporting images in Excel 2007 export on Windows + + [Resources] +* updated French resources + + [Extras] +* changed dependency in project of Crystal Reports converter from System.Windows.Forms.DataVisualization to FastReport.DataVisualization +* updated MongoDB connection plugin in Core and OpenSource + + +Version 2020.4 +--------------- + [Engine] ++ added new barcode ITF-14 ++ added new barcode Deutsche Post Identcode ++ added ability to align barcodes ++ added property PictureObject.ImageSourceExpression that allows to set expression containing source of image ++ added possibility to use expression in brackets in VisibleExpression, PrintableExpression and ExportableExpression properties ++ added the PictureObject.ImageFormat property, which allows to select the image storage format +* now FastReport.DataVisualization added to the list of assemblies by default (FR .Net, FR.Core) +- fixed a bug where the designer crashed when the "Start new page" property is enabled for the page header child band +- fixed a bug where the value of an expression was displayed by the text of this expression +- fixed incorrect drawing of ITF-14 barcode +- fixed a bug with transparency of RichObject + + [Designer] ++ added the ability to edit the number of rows and columns of the table by dragging the mouse ++ added loading of RTF texts, tables and styles when converting DevExpress file ++ added possibility to load CSV files via URL +* updated plugin for connecting to MongoDB, to actual versions of MongoDB +* changed focus order of elements when clicking "tab" on a tab with creating swiss QR +- fixed a bug where switching properties to alphabetical order did not work +- fixed a bug with loading page size when converting DevExpress file +- fixed a bug, when empty string in Datamatrix barcode causes exception +- fixed a bug where the gauge window had the wrong width + + [Exports] ++ added PDF/A-2u export ++ added property ReportPage.ExportAlias, which allows to set the page name when exporting to Excel 2007 +* now, in Excel 2007 export for sheets without pictures, files with a description of pictures and relations to them are not created +- fixed a bug when exporting to Excel 2007 in the "Seamless table" mode leading to table breaks +- fixed a bug when exporting to Excel 2007 in the "Seamless table" mode leading to incorrect merging cells +- fixed a bug when exporting to Excel 2007 in the "Seamless table" mode leading to incorrect exporting of images +- fixed a bug where links with Russian letters did not work in PDF export +- fixed a bug where the dates of creation and editing of the document did not match the equivalents in the metadata in PDF/A-1a export +- fixed a bug while exporting to Excel 97 causes exception "Huge SAT not implemented" +- fixed a bug with exporting texts containing ampersand '&' in Excel 2007 export +- fixed a bug while exporting MapObject to PowerPoint +- fixed a bug with saving default theme in export to Excel 2007 +- fixed a bug with exporting gradient fills with owner or user password in export to PDF +- fixed a bug with encryption of digital signature in PDF-export when protecting a document with a password +- fixed a bug with paragraph offset in export to OpenOffice Writer + + [WebReport] +* added check of the report script for malicious code. This option is enabled by default for the Web. +- fixed figures absence on window print from browser +- fixed incorrect calculation of page sizes in FastReport.Core.Web, if at least one page was in landscape orientation +- fixed a bug where objects with Exportable = false were not visible in WebPreview + + [.Net Core] ++ added Dialogs for WebPreview on FastReport.Core +* now you can only build FastReport.Core and FastReport.OpenSource for netstandard2.1 on supported versions of VisualStudio (MSBuild) +* now FastReport.DataVisualization does not need to be added to References in user application on .Net Core3 +- fixed problem with user applications on the .Net Core3, referencing FastReport.Core. Now FastReport.Compat does not need to be added to References in the user application + + [Demos] ++ added new demo application +* updated references to FastReport packages in demos to the latest versions + + +Version 2020.3 +--------------- + [Engine] ++ added new type of QR code, Swiss QR Code ++ added property MatrixObject.PrintIfEmpty, which allows displaying the matrix even if it is empty ++ added property Page.LastPageSource, which allows to configure the printer tray for printing the last page of the report ++ added VisibleExpression, PrintableExpression, and ExportableExpression properties +> these properties allow to set the value of the Visible, Printable, and Exportable properties, depending on the fulfillment of the specified condition +* discontinued support of .NET Framework 2.0 +- fixed a bug with text object visibility when Highlight.Visible parameter is enabled +- fixed a bug with work of property PrintableExpression + + [Designer] +- fixed a bug where drag&drop to the matrix didn't work +- fixed a bug leading to System.FormatException when opening DevExpress files +- fixed a bug "Count cannot be less than zero." when opening DevExpress files +- fixed a bug with moving objects in the report tree while holding down the Ctrl key +- fixed a bug with drop down menu of select color button + + [Preview] +- fixed a bug with setting exports list using Config.PreviewSettings +- fixed a bug where the report could only be saved in the Box, regardless of the cloud storage selected in the menu + + [Exports] +* optimized saving of embedded fonts in PDF-export. File size has decreased significantly. +- fixed a bug with incorrect indents in export to OpenOffice Writer +- fixed a bug with incorrect size of picture in export to RTF +- fixed a bug with page breaks in export to OpenOffice Writer +- fixed a bug with paragraph offset in export to OpenOffice Writer +- fixed a bug with text justify in exports to OpenOffice Writer and OpenOffice Spreadsheet +- fixed a bug in Excel export (BIFF8) + + [WebReport] +- fixed a bug with resource loading in WebReport (OpenSource version) +- fixed a bug with image scaling in WebReport +- fixed a bug with timeout exception while saving a report in the Online Designer +- fixed a bug with calls of WebReport.ExportPdf, WebReport.ExportCsv, WebReport.ExportRtf, etc. + + [.Net Core] +* fixed compilation error FastReport.Core and FastReport.OpenSource on Unix-systems (because of net40 in targetFrameworks) +- fixed some API errors in report code, available in System.Drawing.Primitives +- fixed broken button "Open after export" in FR.Core3 + + +Version 2020.2 +--------------- + [Engine] ++ added property Report.Tag ++ added "AutoEncode" property for DataMatrix Barcode. By default, if true, it encodes the &1; as a symbol of FNC1. If false, the character is encoded as is. ++ added "OnScriptCompile" event that called when report's script compiles ++ added new TextQuality: SingleBitPerPixel and SingleBitPerPixelGridFit ++ added an ability to split table rows ++ added RUB, BYN and BBYN currencies to ToWordsRu function +- fixed a bug when shifting SubReport to a new page didn't work correctly +- fixed a bug when the data footer break away from the data when property "keep with data" is enabled +- fixed generation of barcode GS1-128 +- fixed public API for editing exports menu in PreviewControl +- fixed incorrect value of Total, if it refers to another Total +- fixed a bug where the table was not transferred correctly +- fixed a bug with parsing xml with hexidecimal values, e.g. "To create it: " + + [Designer] ++ added backlighting of the band that the selected element will located on when dragging is completed ++ added an ability to open subreport page by double-clicking on its object ++ added an ability to change fonts for Code Tab, Text Editor and Expression Editor ++ added an ability to replace pictures with drag & drop ++ added an ability to open report file by drag & dropping ++ added an ability to scroll the report horizontally while holding down the Shift key +* when changing the window, the context menu now closes +* now during autosave the selected item from the properties window is not reset +- fixed a bug when changing parameters after adding a line caused exception +- fixed a bug with creating the Intelligent Mail barcode +- fixed a bug with JSON-connection in Connection Wizard +- fixed a bug with incorrect drawing of horizontal guides +- fixed a bug when the width of objects was reset after closing Preview with enabled right anchor + + [Preview] ++ added "About" button in toolbar of preview window ++ added an ability to scroll the report horizontally while holding down the Shift key + + [Exports] ++ added export to DXF ++ added support of PDF/A-1a standard in PDF export +- fixed a bug with printing of layered Html export, when the report contains pages with landscape orientation +- fixed a bug where exporting to EMF called an exception +- fixed display of objects with negative height/width for layered Html-export + + [WebReport] +- fixed Exportable property for bands and objects in WebPreview mode + + [.Net Core] ++ added version of FastReport for Core 3/3.1 for Windows-only ++ added MSChart support ++ added Functions in Online Designer +* updated a nuget dependencies to release versions instead of previews +* changed access modifier PrintPdf and PrintHtml +* added a new way for saving reports in online-designer: DesignerSaveCallBack is obsolete, please use DesignerSaveMethod instead + + +Version 2020.1 +--------------- + [Engine] ++ added events to TrueTypeCollection object. New demo programm shows how to use them - .\Demos\C#\FontHandlersExportToPDF ++ added an ability to change decimal digits for Number, Currency and Percent formats when UseLocale property is true ++ added property "SplitRows" for MatrixObject. By default, its value is False and in this case rows with the same vaues are joined. If True - rows are split (like TableObject) +- fixed bug with trying to convert DBNull in empty string when ConvertNulls is disabled +- fixed a bug when PageFooter with PrintOn=LastPage causes to print it on penultimate page + + [Designer] ++ added ability to drag & drop picture in format png, jpeg, jpg, gif, ico, bmp, tif, tiff, emf, wmf and text files in format txt, rtf ++ added ability to paste picture and text on page from clipboard ++ added ability to create new report page using: "+" button on the pages panel, double-click on empty space on the pages panel, "Ctrl+N" shortcut +- fixed a bug when trying to set an incorrect RowSpan value to a MatrixObject cell +- fixed a bug with dropping color, width and style in Border editor +- fixed a bug with resizing PolyLineObject/PolygonObject, when it's copied with Ctrl+Drag +- fixed a bug with inactive context menu "Size Mode" for SVG object +- fixed a bug when subreport cannot be deleted when page linked to it was deleted before +- fixed a bug when the buttons in the "Panel" in the "View" tab did not match the "Visible" property of the corresponding windows + + [Preview] ++ added exports menu editor +> new editor is available in user interface options; exports can now be removed from exports menu +* data source menu in Text Editor is now hidden in Preview +* "Delete Page" button now disabled in Preview when only one page generated + + [Exports] ++ added ability to split pages in export to XML ++ added support for Padding property in Word2007 export +* now in PDF export with InteractiveForms = true: fonts won't be saved if there aren't editable elements in the report +- fixed bugs when exporting a multi-page report in XML +- fixed a bug when PDF export generated incorrect file when EmbeddingFonts and InteraciveForms properties equal True +- fixed view of background on BarcodeObject at Pdf and Html export +- fixed bugs when displaying Shape, Barcode, Polygon etc. with fill (or background) in all exports with table layout + + [WebReport] ++ added ability to change export settings. To do this, you need to subscribe to the ExportParameters event in WebReport.Report +- fixed incorrect width and height for reports with mixed page orientation (Landscape & Portrait) +- fixed incorrect view of background in ShapeObject +- fixed lack of non-standard fill (Hatch, LinearGradient, etc.) on ShapeObject + + [.Net Core] +- fixed a bug with SQLite plugin if database includes null-values +- fixed a critical bug on embedding fonts + + +Version 2019.4 +--------------- + [Engine] ++ added Bezier curve for polygons ++ added new time format minutes:seconds [mm:ss] ++ added a new Json data connection integrated into the engine ++ added FontListFolder property in the Utils.Config ++ added RepeatBandNTimes property for bands +* updated a polygon object: now the polygon toolbar is displayed not near to the object, but in the main toolbar and in Ribbon; polygon modes are changed, new modes allow editing and adding curves +> because polygons have got strong changes, we want to get more detail about the change, the polygon has 5 editing modes: the first allows you to work with the whole object, the second for selecting and moving points, the third allows you to add new points to the polygon, the fourth allows you to edit the curves, the fifth to delete the points of the polygon. For the 3rd and 4th mode, you must select a point +- fixed image size calculation when AutoSize is enabled in the preparation stage +- fixed RichText lists format +- fixed a bug when font changed in parent report were not changed in inherited report +- fixed a bug with changing the GroupHeaderBand hierarchy if it had a child GroupHeaderBand + + [Designer] ++ added feature to edit the SQL query for the QueryBuilder; if the QueryBuilder cannot process the query a warning will be showed +* now when the name of data source changed, its name changes in expressions of TextObject.Text, PictureObject.DataColumn, DataBand.Filter and DataBand.Sort +- fixed TypeConverter on the TextObject.ParagraphFormat property +- fixed a bug with rising exception when double clicking on a TextObject +- fixed a bug with shadow of report when designer is in Right-to-Left mode +- fixed a bug when Query Builder adds extra comma +- fixed a bug with adding extra spaces in QueryBuilder +- fixed a bug with position of report shadow when zooming in Right-to-Left designer +- fixed a bug with the inability to return and cancel actions when copying the format + + [Preview] ++ added the ability to subscribe to the PreviewControl.OnPrint and PreviewControl.OnExport events, which are called when the corresponding buttons are clicked +- fixed a bug with breaking ManualBuild table with CanBreak = false +- fixed a bug with display on the penultimate page with PageFooter PrintOn = LastPage + + [Exports] ++ added Hyperlinks to RTF-export ++ added an ability to split pages with data in different sheets when exporting to Excel2007 +* improved an example \Demos\C#\PrintZPL +- fixed a bug with export of bitmaps in ZPL +- fixed a bug with incorrect height of cells in Excel2007 +- fixed a bug with exporting empty sheet in Excel2007 +- fixed a bug with exporting the page with the wrong size in Excel97 +- fixed a bug with exporting empty cells in Excel2007 +- fixed a bug with strikethrough text in Excel2007 export +- fixed a bug with strikethrough text in Word2007 export, when using html-tags and conditional formatting +- fixed QR code position in ZPL export +- fixed page init priority in ZPL export +- fixed a bug with the same images duplication in the HtmlExport (properties: Layers, EmbeddedPictures) +- fixed a bug with the lack of hyperlinks in pictures, figures, QR-codes when exporting to PDF +- fixed a bug with exporting empty text to RTF, when using CanShrink = true and TextRenderType = HtmlParagraph +- fixed RichObject bugs - parsing RTF, enumerated lists, and text colors + + [WebReport] ++ added PdfImagesOriginalResolution, PdfJpegCompression and PdfColorSpace properties ++ added rotation for pages with landscape orientation in printing from browser ++ added event CustomAuth + + [.Net Core] +* graphics dependency changed from CoreCompat.System.Drawing to System.Drawing.Common +- fixed memory leak in PDF-export +- fixed memory leak in font engine +- fixed glyph widths in PDF-export +- fixed errors of report building with complex expressions ("Requested operation is not available because the runtime library function '' is not defined.") +- fixed display of fonts in PDF-export, reduced accuracy to 2 decimal places +- fixed bug with incorrect display of Arabic characters +- fixed TrueType font name conversion for extended weights +> font name conversion affected to FR.Core. The existing font.list file must be deleted manually, and will automatically rebuild on next export to PDF. Note that rebuilding of font.list takes long time. + + +Version 2019.3 +--------------- + [Engine] ++ added ImageAlign property for image alignment inside PictureObject; by default, alignment is disabled ++ added a new property Config.ProcessEvents for cancel button in progress form +- fixed a bug with infinite loop in AdvancedTextRenderer when WordWrap is true and width of object less than width of one character +- fixed a bug when in some cases the TypeConverter`s were not loaded correctly +- fixed a bug causing memory leak in HtmlTextRenderer +- fixed a bug when using the KeepTogether property for a group with matrix, when in some cases the GroupHeader was placed on one page and the matrix was on another page + + [Designer] ++ added an ability to change font in query editor ++ added Digital Signature object for adding empty signature field in PDF documents + + [Preview] +- fixed a bug where the preparation process was hanging and the cancel button was inactive throughout the preparation + + [Exports] ++ added ability to export empty signature fields for PDF documents ++ added links for images to HTML-export +- fixed a bug in CSV-export with "Data only" option when not only Data bands were exported +- fixed a bug when PDF Export did not export some SVGObject gradients to a PDF file, with the property GradientQuality = GradientQualityEnum.Image +- fixed a bug to which page headers and footers were not exported in Word with the paragraph mode + + [WebReport] +- fixed a bug with inherited reports with online designer +- fixed report file name on save in Online Designer for WebReport Core + + [.Net Core] ++ added a CoreCompat.System.Drawing reference to the script, which allows using Color, Font and some other features of System.Drawing + + +Version 2019.2 +--------------- + [Engine] ++ added texture fill +* now in the new reports the default font will always be serialized +- fixed a bug with generation method of barcode Supplement 5 (EAN-5) +- fixed bug with incorrect type cast in data fields (IMPORTANT! This hotfix may affect previously developed reports) +- fixed bug with incorrect type cast of Nullable types of fields +- fixed a bug with parsing old reports (before 2016), when the Arial 10pt is not loaded in locales jp and zh +- fixed a bug with removing serieses of MSChartObject when AutoSeriesColumn is empty and AutoSeriesForce is false + + [Designer] ++ added "Hide Zeros" item to context menu for text objects ++ added ability to select a style from the context menu ++ added dialogs for text editor closing; now pressing "X" button will be showed dialog for text changes confirmation ++ added an ability to sort Data Sources in Data window ++ added an ability to sort Data Fields in Data window + + [Exports] ++ added an ability to escape quotes in CSV export ++ added PDF digital signature ++ added Hyperlinks to Word2007 export ++ added Hyperlinks to Excel2007 export +* Word2007 files gets proper locale now (Res.LocaleName) +- fixed a bug with an extra line break in the Word export +- fixed loss of a RichText border on export with ConvertRichText option enabled +- fixed bug with caps of border lines in PDF export +- fix conversion of bold text in RichObject in PDF export + + [WebReport] ++ added property WebReport.PdfInteractiveForms ++ added WebReport.DateTimePickerFormat property, which allows to set the format for the DateTimePicker in WebReport ++ added editable fields localization +- fixed editable fields in tables + + [.Net Core] ++ added function PolyLineObject.SetPolyLine(PointF[] newPoints) that allows to change the set of points ++ added properties for WebReport Core, which allows to show and hide exports on the toolbar ++ added WebReport localization +- fixed a bug with roslyn wrapper when the warning was raised as an error when using Microsoft.CodeAnalysis version higher than 2.0 +- fixed a bug with preview in the Online Designer + + [Extras] +* updated Arabic resources + + +Version 2019.1 +--------------- + [Engine] ++ added property FastReport.Utils.Config.PreparedCompressed (default value: true) for enable or disable the compression in files with prepared reports (fpx) ++ added the ability to disable hotkeys in designer and preview ++ added property ReportPage.Printable (default value: true) for enable or disable printing of the page +* SVG object is optimized, removed inheritance SVGObject from PictureObject, then now SVG object is not drawn in memory for its display in vector exports +> Pay attention for working with the SVG object, it is now unlinked from the PictureObject, in consequence two properties are no longer available: Tile - which rendered the SVG image with vertical and horizontal repetition, and Image - which stored the image to be drawn. The denial of the last property allowed to draw an SVG object in vector exports without rendering the raster image in memory. You need to double-check your reports if you used the SVG object as an inheritance of a PictureObject. +- fixed a bug with high engine loads with reports using guide lines +- fixes bug with "optional hyphen" in rich text parser +- fixed bug with System.ArgumentOutOfRangeException in MSChartObject.DeleteSeries(int index) method +- fixed bug with null value returned from FastReport.Utils.Variant.ToString() method +- fixed bug with not used parameter in FastReport.Utils.FastString.FastString(int) constructor +- fixed bug with possible infinite recursion inside TextObject.ParagraphFormat property +- fixed bug with System.IndexOutOfRangeException in BarcodeCodabar.GetPattern() method +- fixed a bug with the size of the text offset when using TextObject.ParagraphOffset +- fixed bug with printing band when Printable property is disabled +- fixed a bug with calculating the size of the SVG object, when negative values are used in the ViewBox +- fixed a bug with drawing when a text object contained only tab characters +- fixed a bug with indentation size when printing a report using TextObject[TextRendererType = TextRenderType.HtmlParagraph] +- fixed a bug with report preparation when SubreportObject doesn't have a valid link to the report page + + [Designer] ++ added saving last active tab of the designer options window +* improved algorithm of SubreportObject and designer, now you can delete and copy the Subreport page +- fixed bug when format controls stay enabled after deleting object +- fixed bug with saving sql query by Finish button +- fixed bug with System.NullReferenceException when trying to copy DialogPage +- fixed bug with enabled buttons in group Report->Bands when active page is DialogPage +- fixed bug with enabled buttons "Grid", "Guides", "Automatic Guides", "Delete Horizontal Guides" and "Delete Vertical Guides" when active page is DialogPage +- fixed order of objects in toolbar +- fixed bug with incorrect position of not-maximized window (window is not visible) on turned off second monitor +- fixed memory leak in CSV connection +- fixed bug with blank condition in Group Header +- fixed bug with System.ArgumentException in Chart Editor when Width of Strip less than zero +- fixed bug with System.ArgumentException in Chart Editor when Step of Markers less than one + + [Preview] ++ added feature to simply print from the console using the command `Viewer.exe / P` +* now Duplex will be changed in Print window if it has been changed in printer settings +- fixed icon size when using true +- fixed a bug with display of grayscale SVG + + [Exports] +* improved font packaging in pdf export, using simple ligatures (fi, tt) +* improved font style emulation in pdf +- fixed text display in pdf export on linux systems, when text starts with a tab +- fixed missed "" tag in HTML export with single page +- fixed bug with pdf export, when the default number format is symbolic, not digital +- fixed empty TextObject and TableObject cells when Default TextRenderer is used; now they could be edit after Word 2007 Export + + [Demos] ++ added a demo project, how to use FastReport Core in the CentOS docker container (\Demos\Core\FastReportCore.MVC.CentOS) ++ added a demo project, how to use FastReport Core together Vue.js (\Demos\Core\FastReportCore.Vue) +- fixed too long message showing "Printing page N" in FastReport.NET Demo + + [.Net Core] +* removed api of dialogues from the version for .Net Core +- fixed white space wrapping to a new line +- fixed bug with roslyn wrapper, when an warning is raised as error level + + [Extras] +* updated json connector for working with latest version +* updated Greek resources + +Version 2018.4 +--------------- + [Engine] ++ added possibility to access totals, parameters and variables without case sensitivity ++ added a new experimental feature to improve the work with memory +> we are constantly trying to improve performance and memory usage of FastReport.Net, at the moment we added a new experimental property Config.IsStringOptimization, which allows us to use strings from the string pool when loading very large fpx reports. To enable this feature, simply change the IsStringOptimization value to true. While the property is experimental the changing this property is only available manually from code. Especially this property will be interesting to users who use at least 1 000 000 objects in the report. +* new RTF parser - if "ConvertRichText" option is enabled, then an embedded RTF document is splitting to report objects - TextObject, TableObject, and PictureObject +* now integer division by zero does not lead to generator crashing, instead of that expression containing error will be exchanged to text "DIVISION BY ZERO!" +* optimized QR Code Barcode Object rendering +- fix CR/LF translation in an expression result inside Richtext object +- fix expression parser of RichObject +- fixed bug with RTF tags inside expression of RichText object +- fixed bug with encoding of character ";" in barcode Code128 +- fixed a bug with the rotation of barcodes +- fixed a bug where in some cases, images when exporting to PDF were higher than needed +- fixed a bug of printing text objects with the property TextRenderType = HtmlParagraph +- fixed a bug where a large amount of text in a cell leads to in an infinite generation of blank pages in the report +> ATTENTION !!! We decreased the default value of the MaxHeight property from 5000 to 1000 for the TableRow object. You need to check your reports if you used rows in tables large then 10 inches in height!!! +- fixed "An item with the same key has already been added" bug in AssemblyDescriptor.Compile() method +- fixed bug in MSChartObject with AutoSeries in detailed reports +- fix parsing of multipage text in RichObject +- fixed bug with "SVGObject.Grayscale = true -> SVGObject.Grayscale = false is still Grayscale" +- fixed bug with position of SubreportObject on page with unlimited width + + [Designer] ++ now in View Data window shown numbers of rows on page ++ added ability to resize band by dragging its top, in this case objects move in band ++ added ability to copy report pages in designer ++ added "Text file (*.txt)" and "All files(*.*)" filters in CSV connection ++ added Hyperlink.OpenLinkInNewTab property +* buttons in View Data window are disabled when window less than needed for one row +* now buttons in Data Tree become disabled when the tree loses focus +- fixed bug with entering Polish symbol "ą" (Right Alt + "A") in text editor +- fixed rare bug when View Data window is increased and not all rows are shown but there is enough space +- fixed bug with saving file to wrong folder in Save As dialog +- fixed a bug with file extension in Save As dialog, when report is converted from a file that is not FastReport .NET file +- fixed bug with incorrect movement of objects when mouse moves too fast if band is resizing by dragging its top +- fixed bug with System.NullReferenceException after closing Start Page tab in MDI designer +- fixed bug with System.ArgumentException when file name contains point "." in CSV connection +- fixed bug with equal field names in CSV connection when field names are stored in first line of file +- fixed bug with lost focus of Event Editor after Preview +- fixed bug with visibility of DataBand properties Left, Top and Width +- fixed bug with System.OverflowException in DesignerControl when loading report containing page with unlimited width +- fixed bug with incorrect addition of a new object if property of the selected object has changed + + [Preview] ++ added ability to copy and delete prepared pages in preview + + [Exports] ++ added property HTMLExport.EnableVectorObjects (enabled by default) ++ added a new property AsBitmap for Barcode which indicates to use a bitmap instead of vector, the default property is False, which means exporting as a vector ++ added the DoNotExpandShiftReturn property to the Word2007Export user interface, allowing you to control the horizontal alignment for soft return ++ added property Excel2007Export.PrintFit in Excel 2007 export (may be set in NoScaling, FitSheetOnOnePage, FitAllColumsOnOnePage, FitAllRowsOnOnePage) ++ added translation of RichObject text in DOCX export for Layered and Paragraph modes +* updated export to FR3 (FastReport VCL files), added export of tables, barcodes, maps and shapes +* the exports menu has been refactored, now the exports are grouped by category +* increased accuracy for SVG in high resolution when exporting to PDF +- fixed bug with negative width/height of picture in HTML export and WebReport +- fixed dynamic page orientation, page size and padding in MS Word 2007 +- fixed memory leak with using barcodes in PDF, HTML exports +- fixed bug with barcode incorrect position inside TableCell in PDF, HTML, SVG exports +- fixed bug with incorrect file names in HTML export with Subfolder = true +- fixed bug with single picture in Excel 2003 (xls, BIFF8) and Excel 2007 (xlsx) +- fixed bug with transparent background of picture in Excel 2007 (xlsx) +- fix "Text in Curves" mode in PDF export +- fix font style simulation in PDF export +- deep refactoring of font embedding engine, added check font's rights for embedding/subsetting +- fixed bug with drawing the borders of table in PDF export with properties Layout = Wrapped, FixedColumns = 1 and dynamic count of columns +- fixed bug with paddings in Excel 2007 export +- fixed bug with opening export file in Excel 2007 with non-zero ParagraphOffset property +- fixed bug with exporting pictures to Excel 2003 (BIFF8, xls) +- fixed issue with decimal separator in Persian locale +- fixed the export property SvgAsPicture of PDF, when the barcodes were exported as SVG and not as images +- fixed a bug with the export of BarcodeObject with using the Padding property when it is converted to SVG +- fixed issue with exporting \ in Hyperlinks in PDF +- fixed null reference exception in ImageExport when Watermark.Text is null +- fixed issue with Watermark transparency in PDF export +- fixed bug with extra width documents in export in Excel 2007 +- fixed bug with "too much bold" in PDF export +- fixed bug with export of some characters in Excel2007Export + + [.Net Core] ++ added FastReport.Data.OracleODPCore package to Nuget repository (https://www.nuget.org/profiles/FastReports) +- fixed a bug where sometimes whitespace characters at the end of a line were moved to a new line +- fixed a bug with https-saving in Online Designer for FastReprot.Web.Core +- fixed a bug where Core exports were wrong +- fixed a bug with corrupted "new line" symbols in online designer +- fixed names of data types for .Net Core + + [WebReport] ++ added an example Demos/C#/Web/PreparedPreview/ that demonstrates of working with prepared report in Web ++ added a method WebReport.LoadFromFile(string fileName) that loads a report from file ++ added a method WebReport.LoadFromStream(Stream stream) that loads a report from stream ++ added a method WebReport.LoadPrepared(string fileName) that loads a prepared report from file ++ added a method WebReport.LoadPrepared(Stream stream) that loads a prepared report from stream ++ added a constructor WebReport(bool inlineRegistration) that makes fast initialization of control without any previous external scripts/css loading ++ added a constructor WebReport(bool inlineRegistration, bool stretched) that makes fast initialization with presets for 100% width and 100% height ++ added a property WebReport.XlsxPrintFitPage for enable stretching the Excel 2007 worksheet in one page on printing +- fixed bug with checking handlers in Web.config +- fixed bug with saving report with Referenced Assemblies in Online Designer from Firefox browser +- fixed bug with rendering of barcodes in Internet Explorer 8 and older + + [Extras] +- fixed bug with ActiveQueryBuilder parameters +- fixed FastReport.Data.Json package bug with Newtonsoft.Json.dll location +- fixed bug with quotes in queries, that contain schema name in FastReport.Data.Postgres package; now available non-public schemas in designer + + [Online Designer] ++ added property Hyperlink.OpenLinkInNewTab for opening links in new tabs +- HtmlTags replaced by TextRendererType +- fixed bug with spaces in object name + +Version 2018.3 +--------------- + [Engine] ++ now for exporting the Barcode Object is converted to vector graphics for PDF, HTML and SVG exports ++ added print of unlimited pages on roll printers (ReportPage.PrintOnRollPaper property) ++ added a new logic for converting objects before exporting, the process is automatic, this is necessary to convert some objects into vector graphics. ++ added a new property ParagraphFormat for formatting paragraphs in a text object only when the HtmlParagraph value is set in the TextRenderType property. This property allows you to adjust the line spacing and the first line indent. +* rewritten code of expressions substitution in RichObject +* the HtmlTags property of the TextObject was marked as obsolete, a new property TextRenderType was added. +> developer note: the HtmlTags property allowed some HTML tags to be used in the TextObject text, one of the available tags is the FONT tag, this tag is deprecated, and not all browsers adequately support it, so we added a new renderer that allows you to use some CSS styles, in the style attribute and the tag SPAN. +* The new text render supports the following tags: b, i, u, strike, br, sub, sup, img, span. +> developer note: we do not aim to make a copy of the browser in a text object, but we try to make the logic as similar as possible with limitations, the img tag only supports the src (http, https, base64), the width and the height attributes (values in pixels), tags b, i, u, strike, sub, sup and span support only the style attribute, with a minimum set of styles. +- fixed image size calculation for rotating SVG object +- fixed the rendering of the subscript and superscript for the new type of the text renderer HtmlParagraph, when in some cases the size and layout of the text was incorrectly calculated. +- fixed bug with svg objects, that contains "DOCTYPE svg PUBLIC" +- fixed bug with [COPYNAME#] in page watermark +- fixed TextObject property name where the word Multiply was used instead of Multiple + + [Designer] ++ added possibility to set default script language ++ added columns editor in properties and in popup menu for DataBand +- fixed bug with default script language when standalone designer run first time +- fixed rare bug when table is not shown in View Data window +- fixed bug in View Data window when columns more that 655 + + [Preview] ++ added possibility to disable saving prepared report in Preview (PreviewExports.Prepared element) ++ added SaveInitialDirectory property (Config.PreviewSettings.SaveInitialDirectory = @"C:\user\initial_directory";) +* improved image caching method for SVG object +- fixed bug when all exports should be disabled in Preview (PreviewControl.PreviewExports == PreviewExports.None) but Excel 97, ZPL and LaTeX exports are enabled + + [Exports] ++ added the TextObject with TextRenderType = HtmlParagraph to pdf, html, word2007 exports ++ added properties Word2007Export.PrintOptimized and Excel2007Export.PrintOptimized ++ added checkboxes "Print optimized" in dialogs Word 2007 and Excel 2007 ++ SVGObject exports as vector graphics into PDF now ++ added a new tab "Vector Graphics" to export pdf, you able to set the quality of gradients, gradients interpolation and curves interpolation for SVG object and fonts in curves ++ added FontScale property to Excel2007Export +* improved paragraph based export in Word 2007 +* reduced size of output file in Word 2007 (duplicate images are not saved) +* export in Word 2007 in paragraph based mode saves the document without pagination +* added converting to Number format for Excel2007 export +- SVGObject exports as SVG into HTML now +- fixed bug with screen resolution in Word 2007 export +- fixed bug with paragraph formatting in Word 2007 export +- fixed bug with wrong size of "unlimited" page in Word 2007 +- fixed bug with field names in DBF export +- fixed bug with overlapping of text labels in SVG export dialog + + [WebReport] ++ added SVGObject to WebReport as svg image ++ added properties WebReport.DocxPrintOptimized and WebReport.XlsxPrintOptimized +- fixed bug with third and more drill-downs with detailed pages +- fixed bug with wrong URL's in drill-downs + + [.Net Core] ++ added SVGObject ++ added FastReport.Data.MsSql package to Nuget repository (https://www.nuget.org/profiles/FastReports) ++ added FastReport.Data.MySql package to Nuget repository (https://www.nuget.org/profiles/FastReports) ++ added FastReport.Data.Postgres package to Nuget repository (https://www.nuget.org/profiles/FastReports) ++ added FastReport.Data.SQLite package to Nuget repository (https://www.nuget.org/profiles/FastReports) ++ added FastReport.Data.Json package to Nuget repository (https://www.nuget.org/profiles/FastReports) ++ added FastReport.Data.MongoDB package to Nuget repository (https://www.nuget.org/profiles/FastReports) ++ added FastReport.Data.RavenDB package to Nuget repository (https://www.nuget.org/profiles/FastReports) ++ added FastReport.Data.Couchbase package to Nuget repository (https://www.nuget.org/profiles/FastReports) +- fixed bug with drill-downs in WebReport Core +- fixed bug with export in Word 2007 in some cases +- fixed bug with blank images in Excel 2007 +* added compatibility with macOS + + [Extras] ++ added Steema TeeChart object editor (double click on TeeChart object) +* modified ActiveQueryBuilder plug-in (https://www.activequerybuilder.com/): it provides query parameters and show database schema now +- fixed bug with some string values when connecting data source to TeeChart object +- removed the ability to select for properties LabelField, XValuesField and YValuesField fields from data sources to which the TeeChart object is not connected + + [Demos] +* in the polygons demo report the stars were replaced by beautiful ones + + [Resources] +* updated French resources + + [Online Designer] ++ added the ability to change the language in the tab view ++ all requests are sent from the same-origin +- fixed abbreviations of some languages + +Version 2018.2 +--------------- + [Engine] ++ added SVGObject into main library FastReport.dll (for .Net 4 and higher, without Core compatibility now) ++ added compatibility with Fips Algorithm Policy (with limitations: encryption of PDF export, encryption of report) + + [.Net Core] ++ added Demo packages in Nuget repository (https://www.nuget.org/profiles/FastReports) +- fixed error with packages installation + + [Designer] ++ added an event indicator for objects and bands, a small triangle in the upper left corner; this feature is able to be enabled or disabled in the designer settings (disabled by default) ++ added a new tab of the designer's settings: "Objects appearance" +- fixed import from rdl 2010 report template + + [Exports] ++ added property RichTextObject.ConvertRichText for conversion the RichText in text objects on exporting (experimental) ++ added paragraph based export in Word 2007 (experimental), property Word2007Export.ParagraphBased +* increased speed of export to CSV +* increased speed of export to PDF +- fixed bug with removing the last character of each row when exporting to CSV without separator +- fixed bug with text resources in FTP export +- fixed bug with latin characters in interactive PDF in Chrome +- fixed bug with large size of PDF files +- fixed bug with transparent background of cells in Excel 2007 export +- fixed bug with lines and shapes in layered Word 2007 export +- fixed bug with checkboxes in layered Word 2007 +- fixed bug with default value Word2007Export.Wysiwyg +- fixed bug with opening exported files in Excel 2007 +- fixed bug with slow export of reports with unlimited width or height + + [WebReport] ++ added support for editable TextObject and CheckBoxObject ++ added properties WebReport.DocxWysiwyg, WebReport.DocxParagraphBased +- fixed position of loading indicator +- fixed bug with null pointer in service javascript code + + [Extras] ++ added Steema TeeChart object plugin (\Extras\Misc\TeeChartObjectPlugin) https://www.steema.com/ ++ added new demo \Demos\C#\PrintZPL + + [Online Designer] ++ added ability of horizontal resizing the bands ++ added online/offline notifications ++ added offline working of designer with service workers ++ added property Editable for text objects and checkboxes ++ added component SimpleProgressGauge +* changed style of tooltips on moving the components +- fixed bug with adding the components in dialog page +- fixed bug with incorrect drawing the resize line of the band +- fixed bug with incorrect selection of DataSource for DataBand on save a report + + +Version 2018.1 +--------------- + [.Net Core] ++ added WebReport for .Net Core (FastReport.Web.Core\README.md) ++ added support Online Designer + + [Preview] ++ added the ability to change of TextObject and CheckBoxObject in Preview when these objects have Editable property +- fixed non-working search in preview + + [Engine] ++ added Editable property for TextObject and CheckBoxObject +- fixed error when parameter with type double initialized by int value + + [Designer] ++ added Gauge editors, semi-radial gauges, added gradient fill to Pointer +* improved report generation speed with UseFileCache option +* improved selection of LineObject when zoom > 100% +- fixed bug with processing mouse event on PolyLineObject and PolygonObject toolbars + + [Exports] ++ added polygons and polylines to PowerPoint export ++ added ShiftNonExportable property indicating that the report bands should be shifted, if page has any non-exportable bands (Exportable = false) ++ added PreserveAspectRatio, UseWidthAndHeight and UseViewBox properties to SVG export ++ added forms export for pdf export, objects with the Editable property, will be exported as an input field ++ added export in ZPL (Zebra printers) +- fixed bug with SVG export to multiple files +- width and height replaced to vievBox in svg export +- fixed bug with multiple export from one export class instance +- fixed bug when exporting report from code with Report.MaxPages equal 1 or more +- fixed bug with ImageExport if report contain tables +- fixed bug with ampersand in links for Excel2007Export +- fixed bug with Word2007 export (black pages in OpenOffice) + + [WebReport] ++ added outline (TOC) of report in WebReport +- fixed issue when fastreport handler in 'location' tags + + [Extras] +- fixed bug with encoding in json connector, added DataEncoding property + + [Online Designer] ++ added ability to hide of preview button on building ++ added SVGObject ++ added grouping of similar components (Gauge etc.) in tab with components ++ added dialog window with error text from server on saving of report +* info (i) is showing in dialog instead of popup in top corner +- property values of Cursor have been updated +- fixed bug with selection of color from toolbar in IE browser +- fixed bug with field with selection for color in Highlight editor and Border editor in IE browser +- fixed bug with empty properties panel for TableColumn and TableRow +- fixed bug with showing of bands in incorrect order in Chrome browser + + +Version 2017.4 +--------------- + [Core] ++ added initial support of .Net Core (\Demos\Core\FastReportCore.MVC\readme.txt) + + [Engine] ++ Trim property has been added for linear barcodes ++ Tag property has been added for all components ++ added saving of meta data (ReportInfo.Name, ReportInfo.Author, ReportInfo.Description, + ReportInfo.Created, ReportInfo.Modified, ReportInfo.CreatorVersion) in prepared report file ++ added RegisterData(DataSet data, bool enableAllTables) and RegisterData(DataSet data, string name, bool enableAllTables) + functions for registering DataSet and enabling all its tables ++ added possibility to access the Report.Dictionary without case sensitivity ++ added RadialGauge control ++ added SimpleProgressGauge control +- fixed wrong result for n.9999 values in NumToWords functions +- fixed bug with multi-thread preparing and using the cursors inside a report +- fixed borders for Gauges +- adjusted scale and pointer for SimpleGauge + + [Designer] ++ added pagination in Data View Window ++ added Space to separators list in CSV connection ++ added possibility to open List and Label files with extensions crd, srt, inv, lab and let ++ added selecting previous file filter in open file dialog +- fixed bug with deleting of bands +- fixed bug with empty fields when connecting to CSV table +- fixed bug with space separator when connecting to CSV table +- fixed bug with strings without separator when connecting to CSV table +- fixed bug when viewing business object data +- fixed bug with null value of System.Guid instance +- fixed bug in PageColumns class when number of positions is not equal number of columns + + [Exports] ++ added Word2007Export.RowHeight property with enum (Minimum, Exactly) ++ added converting to Percent format for Excel2007 export ++ added export in LaTeX (without pictures, works with XeLaTex) +- fixed bug with barcode duplicates in PDF export +- fixed bug with table cells duplicates in XAML, SVG exports +- fixed bug with tilde in Excel2007 export +- fixed bug with image duplicating in PDFExport +- fixed bug with Biff8 export from prepared report +- allowed export TextObjects with not default FontWithRatio to Excel 2007 + + [WebReport] ++ added property WebReport.DesignerConfig for storing custom configuration of Online Designer +- fixed bug with WebReport object resizing + + [Extras] ++ added Web API self-hosted example (Demos\C#\Web\WebApiSelfHosted) ++ added SVGObject plugin (\Extras\Misc\SVGObjectPlugin) ++ added TelegramMessenger plugin (\Extras\Misc\Messaging\TelegramMessenger) ++ added support for MaxiCode and Intelligent Mail barcodes ++ added editor for hyperlink property +* improved Crystal Reports converter, now works with the latest versions of Crystal + + [Online Designer] ++ added Highlight editor ++ added resizing area for the left sidebar ++ added MaxiCode & Intelligent Mail barcodes ++ added ability to call control dialogs from properties panel by clicking button in the title of subsection ++ switch all the customization panels at once ++ font editing dialog ++ border property editing dialog ++ hyperlink property editing dialog ++ building process changed +* popup restyle in the upper right corner +- fixed bug with positioning DataHeader Band after DataBand +- fixed bug with freezing in IE + + +Version 2017.3 +--------------- + [Engine] ++ added Intelligent Mail (USPS) barcode ++ added MaxiCode barcode ++ added property Report.ReportInfo.Tag ++ added property Report.ReportInfo.SaveMode ++ added support functions with optional parameters +* added thread-safe collections support for .net 4 + + [Designer] ++ added ability of multi-line editing of Report.ReportInfo.Description and Report.ReportInfo.Tag +- fixed bug with wrong width of different lines of border + + [Exports] ++ added ability to embed any file in PDF export with methods: PDFExport.AddEmbeddedXML, PDFExport.AddEmbeddedFile +- fixed creating blank page after a table in RTF and Word2007 exports +- fixed bug with bands Exportable property +- fixed appearance of dates in Excel2007 export +- fixed bug with padding and height of text in PDF export +- fixed bug with black boxes in exports + + [Extras] ++ added new example for working with ZUGFeRD and PDF/A-3b \Demos\C#\ZUGFeRD ++ added new example for Web API \Demos\C#\Web\WebApi +- fixed bug with relative path to JSON file in JSON connector + + [WebReport] ++ added properties WebReport.RequestHeaders, WebReport.ResponseHeaders ++ added catching of exceptions on call of WebReport.DesignerSaveCallBack +- fixed page margins in printing from browser +- fixed bug with lines in HTML export and WebReport +- fixed TTF exceptions processing for PDFExport + + [Online Designer] ++ added support of new property ReportInfo.Tag in Report object +- fixed muli-level view of childs links +- property Padding can contain only integer values + + +Version 2017.2 +--------------- + [Engine] ++ added new barcode: Pharmacode ++ added new option for images: Grayscale display mode ++ added ability to change the color of barcodes ++ added caching of compiled report script +- fixed bug with losing precision in totals +- fixed bug with enabled ReportPage.UnlimitedHeight and ReportPage.PrintOnPreviousPage +- fixed bug with null initialization in text objects +- fixed bug with deserialization on saving from On-line Designer + + [Designer] ++ added support of Right-to-Left Interface (RTL) ++ added a new property to MSChartObject, that allows to use several series with automatic creation +- fixed bug when instead of creating a new data source, editing of selected data source was opening + + [Preview] ++ added support of Right-to-Left Interface (RTL) ++ added mouse-relative zoom + + [Exports] ++ added ability to insert images in original resolution when exporting to PDF ++ in the PDF export window added ability to select a color space +* improved quality of images in Excel 2007 export ++ added export in Excel 97-2003 (BIFF8) +* added converting to Date format for Excel2007 export +* changed work of export to Dropbox for using API 2.0 instead API 1.0 +* improved SVG export: added embedding images in file, HasMultipleFiles option was added, improved text rendering, text with angle, underlines added +- fixed bug with blank pages in Excel 2007 export +- fixed bug in PDF and HTML exports with vertical position of text which height is bigger than object height +- fixed bug with metafile images in RTFExport +- fixed bug with Vertical Alignment = bottom in PDF export +- fixed transparent images appearance in XPS export +- fixed export empty images in XPS +- fixed bug in preview of CSV export with small amount of rows +- fixed bug with bold japanese fonts in PDF export +- fixed bug with Exportable property + + [Extras] ++ added RavenDB connector \Extras\Connections\FastReport.RavenDB ++ added SQL Anywhere connector \Extras\Connections\FastReport.SqlAnywhere ++ added new report demos: Pharmacode, Box + + [WebReport] ++ added ToolbarBackgroundStyle.None (you can use WebReport.ToolbarColor instead bitmap from style) ++ added properties WebReport.UnlimitedWidth, WebReport.UnlimitedHeight for enable Unlimited size for all report pages (default: false - use report settings) ++ added property WebReport.Dialogs for enable or disable all report dialogs (default: true - enabled) +- fixed bug with handling of onClick event in WebReport +- fixed bug with Exportable = false objects in WebReport preview and print + + +Version 2017.1 +--------------- + [Engine] ++ added possibility to set picture location (URL) in PictureObject from database ++ added support of alphanumeric values in GS1-128 barcode +* optimized memory consumption +- fixed bug with RichObject page break + + [Designer] ++ added possibility to select all tables in DataWizardForm ++ added CSV database connection +- fixed bug with updating the script when loading another report +- fixed bug with updating TextObject.Format +- fixed bug with updating TextObject.Border +- fixed bug with non-existing connection plugin + + [Preview] ++ added "Exports" and "Clouds" properties in PreviewControl to hide/show exports in the "Save" button drop-down menu + + [Exports] ++ added ability to export text as curves in PostScript and PPML exports ++ added property FastCloudStorageClient.ReportUrl containing the link to a report after uploading to FastReport Cloud ++ added possibility to send a report using XMPP/Jabber and FastReport Cloud ++ added support of PDF/X-4 standard ++ added CMYK color profile in the PDF export ++ added property HTMLExport.EnableMargins to use page margins in the output file (default: false) +* added possibility of getting images from a stream by GetImage(..) method in XAMLExport, property name ToMultipleFiles changed to HasMultipleFiles +- fixed export of GroupHeader and GroupFooter bands in FR3 export +- fixed bug with exporting images in Metafile image export +- fixed bugs with formatting in OpenOffice Writer (Open Document Text) export +- fixed bugs with formatting in Word 2007 (docx) export +- fixed bug with font "Meiryo UI" in PDF export +- fixed bug with export dates in german locale for Excel2007 export + + [WebReport] ++ added property WebReport.ShowBackButton to display the "Back" button (return to previous report in the tabbed report) ++ added property WebReport.LogFile to log the errors in WebReport, may be combined with WebReport.Debug ++ added property WebReport.EnableMargins to use page margins in the output (default: false) ++ added support of Page.Fill in WebReport ++ added support of WebReport background color - WebReport.BackColor (default value: White) +* changed progress picture +- fixed bug with printing from browser any reports with links to detailed report +- fixed bug with displaying the scroll bars on 100% width and height +- fixed bug with visualization of reports with unlimited page width/height +- fixed bug with "Fit Width/Fit Page" zooming in the toolbar +- fixed bug with multi-threading +- fixed bug with TextObject.ParagraphOffset + + [Demos] ++ added new example \Demos\C#\WPFViewer ++ added new example \Demos\MFC + + [Extras] ++ added MongoDB connector \Extras\Connections\FastReport.MongoDB ++ added NosDB connector \Extras\Connections\FastReport.NosDB +- fixed bug with displaying a list of tables in FastReport.MySQL + + +Version 2016.4 +--------------- + [Engine] ++ added new HtmlObject for using in the WebReport or HTML export ++ added event Report.CustomCalc for custom data processing +- fixed issue with incorrect assembly loading in report script + + [Designer] ++ added TextOutline editor +- fixed bug with disappearing of part PolyLineObject, PolygonObject after preview + + [Exports] ++ added compliance with PDF/X-3 in PDF export ++ added new property PDFExport.PDFCompliance ++ added property PDFExport.ColorProfile for using in PDF/X-3 compliance mode ++ added support of export pictures with lossless compression in PDF export ++ added property PDFExport.ImageLossless ++ added IsScrolled property in XAML export +* depercated properties: PDFExport.PdfA, PDFExport.PdfACompliance) +- fixed bug with html tags in Excel 2007 export +- fixed bug with wrong format of negative value of cell with CustomFormat in Excel 2007 export +- fixed bug with line-height in HtmlObject in HTML export +- fixed bug with skipping sequences spaces in TextObject for Excel2007 and HTML exports +- fixed bug with handling control symbols in Excel2007Export +- fixed bug with encryption in PDF export +- fixed bug with validation of PDF/A compliance with hyperlinks in report + + [WebReport] ++ added hyperlinks on bookmarks functionality (works only with Layers = true) ++ added hyperlinks on page number functionality (works only with Layers = true) ++ added click event handler functionality (works only with Layers = true) ++ added detailed reports - hyperlinks on hidden report page or report file (works only with Layers = true) ++ added new property WebReport.ShowTabCloseButton (default value: false) ++ added new property WebReport.TabPosition (default value: TabPosition.InsideToolbar) ++ added new example for Single Page Application \Demos\C#\Web\SPADemo ++ added new enum member TabPosition.Hidden for hidding tabs from toolbar +* improved memory consumption +* improved caching of reports +- fixed bug with downloading in Android +- fixed bug in WebReport with CacheDelay in MVC applications +- fixed bug with URLEncoded Cookies in Online Designer call-back +- fixed bug with null ID in MVC +- fixed bug with skipping lead spaces in TextObject +- fixed bug with page breaks on printing from browser + + [Extras] ++ added connector SharePoint/"Office 365" \Extras\Connections\FastReport.SharePoint +* updated German resources + + +Version 2016.3 +--------------- + [Engine] ++ added new objects PolyLineObject, PolygonObject ++ added properties Page.UnlimitedHeight, Page.UnlimitedWidth +* updated rotation drawing for angle of images + + [Designer] ++ added welcome window displayed on the designer startup ++ added splash screen showing during loading designer ++ added new toolbar for editing of PolyLineObject, PolygonObject ++ added unsaved report indication in window title ++ added unlimited page width and height options to PageSetup window + + [Exports] ++ added Bold, Italic simulation for "MS UI Gothic" font and similar in PDF export ++ added export in JSON ++ added property PDFExport.ShowPrintDialog for showing the print dialog after opening the PDF document ++ added export PolyLineObject, PolygonObject in PDF ++ added property PDFExport.TextInCurves for creating the PDF document without fonts ++ added possibility to send multiple reports as attachments in Email export ++ added ToMultipleFiles property in XAML export +* improved export in Excel 2007 with enabled property Seamless +* improved drawing of dash-dot lines in PDF export for correct printing from the Chrome +- Fixed bug with
style(numbers format) in Html Layers export +- fixed bug with pictures with size over the page in PDF export +- fixed bug with paths in exports: XAML, SVG, PostScript, PPML +- fixed bug with shadows in HTML export +- fixed bug with TextObject.Underlines in HTML export +- fixed bug with images hash counting in PDF export +- fixed bug with hyperlinks in Trial version in PDF export +- fixed bug(Header added) in PostScript export +- fixed bug with fonts in PostScript export + + [WebReport] ++ added properties Left, Top, Width, Height in CustomDrawEventArgs (can be used in WebReport.CustomDraw) ++ added showing Print Dialog in print in PDF ++ added properties WebReport.DocxRowHeightIs, WebReport.PdfShowPrintDialog ++ added function WebReport.PrintInPdf(bool ShowPrintDialog) for setup showing the Print Dialog in PDF +* usage examples of WebReport are updated and relocated to the \Demos\C#\Web folder +* updated internal jQuery to v1.12.3 +- fixed bug with CustomDraw event inside TableObject and Matrix +- fixed bug with incorrect MIME type in inline PDF printing +- fixed bug with switching Localization in ASP.NET (not MVC) + + [Extras] ++ added JsonConnectionEditor.cs in FastReport.Json connector (\Extras\Connections\FastReport.Json) + + +Version 2016.2 +--------------- + [Engine] ++ added property Config.ReportSettings.ImageLocationRoot for set the local root path of PictureObject.ImageLocation ++ added possibility to download maps from OpenStreetMap files (*.osm) +- fixed bug with System.NullReferenceException after ShowPrepared method + + [Designer] ++ added support to select and drag-n-drop multiple items in the data window +- fixed bug with drag-n-drop operation of parameter variables in the data window + + [Exports] ++ added support of TextObject.TextOutline in PDF export ++ added support of LineHeight, ParagraphOffset in HTML export ++ added filtering of html tags in CSV export ++ added support of clipping (TextObject.Clip) in PDF export +- fixed bug with absent spaces behind tagged strings +- fixed bug with bookmarks in Acrobat Reader +- fixed bug with packing of open type fonts in PDF export +- fixed bug with wrong frames in PDF export + + [WebReport] ++ added event for rendering the custom objects in Web or overriding rendering of standard objects (WebReport.CustomDraw), + works only with enabled WebReport.Layer ++ added support of layered HTML in WebReport (WebReport.Layers) with better WYSIWYG ++ added interface for Online Designer with list of functions +- fixed bug with padding in WebReport +- fixed bug with different localization (WebReport.LocalizationFile) +- fixed bug with width of popup in toolbar menu +- fixed bug with application cookies in Online Designer handlers +- fixed bug with WebReport.XlsxWysiwyg + + [Service] ++ added new methods (GetReportsListByPathXml, GetReportsListXml, GetGearListXml, + GetPreparedReportByID, GetReportXml, PutReport) in FastReport.Service.dll + +Version 2016.1 +--------------- + [Engine] ++ added text outline with possibility to set color, width and style of line (property TextObject.TextOutline) ++ added property TextObject.TextOutline.DrawBehind +- fixed bug with ResetPageNumber with multiple nested GroupHeaderBand +- fixed bug with pointing of objects in Preview when Classic View of bands is enabled in Designer +- fixed bug with exception on printing to disconnected printer + + [Exports] +- fixed CRLF in ODT Export +- fixed bug with out of range exception in PDFExportPictures.cs + + [WebReport] ++ added property WebReport.RefreshTimeout (time for report refresh in seconds, 0 - refresh disabled), + this property may be useful for Dashboard functionality +* improved AJAX communication with server +- fixed bug with download of exports by IE8 under Windows XP +- fixed bug with multiple WebReport object on page +- fixed bug with multiline TextObject in Dialogs + + [Demos] +- fixed bug with x86 in vb Demos/VB.Net/Main/Form1.vb + + +Version 2015.4 +--------------- +* new install +* now Online Report Designer is separate product, all Professional customers have got it for free +* modified Main demo and report examples (\Demos\C#\Main) + + [Engine] ++ added text outline with possibility to set color, width and style of line (property TextObject.TextOutline) +* improved speed of report prepare +* reduced memory consumption +* explained exception on invocation the events in script + + [Designer] ++ added import from DevExpress report template + + [Exports] ++ added export in FastReport Cloud ++ added font color tag parsing in RTF export ++ added property Excel2007Export.Seamless for export table without breaks ++ added exports in PPML (Personalized Print Markup Language) and PostScript - (classes PPMLExport, PSExport) ++ added EmbedPictures property in HTMLExport +* rewrited saving in Excel 2007, Word 2007, Power Point 2007, XPS +* reduced memory consumption in table based exports +* increased speed of export in PDF, Excel 2007 +- fixed bug with shadows in table-based exports +- fixed code duplication in XAML, SVG, PPML, PostScript exports +- fixed URL links in layer HTML export +- export shapes(rectangle, rounded rectangle) in layer HTML export by using CSS + + [WebReport] ++ added property WebReport.XlsxSeamless for export table without breaks in Excel 2007 format ++ added property WebReport.EmbedPictures (embedding pictures in HTML) ++ added property WebReport.DesignerLocale (set locale for Online Report Designer) +- fixed bug with rendering report with enabled property WebReport.SinglePage +- fixed bug with default values of parameters +- fixed bug with pictures with enabled property WebReport.SinglePage +- fixed bug with multiline TextBox +- fixed bug with Azure cookies + + [Online Report Designer] ++ added html5 manifest for off-line working (without iframe) ++ added dialogue controls TextBox, RadioButton, Label, CheckBox, ButtonControl ++ added support of dialogue forms ++ added double-tap for mobile devices ++ added hotkeys help on button "h" +* optimization of report parser +* changed the algorithm of selection of several objects +- fixed bug with prefixes of connections +- fixed bug with change the name of system variable +- fixed bug with Font size for TextObject, +- fixed bug with Padding after load +- fixed bug with duplicate Dictionary in resulting report +- fixed bug with copying of objects +- fixed bug with move objects with hotkeys +- fixed bug with lost connections in report on preview + + +Version 2015.3 +--------------- + [Engine] +- fixed bug with change of application working path on call of Report.Prepare + [Designer] ++ added ability to use FastReport.dll without FastReport.Bars.dll if the designer is not shown +* drop-down list width in relations editor now corresponds with items width +- fixed bug with incorrect display of Japanese characters in Ribbon bar +- fixed bug "Code tab loses focus to events window when typing" +- fixed bug with deleting page after "CTRL+C -> CTRL+V -> DEL -> CLICK" sequence + [WebReport] ++ added support of Windows Azure working environment ++ added properties WebReport.InlineRegistration, WebReport.ShowAfterPrepare ++ added new property WebReport.Debug ++ added ability to save report from On-line Designer through POST query in call-back page (when WebReport.DesignerSavePath is blank) ++ added property WebReport.CloudEnvironmet for enable compatibility with Azure environment ++ added event WebReport.OnSaveDesignedReport for work with saved report after On-line Designer (field FastReport.Web.SaveDesignedReportEventArgs.Stream) ++ added methods for direct export in file from browser WebReport.ExportPdf(), WebReport.ExportOds(), etc. +* improved error reporting +* optimization of memory consumption +- fixed bug with script registration +- fixed bug with file name with spaces in export +- fixed issues with WebReport.RegisterData +- fixed bug with Parameters +- fixed bug with size when height is 100% in Online designer mode +- fixed bug with support of HTTPS on run the call-back page for save the report from On-line Designer +- fixed bug with preview the reports with dialogs from On-line Report Designer +- fixed bug with access to files on debug under Visual Studio with IIS server +- fixed bug with serialization under Web Garden or Web Farm mode + [On-line Report Designer] ++ added tooltip for text objects with content greater than the size ++ added context right mouse button menu on some objects ++ added property in configuration file 'default-tab-menu' for setting default menu tab ++ added properties in configuration file 'show-properties', 'show-events', 'show-rt', 'show-data' for enable or disable panels ++ added change the size of the row or column of the table with the mouse ++ added property in configuration file 'notifications', which change the type of notification ('default' or 'HTML5 Notifications'), or disable ++ added deleting of cell with Totals in context menu of MatrixObject ++ improved read Connections and DataSources from report ++ auto set of DataSource to the band on first drag-n-drop of database field ++ added context menu in Report Tree for objects and bands ++ added context menu for bands ++ added context menu for MatrixObject ++ added new styles for MatrixObject ++ added ability for open blank report without load of default template in WebReport ++ added editor of DataBand, GroupHeaderBand on double-click and 'Edit' in context menu ++ added 'Delete' in context menu of bands ++ added DatePicker for data selection in some fields in properties ++ added new tab "Report" in main menu with items Preview, Page, Save ++ added helper button in right corner with hot-keys information ++ added the popup window for edit the PictureObject ++ added ability in config-data file to enable of progress indicator for save the report (property show-saving-progress) ++ added showing of DataSource Relations +* if the column of DataSource has the neested columns (or neested DataSources), then they show in Data panel +* added context menu for components +* window with delete confirmation of object|band is no longer shown +* added colorpicker plugin for browsers (such as IE) without support of input type color +- fixed bug with filters in data-bands and with html tags in text objects +- fixed bug with invisible icons in on-line Designer +- fixed json syntax error in configuration file +- fixed bug with adding of GroupHeaderBand with DataBand and wrong position +- fixed bug with saving of padding in text objects +- fixed bug with save of Maps +- fixed bug with quotes in report script +- fixed bug with aliases for data sources in expressions + + +Version 2015.2 +--------------- + [Engine] +* updated Japanese resources +- fixed bug with opening frx/fpx files with Unicode signature in begin of file +- fixed bug with CantFindObject exception in report reader in WebMode +- fixed bug with saving empty Excel 2007 files +- fixed RichTextQuality in PDF export + [Designer] ++ added Preview button in File menu in Ribbon toolbar + [WebReport] ++ added export in Prepared report +* page breaks in export to Excel 2007 from WebReport now disabled by default +- fixed bug with exception CantFindObject in WebReport +- fixed bug with preview from designer in ASPX mode +- fixed bug with designer position +- fixed bug with report load in designer in ASPX mode + [Service] ++ added report exporting methods in Service + [On-line Report Designer] ++ added barcodes Aztec, Plessey, GS1-128/EAN-128 ++ added support of hierarchical data arrays with BusinessObjects ++ added Aliases for data sources ++ added copy/paste of TableObject and MatrixObject ++ added enable/disable of rows/columns in tabled objects ++ added MatrixObject ++ added more space between bands ++ band height reduced twice on mobile devices ++ cancel of creating object by ESC ++ added scale of report page with "ctrl + mousewheel" ++ added save of report on keys "ctrl + s" ++ added corners highlight of selected objects ++ added objects SimpleGauge, LinearGauge +* changed panels with properties and events +* improved work with TableObject +* changed design of trees in Report Tree, data and in Expression Editor +* improved of parse of report with error reporting +* the icons are same as in desktop designer +* added tab View change of settings of grid and units +* changes in style of object creation +* changed search algorithm of objects on page with selection +- fixed bug with duplicate component/bands names +- fixed bug with cell deletion in table object +- fixed bug with deletion of child bands in last band of page +- fixed bug with band resize to 0 +- fixed bug with save of included objects in frx report +- fixed bug in TableObject with adding of rows and columns +- fixed bug in TableCell with RowSpan and ColSpan +- fixed bug with table witdh and height +- fixed bug with selecting of non valid fields +- fixed bug with showing of messages when toolbar is hidden +- fixed bug with moving of child cells of table beside a left side +- fixed bug with adding of new object on the mobile devices +- fixed bug with create object on scaled page +- fixed bug with create object inside a cell of table +- fixed bug with positioning of LineObject in Firefox + + +Version 2015.1 +--------------- ++ added on-line HTML5 Report Designer (beta) in WebReport - available in Trial and Professional editions + (\FastReport.Net\Source\FastReport.Web\WebReportDesigner) ++ added new Ribbon toolbar in Report Designer ++ added new interface styles in Designer: Office 2010 (Silver), Office 2010 (Blue), + Office 2010 (Black), Visual Studio 2010, Visual Studio 2012 (Light), Office 2013 ++ added RESTful service in FastReport.Service.dll ++ added new Aztec, Plessey barcode ++ added GS1-128 (formerly known as UCC-128 or EAN-128) barcode. Currently supports only numeric values. ++ added new properties in WebReport: DesignReport, DesignScriptCode, DesignerPath, DesignerSavePath, + DesignerSaveCallBack, PrintInBrowser, SinglePage ++ added property CSVExport.NoQuotes that disables quotation marks in CSV export +* updated demos \Demos\C#\MvcRazor,\Demos\C#\WCFWebService,\Demos\C#\WCFWebClient +* updated japanese, greek resources +- fixed bug with export in PDF/A +- fixed bug in WebReport with 'Access to the path \FastReport\ is denied' +- fixed bug with memory leak in PDF export +- fixed bug with Gauge object in Word 2007 export +- reduced memory consumption in WebReport +- fixed bug with caching of report results by browser in WebReport + + +Version 2014.4 +--------------- ++ added an AutoSave feature in a Designer, you can enable it and set a time interval in View-Options-Saving ++ added picture editor in a Designer, now pictures can be resized, cropped and modified to grayscale or monochrome ++ added "Enable Code Completion" checkbox in Code Page Options in a Designer ++ added selection of multiple objects with CTRL key in a Designer ++ added proportionally scaling of objects with SHIFT in a Designer ++ added selection of barcode type on a toolbar in a Designer ++ added text editor for barcodes ++ added support of encodings Windows-1251, cp866 in QR-code object ++ added transparency of the image in PDF export ++ added compliance of PDF/A-2a,b and PDF/A-3a,b in PDF export ++ added new property PDFExport.PdfACompliance + (can be selected from PdfAStandard.PdfA_2a, PdfAStandard.PdfA_2b, PdfAStandard.PdfA_3a, PdfAStandard.PdfA_3b) ++ added options for selection of PDF/A compliance, Jpeg quality, Initial Zoom in PDF export dialog ++ added support of dialog objects ListBoxControl, CheckedListBoxControl in WebReport +* improved speed of PDF export with transparent images (now it three times faster) +- fixed bug in Designer with save from code editor (save icon is not active after code change) +- fixed bug with band break +- fixed bug with single page export in PDF + + +Version 2014.3 +--------------- ++ added QR-code editor in designer ++ added import from List & Label report template ++ added vertical linear gauge ++ added simple gauge ++ added vertical simple gauge ++ added new properties AllowExpression, Brackets in Barcode object ++ added new property Inverted in linear gauge ++ increased customization options of scale in simple gauge ++ added new property DefaultZoom in PDFExport ++ added new property DefaultPage in PDFExport ++ added WebMatrix demo (\Demos\C#\WebMatrix) ++ added CSV export in WebReport ++ added processing of event handlers Load, FormClosing and FormClosed in DialogPage in WebReport ++ added MonthCalendar object in WebReport +* updated German, French, Japanese resources +- fixed bug with scaling of linear gauge +- fixed bug with spaces in file names in exports in WebReport +- fixed bug with metafile size in RTF export +- fixed bug with line spacing in RTF export +- fixed bug with HTML-tags in RTF export +- fixed bug with landscape pages in Word 2007 (docx) export +- fixed bug with selecting all text (Ctrl+A) in the object inspector in designer +- fixed bug with refresh of DateTimePicker in WebReport + + +Version 2014.2 +--------------- ++ added connector Google BigQuery \Extras\Connections\FastReport.GoogleBigQuery ++ added an example of Google BigQuery access \Demos\C#\GoogleBigQuery ++ added save to Box cloud from preview ++ added support of line-spacing in RTF and DOCX exports +* increased speed of database access (up to 6 times faster) +* changed output of language names in an interface language selection dialog +* updated German, Japanese resources +- fixed bug with fonts in SVG export +- fixed bug with default message in ProgressBar window +- fixed bug with AVG function in Map editor +- fixed bug in font packing subsystem (in some rare cases the OS/2 table was overlapped by other tables) +- fixed bug with artifact lines in RoundRectangle with big Curve value +- fixed bug with ParagraphOffset in RTF export +- fixed bug with hints in WebReport toolbar + + +Version 2014.1 +--------------- ++ added compatibility with Fips Algorithm Policy (with limitations: encryption of PDF export, encryption of report) ++ added support of PDF/A in PDF export ++ added export in SVG ++ added support html tags , , and to RTF export. ++ added localization in WebReport (property WebReport.LocalizationFile) ++ added custom icons and background in WebReport toolbar ++ added new demo of localization and customization in Webreport (Demos\C#\MvcCustomization\) +* added default action to the Print buttion in WebReport when WebReport.PrintInPdf = false; +- fixed bug with paragraphs in RTF & Word2007 exports +- fixed bug when inserting gauge +- fixed bug with bookmarks in PDF export +- fixed bug with an additional empty page in the export to the MS Word 2007 +- fixed bug with borders in XAML export +- fixed bug with rendering of ASP.NET WebReport control in design-time +- fixed bug with showing of invisible dialog pages in WebReport +- fixed the line spacing in a layered export to Word 2007 +- fixed bug with incorrect server address in save to FTP server + + +Version 2013.4 +--------------- ++ added multi tabs preview in WebReport ++ added export in XAML ++ added linear gauge object in designer ++ added demo report for linear gauge (Gauge.frx) +* show band name in the total editor form's bandcombobox +- fixed bug in PDF export with extra large bitmaps +- fixed bug with rendering of ASP.NET WebReport control in design-time +- fixed bug with PrintOn.FirstPage | PrintOn.LastPage +- fixed bug with digit count in numbers in exports +- fixed bug with invisible objects (out of page bounds) in table-based exports +- fixed bug with linespacing in layered export in Word2007 + + +Version 2013.3 +--------------- ++ added new object SparklineObject (compact chart based on MSChartObject) ++ added save to FTP from preview ++ added Windows Communication Foundation (WCF) Service Library FastReport.Service.dll ++ added demo of Windows Service \Demos\C#\WCFWindowsService with WCF Service Library ++ added demo of WCF web-service \Demos\C#\WCFWebService ++ added demo of WCF Windows client \Demos\C#\WCFClient ++ added demo of WCF web-client \Demos\C#\WCFWebClient ++ added new methods WebReportGlobals.ScriptsWOjQuery() and WebReportGlobals.StylesWOjQuery() for disable jQuery in WebReport (MVC Razor) ++ added property WebReport.ExternalJquery (default: false) for enable or disable jQuery in WebReport (ASPX) ++ added WeekOfYear function ++ added Slovenian localization +* report.RegisterData(ds) replace existing datasources +- fixed bug with the re-export to PDF from code +- fixed bug in PDF export with print from Acrobat Reader with hyperlinks in document +- fixed bug in Excel 2007 export with styles for multi-page report template +- fixed bug in Excel 2007 export with empty page name +- fixed bug in PDF export with double frame borders +- fixed bug in Maps with file permissions + + +Version 2013.2 +--------------- ++ added support of ASP.NET MVC framework (ASPX, Razor) in WebReport ++ added new demos using WebReport in MVC - \Demos\C#\MvcDemo, \Demos\C#\MvcRazor ++ added save in cloud Google Drive from preview ++ added Greek localization +* IMPORTANT! changed extension of WebReport handler (from FastReport.Export.aspx to FastReport.Export.axd), + please check existing web.config +- fixed bug in Dropbox export when Application Key and Secret +- fixed bug in Dropbox with NullReferenceException +- fixed bug with encoding when importing dDase file of Map in DBX export +- fixed excel numeric formats bug +- fixed bug with broken formats after matrix optimization in Excel 2007 export +- fixed bug with font transparency of empty cells in Excel 2007 export +- fixed bug with cell duplication on merged cells in Excel 2007 export +- fixed bug with embedding of monospaced fonts in PDF and XPS exports +- fixed bugs in WebReport with styles +- fixed bug with WebReport.RepotDone +- fixed bug with MasterPages in WebReport +- fixed bug with printing chart legend +- fixed bug in PictureObject + + +Version 2013.1 +--------------- ++ added dialogs in WebReport (some controls and features are in development now) ++ added Map object ++ added map editor in designer ++ added save in cloud Dropbox from preview ++ added save in cloud SkyDrive from preview ++ added AJAX in WebReport ++ added new customizable toolbar in WebReport ++ added AdjustSpannedCellsWidth property in Matrix and Table objects ++ added Wysiwyg property in Word 2007 export ++ added PrintOn.SinglePage to the PrintOn property (doublepass must be enabled) ++ added anchors support in the PDF export ++ added Armenian localization ++ added Label property to chart series +- fixed bug when saving report to .cs/.vb file +- fixed drag&drop bug in the code editor +- fixed bug in the TXT export +- fixed bug in the Word 2007 export in layer mode +- fixed bug with number format in Excel exports +- fixed bug in VB.Net code generator + + +Version 1.9 +--------------- +* approved compatibility with Visual Studio 2012 ++ added QR Code barcode ++ added support of UNC paths in WebReport storage (web.config) ++ added Exportable property to all report objects ++ added Config.PreviewSettings.PreviewOpened event ++ added BackPage property to the report page ++ added WebReport.XmlExcelDataOnly property +* improved WebReport +* improved TableObject performance +* improved printing of data in the headers/footers +- fixed bug with subreport & databand columns +- fixed bug with subreport & band that can break +- fixed bug with multiple preview tabs +- fixed bug with Config.DesignerSettings.ApplicationConnection +- fixed bug with pictures in PDF export +- fixed bug with TableObject border when exporting to some formats +- fixed bug in WebReport with multiple instances in one page +- fixed bug in WebReport with cleanup of internal storage +- fixed bug with data filtering with NumericUpDown control + + +Version 1.8 +--------------- ++ added Web Farms and Web Gardens support in WebReport (example \Demos\C#\WebFarm\Web.Config) ++ added HoverStyle property to all report objects ++ added WebReport.CachePriority property +* improved WebReport using ControlState instead of ViewState, increased speed and stability +- fixed bug when opening RDL-file from recent files list +- fixed bug with empty subreport +- fixed bug in Crystal Reports import plugin (kind of some sections converted incorrectly) +- fixed bug in Crystal Reports import plugin (report creation date converted incorrectly) +- fixed bug in Crystal Reports import plugin (PaperOrientation property converted incorrectly) +- fixed bug in Crystal Reports import plugin (incorrectly converted paper size for formats B4 and B5) +- fixed bug in Crystal Reports import plugin (incorrectly converted groups) +- fixed bug with subreport and KeepTogether +- fixed bug with report parameters and undo/redo +- fixed bug with null thickness and Dash or Dot style of lines in the PDF export +- fixed bug with two-pass report and business object datasource +- fixed bug with printing/exporting interactive reports +- fixed bug when invoking WebReport component designer +- fixed padding when exporting to RTF/Word2007 +- fixed bug in PDF export (images and encryption) +- fixed bug with images when editing a prepared report +- fixed number format when exporting to Excel + + +Version 1.7 +--------------- ++ added Config.DesignerSettings.PageAdded event ++ added Config.PreviewSettings.AllowPrintToFile property ++ added Report.MaxPages property ++ added import plugin from Crystal Reports ++ added MatrixObject.KeepCellsSideBySide property ++ added outline in the PDF export ++ added properties TableRow.KeepRows, TableColumn.KeepColumns ++ added TableObject.ManualBuildAutoSpans property ++ added ability to hide some objects (export filters, report objects) by the code: RegisteredObjects.FindObject(typeof(PDFExport)).Enabled = false +* improved report file cache +* improved .fpx loading speed/memory usage +* CheckBoxObject is available in the Basic edition +- fixed bug with rendering of text in WebReport when TextObject.WordWrap = false; +- fixed memory leak when exporting to PDF with embedded fonts +- fixed bug with band break +- fixed bug with information fields in the encrypted PDF file +- fixed bug with page borders and fill in the PDF export +- fixed bug in RichObject +- fixed bug in the report preview +- fixed bug when saving the report as a class +- fixed bug with some image types +- fixed bug with text break +- fixed bug with events +- fixed RichObject height issue +- fixed bug in PDF export (missing pictures when viewing under MAC OS or iOS) +- fixed bug with grid alignment +- fixed bug with band's CanBreak and outline +- fixed bug when exporting to metafile +- fixed bug with unary minus with totals +- fixed bug with watermark + + +Version 1.6 +--------------- ++ added Report.InitialPageNumber property ++ added Romanian and Hungarian localization ++ added TextObject.ParagraphOffset property ++ added ability to save template to RDL format (Report Definition Language) ++ added PreviewControl.UseBackColor property ++ added IsNull function to check DB columns for null ++ added Thai localization ++ added import of WritingMode property when import template from RDL format ++ added saving of TextObject.Angle property when saving template in RDL format ++ added FNC1 symbol encoding in the Datamatrix barcode (use &1; sequence) ++ added Open Document Text, XPS, DBF exports in WebReport +* added ability to replace built-in query builder +* changed work of exports and printing in WebReport, now we use handlers in "web.config" +- fixed "Scale" print mode +- fixed bug with RichObject and CanShrink +- fixed bug in TextObject break +- fixed bug in TextObject.TabWidth +- fixed bug when saving the prepared report with UseFileCache flag +- fixed RichObject multi-thread issues +- fixed bug when opening some saved to RDL reports in the Report Builder +- fixed bug in the Group Expert +- fixed bug with ChartObject filter when saving the report as a C#/VB.Net class +- fixed bug when converting boolean expressions in the RDL import +- fixed bug with internal manifest in ODF export + + +Version 1.5 +--------------- ++ added import from RDL format (Report Definition Language) ++ added XPS export ++ added Word 2007 (docx) export ++ added DataBand.ResetPageNumber property ++ added properties PDFExport.JpegQuality and PDFExport.RichTextQuality (default value is 90 in both) ++ added Slovak localization ++ added support for custom functions in the matrix totals ++ added calculation of percents in the Matrix object ++ added TotalsFirst option for the matrix totals ++ added property HTMLExport.Layers and a checkbox in the dialog of the HTML export (enable layers in HTML file) ++ added Config.ReportSettings.ReportPrinted event ++ added DataLoaded event to all dialog controls that support data filtering ++ added inline printing from browser in WebReport ++ added property WebReport.PrintInPdf (enable for PDF printing or disable for browser printing) ++ added properties WebReport.PrintWindowWidth, WebReport.PrintWindowHeight ++ added properties WebReport.ShowWord2007Export, WebReport.DocxMatrixBased +* DbfExport properties FieldNamesFileName, LoadFieldNamesFromFile replaced with FieldNames property +* improved TextObject.Duplicates +- fixed text object's html tags + "underline" font style +- fixed "keep with data" + multicolumn databand +- fixed bug with paper size +- fixed bug when rendering several side-by-side Table objects +- fixed bug with report outline +- fixed bug in RTF export with similar pictures +- fixed bug with CheckedListBoxControl + cascaded filter +- fixed bug with subreport and multi-column band +- fixed bug with FirstTabOffset +- fixed bug with static query parameters and master-detail report +- fixed bug in the PowerPoint export +- fixed bug with Matrix and EvenStyle + +Version 1.4 +--------------- ++ added Visual Studio 2010 support ++ added support of font subsets in PDF export ++ added SQL CE connection ++ added HierachyRow# system variable which returns the row number like "1.2.1" in the hierarchical report ++ added support for table schema in OleDB and ODBC connectors ++ added NumToWordsEs function for spanish ++ added Dutch localization ++ added Ukrainian localization ++ added Config.ReportSettings.DefaultPaperSize property ++ added HTMLExport.Print property (show the browser's print dialog when html document is opened, available only in "single page" mode) ++ added HTMLExport.PageBreaks property (insert hard page breaks in "single page" mode) ++ added ForceLoadData property to all datasources ++ added band.FirstRowStartsNewPage property ++ added Parameter.Description property ++ added Config.TempFolder property ++ added report.ReportInfo.PreviewPictureRatio property ++ added DataBand.PrintIfDatasourceEmpty property ++ added ChildBand.PrintIfDatabandEmpty property ++ added Config.DesignerSettings.Restrictions.DontCreateData restriction to disable the "Data|Add Data Source..." menu +- fixed bug with Row# and StartNewPage +- fixed bug with Nullable custom functions +- fixed bug with bands which CanBreak and StartNewPage properties set to true +- fixed bug in HTML export (skip of styles when many pages exported in "single page" mode) +- fixed bug with registration of plugins +- fixed bug with dialog controls attached to a calculated column +- fixed bug in the query builder (wrong join type) +- fixed dialogue forms controls order +- fixed bug with Dock != None and CanGrow, CanShrink +- fixed bug in HTML export +- fixed bug with "Save printer in the report file" option +- fixed bug in Chart object (ClearValues method does not work) +- fixed bug in the Data Wizard +- fixed bug in totals when the "Convert null values" option is off +- fixed bug with saving report as VB class +- fixed outline in a hierarchical report +- fixed bug in the Chart object (when trying to group unsorted data by months) +- fixed bug in the Data Wizard under Vista OS +- fixed bug with embedded TTC fonts in PDF export +- fixed bug when exporting TableObject with invisible rows +* improved "Data Wizard" dialog (loading the table list is much faster now) +* designer command DesignerControl.cmdData replaced with cmdAddData and cmdChooseData commands +* reduced the resulting file size in HTML export +* improved performance with very deep business objects +* tables in the "Data Wizard" window are sorted now, "Sort tables" button removed +* small improvements in the Data window (ability to move up/down the report parameters using Ctrl+Up/Down keys) +* the installer is now automatically adds all FastReport.Net assemblies to the GAC +* assembly FastReport.dll split into two parts - FastReport.dll, FastReport.Web.dll + + +Version 1.3 +--------------- ++ added monochrome TIFF export ++ added Excel 2007 export ++ added PowerPoint 2007 export ++ added MHT (web-archive) export ++ added DBF export ++ added ODBC connection ++ added Oracle ODP.NET connection ++ added ability to print copy name on the printed page (see "Features/Print Copy Names" report) ++ added built-in support for cascaded data filtering (DetailControl property). See the "Dialogs/Cascaded Data Filtering" report ++ added "apply" flags to the style elements ++ added band's context menu items for easy creation of child band and detail data band ++ added TextObject.NullValue property (to replace null values with specified string) ++ added TextObject.ProcessAt property (allows to print totals in the header) ++ added the ImageExport.MonochromeTiffCompression property ++ added HTMLExport.WidthUnits, HTMLExport.HeightUnits properties (allows selection between Pixel and Percent) ++ added the Message-HTML (MHT, MHTML, web-archive) mode in HTML export (HTMLExport.Format property) ++ added Config.DesignerSettings.FilterConnectionTables event ++ added DataSourceBase.Load event to load detail rows in code ++ added Croatian localization ++ added Persian localization ++ added new demo projects in the Demos\VB.Net folder ++ added "Script/Sort Group By Total" report +* improved "Keep with data" mechanism +- fixed bug with Matrix and Table objects (Visible property is not working) +- fixed bug with MS SQL connection (can't use tables in schemas other than dbo.*) +- fixed bug in Medium Trust mode +- fixed bug in business objects (duplicate datasource names) +- fixed bug in dialogue forms (switch to the dialog page may throw an exception) +- fixed bug in query builder +- fixed bug with OutlineExpression and RepeatOnEveryPage +- fixed bug with KeepChild +- fixed bug with exporting barcodes +- fixed bug in dialogue controls (Enabled & data filtering) +- fixed bug with RepeatOnEveryPage band with child +- fixed Matrix&Table bug (infinite loop if there is not enough space to print a column) +- fixed bug in PDF export (file structure) +- fixed designer exception when copying the total +- fixed exception when closing the designer +- fixed bug with disabling the navigator in HTML export +- fixed bug with size of WebReport in percents +- fixed PDF export (digits substitution in Arabic) +- fixed bug with sorting on a calculated column +- fixed bug in the PDF export (export of band with zero height and non-solid fill) +- fixed bug in the text/expression editor (drag&drop items from the data tree) +- fixed bug in the Excel 2007 export +- fixed bug in the printer settings dialog (printer properties) +- fixed bug with Outline when several reports are joined into one +- fixed search in the preview +- fixed bug in the group when there is no data to display + + +Version 1.2 +--------------- ++ added Functions in the "Data" window ++ added new report objects - CellularTextObject, ZipCodeObject ++ added report's Email settings (see Report|Options... menu, "Email" tab) ++ added multi-frame TIFF export ++ added RC4 128-bit encryption in PDF export ++ added "Visible" flag in the highlight editor. Now the highlight condition may hide the object ++ added TextObject's AutoShrink, AutoShrinkMinSize properties ++ added DataBand's RowCount property ++ added ReportPage.ManualBuild event ++ added PictureObject.Angle property ++ added AfterData event to all report objects ++ added CommandTimeout property to all connections ++ added export of watermarks in HTML format ++ added export of underlined TextObject (Underlines = true) in PDF format ++ added Swedish, Chinese (Traditional), Czech, Turkish, Spanish localizations ++ added new demo reports in the "Report Objects" category ++ added new demo projects in the Demos folder +* POSSIBLE BREAKING CHANGE! changes in the business objects engine. See details here: +http://www.fast-report.com/en/forum/index.php?showtopic=5695 +* improved performance (loading and running reports with lot of objects) +* you can use Anchor property of report objects when printing hierarchical bands +* changed default extension of resulting file in Excel(XML) export from *.xls to *.xml +* changes in Excel(XML) export - added export of numeric values +* changes in Matrix object +* improvements in hierarchical reports (header/footers, totals) +- fixed bug in VB.Net report language +- fixed bug in Viewer.exe (exception if window is too small) +- fixed bug with selecting Report in the ReportTree in VS design-mode +- fixed bug when using WebReport with MasterPage +- fixed bug with RTL in HTML export and WebReport +- fixed bug with RTL in RichText(rtf) export +- fixed bug in MS Chart (border width is not scaled properly when printing) +- fixed bug with preview window's "Search" dialog +- fixed bug with Nullable column type +- fixed bug in PDF export when exporting complex fills +- fixed bug with export different frame styles in XML and RichText formats +- fixed bug when editing prepared report +- fixed printing of CellularTextObject +- fixed bug with dialogue form +- fixed bug with Entity Framework in ASP.NET mode +- fixed bug in PageSetup dialog in preview +- fixed bug with rendering side-by-side Matrix objects +- fixed bug in Label wizard +- fixed bug with send email via MAPI + + +Version 1.1 +--------------- ++ added new UI styles - Office2007Blue, Office2007Silver, Office2007Black, VistaGlass. +You can choose the designer and the preview form appearance using the EnvironmentSettings +component (its UIStyle property) ++ added CSV export ++ added Text/Dot-matrix export ++ added Designer.exe and Viewer.exe end-user applications ++ added DesignerControl control ++ added the "Format Painter" command to the standard toolbar ++ added two new system variables - "TotalPage#" and "Page#" ++ added design-time support for BindingSource ++ added the property "RTFExport.ImageFormat" ++ added HideIfNoData, NoDataText properties to BarcodeObject ++ added new demo project - MdiDesigner ++ added "Table/Fit Dynamic Table To Page" report ++ added "Dialogs/Cascaded Data Filtering" report ++ added "Interactive Reports/Interactive Matrix With Chart" report ++ added "Dialogs/Labels With Dialog" report ++ added Chinese (simplified) localization ++ added Arabic localization ++ added export of transparent colors and pictures (alpha blending) in PDF format ++ added export of lines, arrows, rectangle shapes, shadows in PDF format ++ added export of page watermarks in PDF format ++ added export of dash-dot patterns in PDF format ++ added export of horizontal and vertical lines, rectangle shapes, shadows in Excel(xml), +RichText, OpenOffice and HTML formats +* enhanced support of Unicode in PDF export +* MSChart object moved to main FastReport.dll, no need to plug-in it anymore +* FastReport.Dock library now replaced with FastReport.Bars +- fixed bug with designer in Vista 64-bit +- fixed bug with subreport & breaked band +- fixed Matrix object bug (break spanned cell) +- fixed bug with creating an event handler for multiple selected objects +- fixed bug in PDF export with right border of table object +- fixed focus lost when closing the preview window +- fixed error with text justification +- fixed error in data window (when you pass bad DataRelation object) +- fixed bug in VS IDE (designer silently closes after you close the preview) +- fixed bug with clipboard keys in TextObject in-place edit mode +- fixed bug with MS SQL guid-type parameter +- fix in business objects processing +- fixed bug with subreport's PrintOnParent +- fixed issue with printing static & dynamic TableObjects on the same band +- fixed bug with report parameters +- fixed bug with SQL parameters +- fixed duplicate table names issue +- fixed TableRow, TableColumn "Visible" property +- fixed Matrix "Count" function +- fixed bug with TableObject break +- fixed bug with relations and empty data columns +- fixed rotation of text in Excel(xml), RichText, OpenOffice, HTML and PDF export +- fixed bug with subreport and "RepeatOnEveryPage" flag +- fixed bug with inserting items of "generic" data type from "Data" window to a script +- fixed bug with incorrect escaping of "Script" node content in the .frx file +- fixed bug with delays in the designer when selecting a lot of objects +- fixed bug with PictureObject.Tile +- fixed bug with page breaks and margins in XML export +- fixed bug with export of different border lines in Excel(xml), RichText, +OpenOffice, HTML and PDF export +- fixed bug with underlined and strikeout text in PDF export +- fixed bug with borders of TableObject in PDF export +- fixed bug with document title in PDF export + + +Version 1.0.163 +--------------- +Initial release diff --git a/tools/fastreport-designer/license.rtf b/tools/fastreport-designer/license.rtf new file mode 100644 index 00000000..908e0c84 --- /dev/null +++ b/tools/fastreport-designer/license.rtf @@ -0,0 +1,92 @@ +{\rtf1\ansi\deff0{\fonttbl{\f0 \fswiss Helvetica;}{\f1 Courier;}} +{\colortbl;\red255\green0\blue0;\red0\green0\blue255;} +\widowctrl\hyphauto + +{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs36 FastReport .NET\par} +{\pard \ql \f0 \sa180 \li0 \fi0 {\b Copyright \u169? 2007-2024 Fast Reports Inc.}\par} +{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 END-USER LICENSE AGREEMENT\par} +{\pard \ql \f0 \sa180 \li0 \fi0 SINGLE USER SOFTWARE LICENSE AND LIMITED WARRANTY TO THE PRODUCT AND COMPONENTS.\par} +{\pard \ql \f0 \sa180 \li0 \fi0 {\b IMPORTANT - READ CAREFULLY}: This End-User License Agreement ("Agreement") is a legal agreement between Fast Reports Inc. ("Fast Reports") and you, software developer ("THE DEVELOPER END USER", {\b "Licensee" or "You"} and collectively with Fast Reports, the {\b "Parties"} and each, a {\b "Party"}) for the software product as further defined below as \u8220"Product\u8221" identified above, including any software, media, and accompanying on-line or printed documentation contained in the installation file.\par} +{\pard \ql \f0 \sa180 \li0 \fi0 By installing, copying, or otherwise using the PRODUCT, you agree to be bound by the terms of this Agreement. If you do not agree to the terms of this Agreement, you may not use the PRODUCT.\par} +{\pard \ql \f0 \sa180 \li0 \fi0 The PRODUCT is nonexclusively licensed, not sold.\par} +{\pard \ql \f0 \sa180 \li0 \fi0 This license agreement is a legal agreement that covers your use of the software and service titled \u8220"FastReport .NET\u8221" ({\b "Software"}), in all forms of code, including, without limitation, its source code, all successor upgrades, revisions, patches, enhancements, fixes, modifications, copies, additions or maintenance releases of the Software, if any, licensed to you by Fast Reports (collectively, the {\b "Updates"}), provided that the Updates shall not include a new subsequent releases of the Software bearing a new first numeral such as 6.0 or 7.0 ({\b "New Releases"}) but include any minor revisions of the Software version indicated by a change in the decimal numeral, such as 5.3 or 5.4, and related user documentation and explanatory materials or files provided in written, \u8220"online\u8221" or electronic form ({\b "Documentation"} and together with the Software and Updates, (hereinafter referred to as {\b "Product"}) For the avoidance of doubt, by way of example, but not exclusion, if a specific file is provided by Fast Reports in Object Code only, the Source Code for such files shall not be deemed a part of the Software provided by Fast Reports to you. For purposes hereof {\b "Source Code"} shall mean the human-readable form of the computer programming code and related system documentation including all comments and any procedural code such as job control language and {\b "Object Code"} shall mean computer programs assembled or compiled in magnetic or electronic binary form on software media, which are readable and usable by machines, but not generally readable by humans without reverse-assembly, reverse-compiling, or reverse-engineering. The Product is Copyright \u169? 2007-2024 Fast Reports Inc. You may use the Product and distribute it according to this License Agreement. If you do not agree with these terms, please remove the Product from your system. By incorporating the Product in your work or distributing the Product to others you implicitly agree to these license terms. The Product is, and remains, Copyright \u169? 2007-2024 Fast Reports Inc., with exception of specific copyrights as noted in the individual source files.\par} +{\pard \ql \f0 \sa180 \li0 \fi0 RIGOROUS ENFORCEMENT OF INTELLECTUAL PROPERTY RIGHTS: If the licensed right of use for this PRODUCT is purchased by you with any intent to reverse engineer, decompile, exploitation or unauthorized transfer of any Fast Reports intellectual property and trade secrets, to include any exposed methods or source code where provided, no licensed right of use shall exist, and any product(s) created as a result shall be judged illegal by definition of all applicable law. Any sale or resale of intellectual property or created derivatives so obtained will be prosecuted to the fullest extent of all local, federal and international law.\par} +{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 1. UNREGISTERED TRIAL VERSION\par} +{\pard \ql \f0 \sa180 \li0 \fi0 The Product unregistered trial version, may be freely distributed, with exceptions noted below, provided that the distribution package is not modified. No person or company may charge a fee for the distribution of the Product without written permission from Fast Reports. The Product unregistered trial version may not be bundled or distributed with any other package without written permission of the copyright holder.\par} +{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 2. GRANT OF LICENSE\par} +{\pard \ql \f0 \sa180 \li0 \fi0 If you register the Product, Fast Reports grants you the non-exclusive and non-transferable license to store, load, install, execute, and display (to {\b "Use"}) the specified edition of the Software having specific functionalities as set forth at: {\field{\*\fldinst{HYPERLINK "https://www.fast-report.com/en/fast-report-net-editions-compare"}}{\fldrslt{\ul +https://www.fast-report.com/en/fast-report-net-editions-compare +}}} + ({\b "Product Editions"}) on a specified number of computers, workstations or other electronic devices for which the software was designed (each a {\b "Client Device"}) and by specific number of permitted Named Users (as such term defined below) pursuant to the terms and conditions of this Agreement ({\b "License"}) and you hereby agree and accept such License as follows:\par} +{\pard \ql \f0 \sa180 \li0 \fi0 {\b 2.1. Trial License}. If you have received, downloaded and/or installed the specific Product Edition under a trial license, you are hereby granted an evaluation license for the specified Fast Reports\u8217' Product Edition and you may Use the Product only for evaluation purposes and only during the single applicable evaluation period of thirty (30) days (the {\b "Trial Period"}), unless otherwise indicated, from the date of the initial installation. Any use of the Product for other purposes or beyond the applicable Trial Period is strictly prohibited, provided however that, subject to the restrictions contained herein, you may copy and distribute a trial version of the Product as provided in Section 1 hereof. The Fast Reports shall not be required to provide any support and Updates, for the Trial Version of the Product. During the Trial Period, the Fast Reports provides no warranty and assumes and bears no liability whatsoever for the Trial Version of the Product.\par} +{\pard \ql \f0 \sa180 \li0 \fi0 {\b 2.2. Single License}. If the specific Product Edition is licensed under Single License unless a multiple Licenses are purchased by Licensee, Licensee is allowed to Use a single (1) copy of the Product licensed under the Single License by a single (1) Named User on one (1) Client Device owned, rented or leased by Licensee, provided that if you licensed Enterprise Product Edition as set forth on Fast Reports Site, you may use single (1) copy of the Product licensed under the Single License by a single (1) Named User on a single web server. \par} +{\pard \ql \f0 \sa180 \li0 \fi0 {\b 2.3. Team License}. If the specific Product Edition is licensed under Team License unless a multiple Licenses are purchased by Licensee, Licensee is allowed to use up to eight (8) copies of the Product licensed under the Team License by up to (4) Named Users by one copy for each on two (2) Client Devices owned, rented or leased by Licensee, provided that, the Client Devices maybe located in different geographical areas, having unique addresses. Provided that if you licensed Enterprise Product Edition as set forth on Fast Reports Site you may use up to eight (8) copies of the Product licensed under the Team License by up to four (4) Named Users by one copy for each of (4) Named Users and a single build server.\par} +{\pard \ql \f0 \sa180 \li0 \fi0 {\b 2.4. Site License}. If the specific Product Edition is licensed under Site License terms specified in the applicable Product invoicing or packaging, Licensee may install and Use the Product on any number of Client Devices by any number of Named Users within a single (1) building owned or leased by Licensee, having a single geographical location and address. Provided that if you licensed Enterprise Product Edition as set forth on Fast Reports Site, you may Use the Product on a single web server as long as the server is located in the same geographical location as named users. Additionally, the individual licensing terms may specify other terms, conditions and restrictions of Using the Product.\par} +{\pard \ql \f0 \sa180 \li0 \fi0 {\b 2.5. Academic License} . If the specific Product Edition is licensed under the Educational License you are hereby granted a license to Use the Product solely for Educational Purpose. For purposes of this Agreement, \u8220"Educational Purpose\u8221" shall mean that you may Use of the Product solely for non-commercial study or research that is undertaken solely in furtherance of educational process, whether or not completed by a student in pursuit of an educational degree, certificate or diploma or as used by teachers or facilitates teaching of a class, and all administrative staff, faculty and employees, of any college, university, trade school or other school (\u8220"{\b Educational Institution}\u8221").\par} +{\pard \ql \f0 \sa180 \li0 \fi0 {\b 2.6. Source Code License}. If you obtained Professional or Enterprise Edition of the Product as set forth at: {\field{\*\fldinst{HYPERLINK "https://www.fast-report.com/en/fast-report-net-editions-compare"}}{\fldrslt{\ul +https://www.fast-report.com/en/fast-report-net-editions-compare +}}} +, Fast Reports may grant you certain rights to Software provided in Source Code as follows (the {\b "Source Code License"}): \par} +{\pard \ql \f0 \sa180 \li0 \fi0 i) Provided you have purchased a license to a part of the Software supplied in Source Code form, you may make modifications, enhancements, derivative works and/or extensions to that licensed Source Code provided to you under the terms set forth in this Section 2.4. \par} +{\pard \ql \f0 \sa180 \li0 \fi0 ii) While the Fast Reports do not claim any ownership rights in the Results, in the event you develop any modifications, enhancements, derivative works and/or extensions to the licensed Source Code (the {\b "Derivatives"}), either independently or jointly with the Fast Reports, such Derivatives and all rights associated therewith will be the exclusive property of the Fast Reports. \par} +{\pard \ql \f0 \sa180 \li0 \fi0 iii) You shall not grant, either expressly or by implication, any rights, title, interest, or licenses to any Derivatives to any third party. You will, however, be entitled to use such Derivatives under the terms set forth in this Agreement. You hereby assign all right, title and interest in and to such Derivatives to the licensed Source Code to the Fast Reports. \par} +{\pard \ql \f0 \sa180 \li0 \fi0 iv) You also agree to execute, acknowledge and deliver to the Fast Reports all documents and instruments and do all things and actions Fast Reports deems necessary or desirable, at no cost to you but at Fast Reports\u8217' expense, to enable the Fast Reports to obtain and secure such Derivatives anywhere in the World. You agree to secure all necessary rights and obligations from relevant employees or third parties in order to satisfy the above obligations. You may not distribute the Fast Reports\u8217' Source Code, or any Derivatives, in Source Code form. \par} +{\pard \ql \f0 \sa180 \li0 \fi0 v) Under no circumstances may any portion of the Source Code be distributed, disclosed or otherwise made available to any third party without the express, prior written consent of the Fast Reports. Under no circumstances may the Source Code be used in whole or in part, as the basis for creating a product that provides the same, or substantially the same, functionality as any of the Fast Reports\u8217' product. You will not take any action, or assist or otherwise aid anyone else in taking any action that would, in any way, limit the Fast Reports\u8217' independent development, sale, assignment, licensing or use of its Software or any Derivatives thereof. You will not modify or delete, in whole or part, any copyright, trade secret, proprietary, confidential or other notice thereon or therein, without the express, prior written consent of the Fast Reports. \par} +{\pard \ql \f0 \sa180 \li0 \fi0 vi) FastReport.Bars, FastReport.Editor (bars with buttons and editor with highlighting) - are third party components, licensed for using and redistribution without sources. They have no influence on Software key functionality and are provided as compiled only.\par} +{\pard \ql \f0 \sa180 \li0 \fi0 vii) YOU UNDERSTAND, ACKNOWLEDGE AND AGREE THAT SOURCE CODE IS LICENSED \u8220"AS IS,\u8221" AND THAT THE FAST REPORTS DO NOT PROVIDE ANY TECHNICAL SUPPORT FOR SOURCE CODE.\par} +{\pard \ql \f0 \sa180 \li0 \fi0 {\b 2.7.} Licensee may install and Use the Product for the sole purposes of designing, developing, testing, and deploying application programs which it creates. Licensee may install a copy of the Product on a computer and freely move the Product from one computer to another, provided that Licensee is the only individual using the Product. If you are an entity, you must designate one individual within your organization ("Named User") to have the right to use the Product. \par} +{\pard \ql \f0 \sa180 \li0 \fi0 {\b 2.8.} You may write and compile your own application programs using the Product contained in this package. All copies of the Product you so write and distribute must include a Fast Reports, Inc. copyright notice, or a valid copyright notice of your own. \par} +{\pard \ql \f0 \sa180 \li0 \fi0 {\b 2.9.} You may make one copy of the Product for backup or archival purposes or copy the Product to a single permanent storage medium, provided you keep the original solely for backup or archival purposes.\par} +{\pard \ql \f0 \sa180 \li0 \fi0 {\b 2.10.} Fast Reports will provide technical support as set forth at: {\field{\*\fldinst{HYPERLINK "https://support.fast-report.com/"}}{\fldrslt{\ul +https://support.fast-report.com/ +}}} + and notifications on the Upgrades for the Product, with no additional payment within one (1) year from license ordering or re enrollment time.\par} +{\pard \ql \f0 \sa180 \li0 \fi0 {\b 2.11.} The registered Product may not be rented or leased, but may be permanently transferred, if the person receiving it agrees to terms of this license. If the software is an Update, the transfer must include the Update and all previous versions.\par} +{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 3. ENGAGING IN ANY OF THE ACTIVITIES LISTED BELOW WILL TERMINATE THE SOFTWARE LICENSE. IN ADDITION TO SOFTWARE LICENSE TERMINATION, FAST REPORTS INC. MAY PURSUE CRIMINAL, CIVIL, OR ANY OTHER AVAILABLE REMEDIES.\par} +{\pard \ql \f0 \sa180 \li0 \fi0 {\b 3.1.} Distribution of any files contained in this software package, other than the runtime packages explicitly listed above, including but not limited to .CS, .\u1057?SPROJ, HTM, HTML, JS and design-time packages.\par} +{\pard \ql \f0 \sa180 \li0 \fi0 {\b 3.2.} Modification, decompilation, disassembly, reverse engineering or translation of the Product.\par} +{\pard \ql \f0 \sa180 \li0 \fi0 {\b 3.3.} Removal of proprietary notices, labels or marks from the Product or Product Documentation.\par} +{\pard \ql \f0 \sa180 \li0 \fi0 {\b 3.4.} Inclusion of FastReport Designer or FastReport Online Designer in a development environment, framework, report generator systems without purchasing and receiving additional license for use of FastReport Designer or FastReport Online Designer for each Named User.\par} +{\pard \ql \f0 \sa180 \li0 \fi0 {\b 3.5.} Creation of an application that does not differ materially from the Product.\par} +{\pard \ql \f0 \sa180 \li0 \fi0 {\b 3.6.} Development and/or distribution of a stand-alone reporting application based on the Product.\par} +{\pard \ql \f0 \sa180 \li0 \fi0 {\b 3.7.} Creation of an application (whether it be freeware, shareware or a commercial product) which competes directly or indirectly with the Product unless specifically agreed to by Fast Reports.\par} +{\pard \ql \f0 \sa180 \li0 \fi0 {\b 3.8.} Distribution of the PRODUCT, in any format, to other users for development or application compilation purposes. Specifically, if DEVELOPER END USER creates a component using the PRODUCT as a constituent component, DEVELOPER END USER may NOT distribute the component created with the PRODUCT to users to be used at design time and/or for ANY development purposes. This restriction applies to "design time" within IDE (Microsoft Visual Studio and others). \par} +{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 4. REDISTRIBUTABLES\par} +{\pard \ql \f0 \sa180 \li0 \fi0 PRODUCT may include certain files ("Redistributables") intended for distribution by DEVELOPER END USER to the users of software applications created by DEVELOPER END USER. Redistributables include, for example, files identified in printed or on-line documentation as redistributable files. In any event, the redistributables for the PRODUCT are only those files specifically designated as such by Fast Reports Subject to terms and conditions of this Agreement, DEVELOPER END USER may reproduce and distribute exact copies of the redistributables, provided that such copies are made from the original copy of the PRODUCT or the copy transferred to a single hard disk. Copies of redistributables may only be distributed with and for the sole purpose of executing application programs permitted under this Agreement that you have created using the PRODUCT. Under no circumstances may any copies of redistributables be distributed separately.\par} +{\pard \ql \f0 \sa180 \li0 \fi0 The following files are considered redistributables under this Agreement:\par} +{\pard \ql \f0 \sa180 \li0 \fi0 FastReport.dll\line FastReport.Web.dll\line FastReport.Bars.dll\line FastReport.Editor.dll\line FastReport.Service.dll\line FastReport.Compat.dll\line FastReport.DataVisualization.dll\line Language files (*.frl)\par} +{\pard \ql \f0 \sa180 \li0 \fi0 THE DEVELOPER END USER IS NOT AUTHORIZED TO REDISTRIBUTE ANY OTHER FILE CONTAINED IN THE PRODUCT.\par} +{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 5. AGREEMENT PERTAINING TO THE RELEASE OF SOURCE CODE BY FAST REPORTS, INC. TO LICENSEE\par} +{\pard \ql \f0 \sa180 \li0 \fi0 {\b 5.1. Use Of Source Code}. Licensee shall not utilize the Source Code for the creation of a product or any software application (whether it be freeware, shareware or a commercial product) which competes directly or indirectly with Product. In addition, Licensee will not disclose the Source Code itself, nor the implementations discovered therein, to any party involved in the creation of software which competes directly or indirectly with Product.\par} +{\pard \ql \f0 \sa180 \li0 \fi0 {\b 5.2. Distribution Of Source Code.} Licensee shall not distribute the Product. Specifically this includes all .cs, .html, and .js files which Fast Reports has provided.\par} +{\pard \ql \f0 \sa180 \li0 \fi0 {\b 5.3. Changes To Source Code.} Fast Reports reserves the right to change any part of the Source Code in future versions of the Product. These changes may include the removal of classes, properties and methods or the creation of new classes, properties and methods.\par} +{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 6. TECHNICAL SUPPORT FOR SOURCE CODE\par} +{\pard \ql \f0 \sa180 \li0 \fi0 Fast Reports will not provide support for modifications, authorized or not authorized Licensee makes to the Source Code. Licensee assumes full responsibility for supporting any code or application which results from such modification. Licensee will not hold Fast Reports liable and hold Fast Reports harmless for any claims arising from, directly or indirectly, any changes or modifications made to the Product\u8217's Source Code, including changes which Licensee has made based on advice or suggestions provided by Fast Reports. Licensee must clearly indicate at the start of each source code file that the user operates a modified version of the Product.\par} +{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 7. TERM AND TERMINATION\par} +{\pard \ql \f0 \sa180 \li0 \fi0 {\b 7.1.} The license granted under this Agreement will continue in force until terminated, as set forth herein. If Licensee fails to pay any monies or provide any services due in connection with the Product, or violates any term or condition of this Agreement, Fast Reports or its agent may terminate this License immediately by giving notice to Licensee. Licensee is responsible for providing valid contact information to Fast Reports. If no valid contact information is available for Licensee in Fast Reports' records, Fast Reports is not required to give notice of termination to Licensee. Licensee also may terminate this License voluntarily by giving notice of termination to Fast Reports and destroying or returning to Fast Reports all copies of all or any part of the Product and related user documentation in Licensee's possession or under Licensee's control.\par} +{\pard \ql \f0 \sa180 \li0 \fi0 {\b 7.2. Effect Of Termination.} Immediately upon termination, Licensee will destroy or return to Fast Reports all copies of all or any part of the Product in Licensee's possession or under Licensee's control. Licensee will have no right to keep or use any copy of the Product and related user documentation for any purpose after termination of this Agreement.\par} +{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 8. TRANSFER OF PRODUCT\par} +{\pard \ql \f0 \sa180 \li0 \fi0 Licensee shall not have the right to transfer this Product license, without the prior written consent of Fast Reports.\par} +{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 9. CONFIDENTIALITY\par} +{\pard \ql \f0 \sa180 \li0 \fi0 The parties to this Agreement will take all necessary steps to ensure that any material or information identified by either party to be confidential ("Confidential Information"), which the other party has possession or knowledge of in connection with this Agreement, will not be disclosed to others, in whole or in part, without the prior written permission of the other party. Neither party will have the obligation to maintain the confidentiality of any data or information which (i) was in the receiving party's lawful possession prior to receipt from the other party, (ii) is later lawfully obtained by the receiving party from a third party having no obligation of secrecy to the other party, (iii) is available to the public through no act or failure of the receiving party, (iv) is readily available in the public domain, or (v) is independently developed by the receiving party. The receiving party will immediately return or destroy any or all Confidential Information that has been provided to it by the other party, upon the other party's request.\par} +{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 10. PRODUCT WARRANTY\par} +{\pard \ql \f0 \sa180 \li0 \fi0 {\b 10.1. WARRANTIES}. EXCEPT FOR ANY WARRANTY, CONDITION, REPRESENTATION OR TERM TO THE EXTENT TO WHICH THE SAME CANNOT OR MAY NOT BE EXCLUDED OR LIMITED BY LAW APPLICABLE TO YOU IN YOUR JURISDICTION, THE PRODUCT, INCLUDING, WITHOUT LIMITATION, ASSOCIATED SOURCE CODE IS PROVIDED \u8220"AS-IS\u8221" WITHOUT ANY WARRANTY WHATSOEVER AND THE FAST REPORTS MAKES NO PROMISES, REPRESENTATIONS OR WARRANTIES, WHETHER EXPRESSED OR IMPLIED, WHETHER BY STATUTE, COMMON LAW, CUSTOM, USAGE OR OTHERWISE, REGARDING OR RELATING TO THE PRODUCT OR CONTENT THEREIN OR TO ANY OTHER MATERIAL FURNISHED OR PROVIDED TO YOU PURSUANT TO THIS AGREEMENT OR OTHERWISE. YOU ASSUME ALL RISKS AND RESPONSIBILITIES FOR SELECTION OF THE PRODUCT TO ACHIEVE YOUR INTENDED RESULTS, AND FOR THE INSTALLATION OF, USE OF, AND RESULTS OBTAINED FROM THE PRODUCT. THE FAST REPORTS MAKES NO WARRANTY THAT THE PRODUCT WILL BE ERROR FREE OR FREE FROM INTERRUPTION OR FAILURE, OR THAT IT IS COMPATIBLE WITH ANY PARTICULAR HARDWARE OR SOFTWARE. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, FAST REPORTS DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO IMPLIED WARRANTIES OF MERCHANTABILITY, NON-INFRINGEMENT OF THIRD PARTY RIGHTS, INTEGRATION, SATISFACTORY QUALITY OR FITNESS FOR ANY PARTICULAR PURPOSE WITH RESPECT TO THE PRODUCT AND THE ACCOMPANYING WRITTEN MATERIALS OR THE USE THEREOF. SOME JURISDICTIONS DO NOT ALLOW LIMITATIONS ON IMPLIED WARRANTIES, SO THE ABOVE LIMITATION MAY NOT APPLY TO YOU. YOU HEREBY ACKNOWLEDGE THAT THE PRODUCT MAY NOT BE OR BECOME AVAILABLE DUE TO ANY NUMBER OF FACTORS INCLUDING WITHOUT LIMITATION PERIODIC SYSTEM MAINTENANCE, SCHEDULED OR UNSCHEDULED, ACTS OF GOD, TECHNICAL FAILURE OF THE SOFTWARE, TELECOMMUNICATIONS INFRASTRUCTURE, OR DELAY OR DISRUPTION ATTRIBUTABLE TO VIRUSES, DENIAL OF SERVICE ATTACKS, INCREASED OR FLUCTUATING DEMAND, AND ACTIONS AND OMISSIONS OF THIRD PARTIES. THEREFORE, THE FAST REPORTS EXPRESSLY DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY REGARDING SYSTEM AND/OR SOFTWARE AVAILABILITY, ACCESSIBILITY, OR PERFORMANCE. THE FAST REPORTS DISCLAIMS ANY AND ALL LIABILITY FOR THE LOSS OF DATA DURING ANY COMMUNICATIONS AND ANY LIABILITY ARISING FROM OR RELATED TO ANY FAILURE BY THE FAST REPORTS TO TRANSMIT ACCURATE OR COMPLETE INFORMATION TO YOU. \par} +{\pard \ql \f0 \sa180 \li0 \fi0 {\b 10.2. LIMITED LIABILITY; NO LIABILITY FOR CONSEQUENTIAL DAMAGES.} YOU ASSUME THE ENTIRE COST OF ANY DAMAGE RESULTING FROM YOUR USE OF THE PRODUCT AND THE INFORMATION CONTAINED IN OR COMPILED BY THE PRODUCT, AND THE INTERACTION (OR FAILURE TO INTERACT PROPERLY) WITH ANY OTHER HARDWARE OR SOFTWARE WHETHER PROVIDED BY THE FAST REPORTS OR A THIRD PARTY. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT WILL THE FAST REPORTS OR ITS SUPPLIERS OR FAST REPORTS BE LIABLE FOR ANY DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, LOSS OF GOODWILL, WORK STOPPAGE, HARDWARE OR SOFTWARE DISRUPTION IMPAIRMENT OR FAILURE, REPAIR COSTS, TIME VALUE OR OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OR INABILITY TO USE THE PRODUCT, OR THE INCOMPATIBILITY OF THE PRODUCT WITH ANY HARDWARE SOFTWARE OR USAGE, EVEN IF SUCH PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. IN NO EVENT WILL FAST REPORTS\u8217' TOTAL LIABILITY TO YOU FOR ALL DAMAGES IN ANY ONE OR MORE CAUSE OF ACTION, WHETHER IN CONTRACT, TORT OR OTHERWISE EXCEED THE AMOUNT PAID BY YOU FOR THE PRODUCT. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY TO THE EXTENT THAT APPLICABLE LAW PROHIBITS SUCH LIMITATION. FURTHERMORE, BECAUSE SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES, THE ABOVE LIMITATION MAY NOT APPLY TO YOU.\par} +{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 11. REFUNDS\par} +{\pard \ql \f0 \sa180 \li0 \fi0 In the event that Fast Reports refunds any amounts paid by Licensee for the Product, pursuant to this Agreement , Licensee acknowledges and agrees that this Agreement and the Product license hereunder are terminated, and Licensee shall terminate any use, display or otherwise control of the Product, Source Code or related Documentation.\par} +{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 12. OWNERSHIP OF PRODUCT\par} +{\pard \ql \f0 \sa180 \li0 \fi0 You agree that the Product and the authorship, systems, ideas, methods of operation, documentation and other information contained in the Product, are proprietary intellectual properties and/or the valuable trade secrets of the Fast Reports or its suppliers and/or Fast Reports and are protected by civil and criminal law, and by the law of copyright, trade secret, trademark and patent of the United States, other countries and international treaties. You may use trademarks only insofar as to identify printed output produced by the Product in accordance with accepted trademark practice, including identification of trademark owner\u8217's name. Such use of any trademark does not give you any rights of ownership in that trademark. The Fast Reports own and retain all right, title, and interest in and to the Product, including without limitations any error corrections, enhancements, Updates or other modifications to the Software, whether made by the Fast Reports or any third party, and all copyrights, patents, trade secret rights, trademarks, and other intellectual property rights therein. Your possession, installation or use of the Product does not transfer to you any title to the intellectual property in the Product, and you will not acquire any rights to the Product except as expressly set forth in this Agreement. All copies of the Product made hereunder must contain the same proprietary notices that appear on and in the Product. Except as stated herein, this Agreement does not grant you any intellectual property rights in the Product and you acknowledge that the License, as further defined herein, granted under this Agreement only provides you with a right of limited use under the terms and conditions of this Agreement.\par} +{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 13. ASSIGNMENT AND DELEGATION\par} +{\pard \ql \f0 \sa180 \li0 \fi0 Licensee may not assign this Agreement or any rights under it and may not delegate any duties under this Agreement without Fast Reports' prior written consent. Any attempt to assign or delegate without that consent will be void.\par} +{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 14. GENERAL\par} +{\pard \ql \f0 \sa180 \li0 \fi0 Licensee shall be responsible for and shall pay, and shall reimburse Fast Reports on request if Fast Reports is required to pay, any sales, use, value added (VAT), consumption or other tax (excluding any tax that is based on Fast Reports' net income), assessment, duty, tariff, or other fee or charge of any kind or nature that is levied or imposed by any governmental authority on the Product.\par} +{\pard \ql \f0 \sa180 \li0 \fi0 All rights not expressly granted here are reserved by Fast Reports Inc. LICENSEE HAS READ THIS AGREEMENT AND UNDERSTANDS AND AGREES TO ALL OF ITS TERMS AND CONDITIONS.\par} +{\pard \ql \f0 \sa180 \li0 \fi0 {\b 14.1. Governing Law; Jurisdiction and Venue.} To the extent permitted by federal law, the laws of the Commonwealth of Virginia (excluding its choice of law rules) will apply in the absence of applicable federal law. To the extent permitted by law, the provisions of this Agreement shall supersede any provisions of the Uniform Commercial Code as adopted or made applicable to the Products in any competent jurisdiction. This Agreement shall not be governed by the United Nations Convention on Contracts for the International Sale of Goods, the application of which is expressly disclaimed and excluded. For Government End Users, any terms and conditions that are in conflict with Federal Acquisition Regulations (FARS) or other written government policies that are generally applicable to Commercial software and/or hardware purchases shall be superseded by the government regulations. This Agreement shall be governed by and interpreted and enforced in accordance with the laws of the United State of America without reference to conflict of laws, and dispute resolution shall take place in a forum, and within the time period, prescribed by applicable federal law. \par} +{\pard \ql \f0 \sa180 \li0 \fi0 {\b 14.2. Period for Bringing Actions.} No action, regardless of form, arising out of the transactions under this Agreement, may be brought by either party hereto more than one (1) year after the cause of action has occurred, or was discovered to have occurred, except that an action for infringement of intellectual property rights may be brought within the maximum applicable statutory period.\par} +{\pard \ql \f0 \sa180 \li0 \fi0 {\b 14.3. Entire Agreement; Severability; No Waiver.} This Agreement is the entire agreement between you and supersedes any other prior agreements, proposals, communications or advertising, oral or written, with respect to the Product or to subject matter of this Agreement {\i provided} that the Fast Reports and you may limit, modify or changes the applicability of the terms of this Agreement by a prior, contemporaneous or subsequent written agreement by referencing this Section of the Agreement and expressly providing for such limitation, modification or changes. You acknowledge that you have read this Agreement, understand it and agree to be bound by its terms. If any provision of this Agreement is found by a court of competent jurisdiction to be invalid, void, or unenforceable for any reason, in whole or in part, such provision will be more narrowly construed so that it becomes legal and enforceable, and the entire Agreement will not fail on account thereof and the balance of the Agreement will continue in full force and effect to the fullest extent permitted by law. No waiver of any breach of any provisions of this Agreement will constitute a waiver of any prior, concurrent or subsequent breach and no waiver will be effective unless made in writing.\par} +{\pard \ql \f0 \sa180 \li0 \fi0 Copyright \u169? 2007-2024 Fast Reports Inc. \par} +{\pard \ql \f0 \sa180 \li0 \fi0 {\field{\*\fldinst{HYPERLINK "https://www.fast-report.com/"}}{\fldrslt{\ul +https://www.fast-report.com +}}} +\par} +} diff --git a/tools/fastreportcli-net-core-skia/FastReportCliGenerator/publish/linux/FastReportCliGenerator b/tools/fastreportcli-net-core-skia/FastReportCliGenerator/publish/linux/FastReportCliGenerator index d6e4bf71..d4cd47ad 100755 Binary files a/tools/fastreportcli-net-core-skia/FastReportCliGenerator/publish/linux/FastReportCliGenerator and b/tools/fastreportcli-net-core-skia/FastReportCliGenerator/publish/linux/FastReportCliGenerator differ diff --git a/tools/fastreportcli-net-core-skia/FastReportCliGenerator/publish/windows/FastReportCliGenerator.exe b/tools/fastreportcli-net-core-skia/FastReportCliGenerator/publish/windows/FastReportCliGenerator.exe index 7fc1f494..4799f509 100755 Binary files a/tools/fastreportcli-net-core-skia/FastReportCliGenerator/publish/windows/FastReportCliGenerator.exe and b/tools/fastreportcli-net-core-skia/FastReportCliGenerator/publish/windows/FastReportCliGenerator.exe differ diff --git a/turbo.json b/turbo.json index 7e489191..fa7f8810 100644 --- a/turbo.json +++ b/turbo.json @@ -5,11 +5,15 @@ "**/.env.*local" ], "tasks": { - "lint": { - "outputs": [] + "check": { + "dependsOn": [ + "^check" + ] }, - "lint:fix": { - "outputs": [] + "lint": { + "dependsOn": [ + "^lint" + ] }, "dev": { "cache": false, diff --git a/uecko-erp.code-workspace b/uecko-erp.code-workspace index a6a83db3..8bdbf776 100644 --- a/uecko-erp.code-workspace +++ b/uecko-erp.code-workspace @@ -1,10 +1,10 @@ { - "folders": [ - { - "path": "." - } - ], - "settings": { - "chatgpt.openOnStartup": true - } -} \ No newline at end of file + "folders": [ + { + "path": "." + } + ], + "settings": { + "chatgpt.openOnStartup": true + } +}